import { ChangeEvent, FocusEvent, KeyboardEvent, MouseEvent, Ref } from "react";
import MaskedInput, { Mask } from "react-text-mask";
import { IInputBaseProps } from "../InputBase/interfaces";
declare type TType = "text" | "tel" | "url" | "password" | "search";
export interface IInputMaskProps extends Omit<IInputBaseProps, "isShowLabel"> {
    isReadOnly?: boolean;
    isGuide?: boolean;
    isShowMask?: boolean;
    isShowMaskOnFocus?: boolean;
    isKeepCharPositions?: boolean;
    isAutoFocus?: boolean;
    placeholderChar?: string;
    value: string;
    type?: TType;
    id?: string;
    name?: string;
    maxLength?: number;
    mask: Mask | ((value: string) => Mask);
    pipe?: (conformedValue: string, config: any) => false | string | {
        value: string;
        indexesOfPipedChars: number[];
    };
    pattern?: string;
    onChange?: (event: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLDivElement>, value: string, id?: string) => void;
    onBlur?: (event: FocusEvent<HTMLInputElement>, value: string) => void;
    onFocus?: (event: FocusEvent<HTMLInputElement>) => void;
    onKeyPress?: (event: KeyboardEvent<HTMLInputElement>) => void;
    onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;
    testId?: string;
    refMask?: TRefMask;
    onClear?: (event: MouseEvent<HTMLDivElement>) => void;
}
export declare type TRefMask = Ref<MaskedInput>;
export {};
