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