import { FocusEventHandler, ChangeEventHandler } from 'react';
import Input from '../input.js';
import { InferComponentProps } from '../types.js';
declare const createZipCodeValidator: ({ isRequired, requiredErrorMessage, minLengthErrorMessage, nineDigitLengthErrorMessage, }?: {
    isRequired?: boolean | undefined;
    requiredErrorMessage?: string | undefined;
    minLengthErrorMessage?: string | undefined;
    nineDigitLengthErrorMessage?: string | undefined;
}) => (zip: string) => [string] | void;
declare type ZipCodeInputProps = InferComponentProps<typeof Input> & Parameters<typeof createZipCodeValidator>[0] & {
    name: string;
    onBlur?: FocusEventHandler<HTMLInputElement>;
    onChange?: ChangeEventHandler<HTMLInputElement>;
    invalidOnTouched?: boolean;
    restrictToFiveDigits?: boolean;
};
export declare const ZipCodeInput: ({ name, onBlur, onChange, invalidOnTouched, isRequired, requiredErrorMessage, minLengthErrorMessage, nineDigitLengthErrorMessage, restrictToFiveDigits, ...props }: ZipCodeInputProps) => JSX.Element;
declare const _default: import("styled-components").StyledComponent<({ name, onBlur, onChange, invalidOnTouched, isRequired, requiredErrorMessage, minLengthErrorMessage, nineDigitLengthErrorMessage, restrictToFiveDigits, ...props }: InferComponentProps<import("styled-components").StyledComponent<({ autoFocus, children, className, label, hasSpaceForErrors, helperIcon, helperLinkAction, helperText, isInvalid, isStatic, value, required, type, errors, lede, touched, placeholder, childrenBeforeErrors, innerRef, tooltipText, ...props }: {
    label?: string | undefined;
    hasSpaceForErrors?: boolean | undefined;
    helperIcon?: import("../index.js").IconName | undefined;
    helperLinkAction?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
    helperText?: string | undefined;
    isStatic?: boolean | undefined;
    errors?: string[] | undefined;
    lede?: import("react").ReactNode;
    touched?: boolean | undefined;
    childrenBeforeErrors?: import("react").ReactNode;
    innerRef?: import("react").MutableRefObject<HTMLInputElement | undefined> | undefined;
    tooltipText?: string | undefined;
} & InferComponentProps<import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, {
    isInvalid?: boolean | undefined;
}, never>>) => JSX.Element, import("styled-components").DefaultTheme, {}, never>> & {
    isRequired?: boolean | undefined;
    requiredErrorMessage?: string | undefined;
    minLengthErrorMessage?: string | undefined;
    nineDigitLengthErrorMessage?: string | undefined;
} & {
    name: string;
    onBlur?: FocusEventHandler<HTMLInputElement> | undefined;
    onChange?: ChangeEventHandler<HTMLInputElement> | undefined;
    invalidOnTouched?: boolean | undefined;
    restrictToFiveDigits?: boolean | undefined;
}) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
export default _default;
