import { type PropType } from 'vue';
import { type MaskInputMask, type MaskInputState } from './use-mask-input';
export interface MaskInputProps {
    mask: MaskInputMask;
    tokens?: Record<string, RegExp>;
    modify?: (value: string) => Partial<Pick<MaskInputProps, 'mask' | 'tokens' | 'slotChar' | 'separate'>> | undefined;
    separate?: boolean;
    slotChar?: string | null;
    alwaysShowMask?: boolean;
    showMaskOnFocus?: boolean;
    transform?: (char: string) => string;
    autoClear?: boolean;
    onChangeRaw?: (rawValue: string, maskedValue: string) => void;
    onComplete?: (maskedValue: string, rawValue: string) => void;
    beforeMaskedStateChange?: (states: {
        previousState: MaskInputState;
        currentState: MaskInputState;
        nextState: MaskInputState;
    }) => MaskInputState;
    resetRef?: any;
}
export declare const MaskInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    mask: {
        type: PropType<MaskInputMask>;
        required: true;
    };
    tokens: {
        type: PropType<Record<string, RegExp>>;
        default: undefined;
    };
    modify: {
        type: PropType<MaskInputProps["modify"]>;
        default: undefined;
    };
    separate: {
        type: BooleanConstructor;
        default: boolean;
    };
    slotChar: {
        type: PropType<string | null>;
        default: string;
    };
    alwaysShowMask: {
        type: BooleanConstructor;
        default: boolean;
    };
    showMaskOnFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    transform: {
        type: PropType<(char: string) => string>;
        default: undefined;
    };
    autoClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    onChangeRaw: {
        type: PropType<(raw: string, masked: string) => void>;
        default: undefined;
    };
    onComplete: {
        type: PropType<(masked: string, raw: string) => void>;
        default: undefined;
    };
    beforeMaskedStateChange: {
        type: PropType<MaskInputProps["beforeMaskedStateChange"]>;
        default: undefined;
    };
    resetRef: {
        type: PropType<any>;
        default: undefined;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    mask: {
        type: PropType<MaskInputMask>;
        required: true;
    };
    tokens: {
        type: PropType<Record<string, RegExp>>;
        default: undefined;
    };
    modify: {
        type: PropType<MaskInputProps["modify"]>;
        default: undefined;
    };
    separate: {
        type: BooleanConstructor;
        default: boolean;
    };
    slotChar: {
        type: PropType<string | null>;
        default: string;
    };
    alwaysShowMask: {
        type: BooleanConstructor;
        default: boolean;
    };
    showMaskOnFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    transform: {
        type: PropType<(char: string) => string>;
        default: undefined;
    };
    autoClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    onChangeRaw: {
        type: PropType<(raw: string, masked: string) => void>;
        default: undefined;
    };
    onComplete: {
        type: PropType<(masked: string, raw: string) => void>;
        default: undefined;
    };
    beforeMaskedStateChange: {
        type: PropType<MaskInputProps["beforeMaskedStateChange"]>;
        default: undefined;
    };
    resetRef: {
        type: PropType<any>;
        default: undefined;
    };
}>> & Readonly<{}>, {
    separate: boolean;
    transform: (char: string) => string;
    tokens: Record<string, RegExp>;
    slotChar: string | null;
    modify: ((value: string) => Partial<Pick<MaskInputProps, "mask" | "tokens" | "slotChar" | "separate">> | undefined) | undefined;
    alwaysShowMask: boolean;
    showMaskOnFocus: boolean;
    autoClear: boolean;
    onChangeRaw: (raw: string, masked: string) => void;
    onComplete: (masked: string, raw: string) => void;
    beforeMaskedStateChange: ((states: {
        previousState: MaskInputState;
        currentState: MaskInputState;
        nextState: MaskInputState;
    }) => MaskInputState) | undefined;
    resetRef: any;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
