import { TextInputValidationRefProps } from "../../utils/types";
import { IOColors } from "../../core/IOColors";
import { IOIcons } from "../icons";
export type ValidationWithOptions = {
    isValid: boolean;
    errorMessage: string;
};
export declare const TextInputValidation: import("react").ForwardRefExoticComponent<Omit<{
    placeholder: string;
    value: string;
    onChangeText: (value: string) => void;
    accessibilityLabel?: string;
    accessibilityHint?: string;
    textInputProps?: import("../../utils/textInput").RNTextInputProps;
    inputType?: import("../../utils/types").InputType;
    status?: "disabled" | "error" | "initial" | "focused";
    icon?: IOIcons;
    rightElement?: import("react").ReactNode;
    counterLimit?: number;
    accessibilityAnnounceLimitReached?: string;
    bottomMessage?: string;
    bottomMessageColor?: IOColors;
    disabled?: boolean;
    isPassword?: boolean;
    onBlur?: () => void;
    onFocus?: () => void;
    autoFocus?: boolean;
} & import("../../utils/types").TestID, "status" | "rightElement" | "bottomMessageColor" | "isPassword"> & {
    /**
     * This function can return either a `boolean` or a `ValidationWithOptions` object.
     * If a `boolean` is returned and the field is not valid, the value of the errorMessage prop will be displayed/announced.
     * If a `ValidationWithOptions` object is returned and the field is not valid, the value displayed/announced will be the one contained within this object.
     */
    onValidate: (value: string) => boolean | ValidationWithOptions;
    /**
     * In case of a dynamic `errorMessage`, use the `onValidate` function with a `ValidationWithOptions` object as the return value to ensure that screen readers announce the correct value.
     */
    errorMessage: string;
    /**
     * Determines the validation mode. If "onBlur", validation occurs on blur. If "onContinue", validation occurs when an external button is pressed.
     */
    validationMode?: "onBlur" | "onContinue";
    /**
     * A string that will be read by screen readers when the field is not valid.
     */
    accessibilityErrorLabel?: string;
} & import("react").RefAttributes<TextInputValidationRefProps>>;
//# sourceMappingURL=TextInputValidation.d.ts.map