import { default as React } from 'react';
export interface PasswordStrength {
/** Strength score (0-4) */
score: 0 | 1 | 2 | 3 | 4;
/** Strength label */
label: 'Very Weak' | 'Weak' | 'Fair' | 'Good' | 'Strong';
/** Color for strength indicator */
color: string;
}
/** Tracking event data for password input interactions */
export interface PasswordInputTrackingData {
/** Action performed */
action: 'input' | 'visibility_toggle';
/** Optional custom label for tracking */
trackingLabel?: string;
/** Optional component context */
componentName?: string;
}
export interface PasswordInputProps {
/** Input value */
value: string;
/** Change handler */
onChange: (value: string) => void;
/** Placeholder text */
placeholder?: string;
/** Show strength indicator */
showStrength?: boolean;
/** Show requirements checklist */
showRequirements?: boolean;
/** Minimum length requirement */
minLength?: number;
/** Require uppercase */
requireUppercase?: boolean;
/** Require lowercase */
requireLowercase?: boolean;
/** Require numbers */
requireNumbers?: boolean;
/** Require special characters */
requireSpecial?: boolean;
/** Disabled state */
disabled?: boolean;
/** Additional className */
className?: string;
/** Optional callback for tracking password input interactions */
onTrack?: (data: PasswordInputTrackingData) => void;
/** Custom label for tracking */
trackingLabel?: string;
/** Component name for tracking context */
componentName?: string;
}
/**
* PasswordInput Component
*
* Password input with show/hide toggle and strength indicator.
* Displays requirements checklist and validates password strength.
*
* @example
* ```tsx
*
* ```
*
* @example
* ```tsx
*
* ```
*/
export declare const PasswordInput: React.FC;
//# sourceMappingURL=password-input.d.ts.map