import { BaseMemberEntity } from '../models/base-member.entity';
import { MemberPasswordHistoryEntity } from '../models/member-password-history.entity';
import { Repository } from 'typeorm';
export declare class PasswordValidatorService<MemberEntity extends BaseMemberEntity = BaseMemberEntity> {
    private readonly passwordShouldIncludeUppercase;
    private readonly passwordShouldIncludeLowercase;
    private readonly passwordShouldIncludeDigit;
    private readonly passwordShouldIncludeSpecialCharacter;
    private readonly passwordMinLength;
    private readonly passwordPolicyRegExp;
    private readonly passwordHistoryLimit;
    private readonly memberPasswordHistoryRepo;
    private readonly passwordAgeLimitInDays;
    constructor(passwordShouldIncludeUppercase: boolean, passwordShouldIncludeLowercase: boolean, passwordShouldIncludeDigit: boolean, passwordShouldIncludeSpecialCharacter: boolean, passwordMinLength: number, passwordPolicyRegExp: RegExp | undefined, passwordHistoryLimit: number | undefined, memberPasswordHistoryRepo: Repository<MemberPasswordHistoryEntity>, passwordAgeLimitInDays: number | undefined);
    generateValidPassword(): string;
    shouldUpdatePassword<T extends MemberEntity = MemberEntity>(member: T): boolean;
    validatePassword(password: string, memberId?: string): Promise<boolean>;
}
