import type { AdminUser } from '../../../shared/contracts/shared';
import '@strapi/types';
/**
 * Resolve the reset-password token lifetime, in milliseconds, from config.
 * Falls back to {@link DEFAULT_RESET_PASSWORD_TOKEN_EXPIRES_IN} for unset/invalid values.
 */
declare const getResetPasswordTokenTTL: () => number;
/**
 * Create a reset-password token with an expiry and persist it on the user.
 * Shared by the CE and EE auth services so the expiry behaviour can't drift.
 * @returns the generated reset-password token
 */
declare const assignResetPasswordToken: (userId: AdminUser["id"]) => Promise<string>;
/**
 * Reject a reset-password token that has expired — or that has no expiry at all
 * (tokens issued before this was introduced) — clearing the stale token so it
 * cannot be retried. Shared by the CE and EE auth services. (GH#25711)
 */
declare const assertResetPasswordTokenIsValid: (user: AdminUser) => Promise<void>;
declare const _default: {
    checkCredentials: ({ email, password }: {
        email: string;
        password: string;
    }) => Promise<(AdminUser | null)[] | (boolean | {
        message: string;
    } | null)[]>;
    validatePassword: (password: string, hash: string) => Promise<boolean>;
    hashPassword: (password: string) => Promise<string>;
    forgotPassword: ({ email }?: {
        email: string;
    }) => Promise<any>;
    resetPassword: ({ resetPasswordToken, password }?: {
        resetPasswordToken: string;
        password: string;
    }) => Promise<AdminUser>;
};
export default _default;
export { getResetPasswordTokenTTL, assignResetPasswordToken, assertResetPasswordTokenIsValid };
//# sourceMappingURL=auth.d.ts.map