export type Cleanup = () => void; export type PasswordStrengthLabel = "very-weak" | "weak" | "fair" | "good" | "strong"; export interface PasswordGeneratorOptions { length?: number; lowercase?: boolean; uppercase?: boolean; numbers?: boolean; symbols?: boolean; excludeSimilar?: boolean; } export interface PasswordInputProps { id?: string; name?: string; label?: string; placeholder?: string; helperText?: string; value?: string; defaultValue?: string; disabled?: boolean; readOnly?: boolean; required?: boolean; autoComplete?: "new-password" | "current-password" | "off"; minLength?: number; maxLength?: number; pattern?: string; requireLowercase?: boolean; requireUppercase?: boolean; requireNumber?: boolean; requireSymbol?: boolean; minCategories?: number; forbidRepeats?: boolean; forbidSequences?: boolean; forbidSpaces?: boolean; forbiddenCharsRegex?: string; commonPasswords?: string[]; showStrength?: boolean; strengthLabels?: [string, string, string, string, string]; strongThreshold?: number; showToggle?: boolean; revealOnHold?: boolean; showCopy?: boolean; showRequirements?: boolean; showGenerator?: boolean; generatorOptions?: PasswordGeneratorOptions; checkPwned?: boolean; minLengthForPwned?: number; debounceMs?: number; onChange?: (value: string) => void; onBlur?: (value: string) => void; onFocus?: (value: string) => void; onValidate?: (isValid: boolean, message?: string) => void; onStrengthChange?: (score: number, label: PasswordStrengthLabel) => void; onToggleVisibility?: (visible: boolean) => void; onCopy?: (copied: boolean) => void; onGenerate?: (password: string) => void; onEnter?: (value: string) => void; onEscape?: () => void; ariaLabel?: string; ariaDescribedBy?: string; invalid?: boolean; className?: string; variant?: "outlined" | "filled"; size?: "sm" | "md" | "lg"; fullWidth?: boolean; } export declare function createPasswordInput(el: HTMLElement, props?: PasswordInputProps): { destroy: Cleanup; };