import { ChangeEventHandler, FocusEventHandler } from 'react';
import { Input } from '../input.js';
import { InferComponentProps } from '../types.js';
export declare const createPhoneNumberValidator: ({ isRequired, requiredErrorMessage, lengthErrorMessage, }?: {
    isRequired?: boolean | undefined;
    requiredErrorMessage?: string | undefined;
    lengthErrorMessage?: string | undefined;
}) => (phoneNumber: string) => [string] | void;
type PhoneNumberInputProps = InferComponentProps<typeof Input> & Parameters<typeof createPhoneNumberValidator>[0] & {
    name: string;
    onBlur?: FocusEventHandler<HTMLInputElement>;
    onChange?: ChangeEventHandler<HTMLInputElement>;
    invalidOnTouched?: boolean;
};
/** This input must be nested within Formik.  It then ties it's validation and formatting through the `useField` hook
 *
 * @example
 * ```tsx
 * <Formik
 *   initialValues={{
 *     phone: ''
 *   }}
 * >
 *   <PhoneNumberInput
 *     label="Phone number"
 *     name="phone"
 *     isRequired
 *   />
 * </Formik>
 * ```
 *
 * @deprecated This component is deprecated and will be removed in a future release. Avoid using it in new code.
 */
export declare const PhoneNumberInput: ({ name, isRequired, onBlur, onChange, requiredErrorMessage, lengthErrorMessage, ...props }: PhoneNumberInputProps) => import("react/jsx-runtime").JSX.Element;
export {};
