import Ajv from 'ajv';

type GeneratePasswordStrengthValidatorOptions = {
    minUpper?: number;
    upperCharacters?: string;
    minLower?: number;
    lowerCharacters?: string;
    minDigit?: number;
    digitCharacters?: string;
    minSpecial?: number;
    specialCharacters?: string;
    minLength?: number;
};
declare const defaultUpperCharacters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
declare const defaultLowerCharacters = "abcdefghijklmnopqrstuvwxyz";
declare const defaultDigitCharacters = "0123456789";
declare const defaultSpecialCharacters = " !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
declare const generatePasswordStrengthValidator: ({ minUpper, minLower, minDigit, minSpecial, minLength, upperCharacters, lowerCharacters, digitCharacters, specialCharacters, }?: GeneratePasswordStrengthValidatorOptions) => (password: string) => boolean;
type AddStrongPasswordFormatParams = {
    ajvInstance: Ajv;
    passwordCriteria: GeneratePasswordStrengthValidatorOptions;
};
declare const addStrongPasswordFormat: ({ ajvInstance, passwordCriteria, }: AddStrongPasswordFormatParams) => void;

export { addStrongPasswordFormat as default, defaultDigitCharacters, defaultLowerCharacters, defaultSpecialCharacters, defaultUpperCharacters, generatePasswordStrengthValidator };
