declare const DEFAULT_PASSWORD_RULES: readonly ["length", "upper", "lower", "number", "symbol"]; export type PasswordRule = (typeof DEFAULT_PASSWORD_RULES)[number]; /** * Every visible and screen-reader string, each optional (gh#1191). Unset entries come from the * kit's own ja / en / vi catalogue for the active locale, so most apps pass nothing. */ export type PasswordStrengthLabels = { weak?: string; fair?: string; strong?: string; /** The neutral line shown while nothing has been typed (gh#1247). */ empty?: string; /** Checklist line per rule. */ rules?: Partial>; /** Screen-reader prefix before a met rule (e.g. "Passed: "). */ passed?: string; /** Screen-reader prefix before an unmet rule (e.g. "Not yet: "). */ failed?: string; /** The polite live-region sentence, given the strength word. */ announcement?: (strength: string) => string; }; export type PasswordStrengthProps = { value: string; /** * The length rule's threshold (gh#1193), so the checklist matches the server's policy, e.g. 12 for * Laravel `Password::min(12)`. Default 8. It drives the check, the score and the rule text. */ minLength?: number; rules?: PasswordRule[]; showChecklist?: boolean; labels?: PasswordStrengthLabels; }; export type PasswordStrengthReturn = { score: 0 | 1 | 2 | 3 | 4; checks: Record; }; export declare function usePasswordStrength(value: string, rules?: PasswordRule[], minLength?: number): PasswordStrengthReturn; export declare function PasswordStrength({ value, minLength, rules, showChecklist, labels, }: PasswordStrengthProps): import("react").JSX.Element; export {};