import { InputHTMLAttributes, Ref } from 'react'; export interface PhoneInputProps extends Omit, 'onChange' | 'value'> { /** * Controlled value. `null` or `undefined` represents empty. * * **Format by mode:** * - **US mode** (`isInternational={false}`): 10-digit string (e.g., `"2025550123"`) * - **International mode** (`isInternational={true}`): E.164 format with `+` (e.g., `"+12025550123"`) */ value?: string | null; /** * onChange fires with a normalized value: * - **US mode** (`isInternational={false}`): digits-only, 10 characters max (e.g., `"2025550123"`) * - **International mode** (`isInternational={true}`): E.164 format with leading `+` (e.g., `"+12025550123"`) * - Returns `undefined` when input is empty * * ⚠️ **Important**: Switching modes changes output format. Ensure backend validation handles both. */ onChange?: (value?: string) => void; /** When true, enables international entry (+country code, spaced groups, no strict length cap). Defaults to false (US). */ isInternational?: boolean; className?: string; inputClassName?: string; } export declare const PhoneNumberInput: { ({ value, onChange, isInternational, className, inputClassName, ref: forwardedRef, onBlur: externalOnBlur, ...props }: PhoneInputProps & { ref?: Ref; }): import("react/jsx-runtime").JSX.Element; displayName: string; }; //# sourceMappingURL=phone-input.d.ts.map