import { InputValue, TdInputProps } from './type';
import './style';
export * from './type';
export type InputProps<T = InputValue> = TdInputProps<T>;
export type InputBlurEventParams = Parameters<InputProps['onBlur']>;
export type InputFocusEventParams = Parameters<InputProps['onFocus']>;
export type StrInputProps = TdInputProps<string>;
export type NumberInputProps = TdInputProps<number>;
export declare const Input: {
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        showInput: {
            type: BooleanConstructor;
            default: boolean;
        };
        keepWrapperWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        align: {
            type: import("vue").PropType<TdInputProps["align"]>;
            default: TdInputProps["align"];
            validator(val: TdInputProps["align"]): boolean;
        };
        allowInputOverMax: BooleanConstructor;
        autoWidth: BooleanConstructor;
        autocomplete: {
            type: StringConstructor;
            default: any;
        };
        autofocus: BooleanConstructor;
        borderless: BooleanConstructor;
        clearable: BooleanConstructor;
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        format: {
            type: import("vue").PropType<TdInputProps["format"]>;
        };
        inputClass: {
            type: import("vue").PropType<TdInputProps["inputClass"]>;
        };
        label: {
            type: import("vue").PropType<TdInputProps["label"]>;
        };
        maxcharacter: {
            type: NumberConstructor;
        };
        maxlength: {
            type: import("vue").PropType<TdInputProps["maxlength"]>;
        };
        name: {
            type: StringConstructor;
            default: string;
        };
        placeholder: {
            type: StringConstructor;
            default: any;
        };
        prefixIcon: {
            type: import("vue").PropType<TdInputProps["prefixIcon"]>;
        };
        readonly: {
            type: BooleanConstructor;
            default: any;
        };
        showClearIconOnEmpty: BooleanConstructor;
        showLimitNumber: BooleanConstructor;
        size: {
            type: import("vue").PropType<TdInputProps["size"]>;
            default: TdInputProps["size"];
            validator(val: TdInputProps["size"]): boolean;
        };
        spellCheck: BooleanConstructor;
        status: {
            type: import("vue").PropType<TdInputProps["status"]>;
            default: TdInputProps["status"];
            validator(val: TdInputProps["status"]): boolean;
        };
        suffix: {
            type: import("vue").PropType<TdInputProps["suffix"]>;
        };
        suffixIcon: {
            type: import("vue").PropType<TdInputProps["suffixIcon"]>;
        };
        tips: {
            type: import("vue").PropType<TdInputProps["tips"]>;
        };
        type: {
            type: import("vue").PropType<TdInputProps["type"]>;
            default: TdInputProps["type"];
            validator(val: TdInputProps["type"]): boolean;
        };
        value: {
            type: import("vue").PropType<TdInputProps["value"]>;
            default: TdInputProps["value"];
        };
        modelValue: {
            type: import("vue").PropType<TdInputProps["value"]>;
            default: TdInputProps["value"];
        };
        defaultValue: {
            type: import("vue").PropType<TdInputProps["defaultValue"]>;
        };
        onBlur: import("vue").PropType<TdInputProps["onBlur"]>;
        onChange: import("vue").PropType<TdInputProps["onChange"]>;
        onClear: import("vue").PropType<TdInputProps["onClear"]>;
        onClick: import("vue").PropType<TdInputProps["onClick"]>;
        onCompositionend: import("vue").PropType<TdInputProps["onCompositionend"]>;
        onCompositionstart: import("vue").PropType<TdInputProps["onCompositionstart"]>;
        onEnter: import("vue").PropType<TdInputProps["onEnter"]>;
        onFocus: import("vue").PropType<TdInputProps["onFocus"]>;
        onKeydown: import("vue").PropType<TdInputProps["onKeydown"]>;
        onKeypress: import("vue").PropType<TdInputProps["onKeypress"]>;
        onKeyup: import("vue").PropType<TdInputProps["onKeyup"]>;
        onMouseenter: import("vue").PropType<TdInputProps["onMouseenter"]>;
        onMouseleave: import("vue").PropType<TdInputProps["onMouseleave"]>;
        onPaste: import("vue").PropType<TdInputProps["onPaste"]>;
        onValidate: import("vue").PropType<TdInputProps["onValidate"]>;
        onWheel: import("vue").PropType<TdInputProps["onWheel"]>;
    }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        showInput: {
            type: BooleanConstructor;
            default: boolean;
        };
        keepWrapperWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        align: {
            type: import("vue").PropType<TdInputProps["align"]>;
            default: TdInputProps["align"];
            validator(val: TdInputProps["align"]): boolean;
        };
        allowInputOverMax: BooleanConstructor;
        autoWidth: BooleanConstructor;
        autocomplete: {
            type: StringConstructor;
            default: any;
        };
        autofocus: BooleanConstructor;
        borderless: BooleanConstructor;
        clearable: BooleanConstructor;
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        format: {
            type: import("vue").PropType<TdInputProps["format"]>;
        };
        inputClass: {
            type: import("vue").PropType<TdInputProps["inputClass"]>;
        };
        label: {
            type: import("vue").PropType<TdInputProps["label"]>;
        };
        maxcharacter: {
            type: NumberConstructor;
        };
        maxlength: {
            type: import("vue").PropType<TdInputProps["maxlength"]>;
        };
        name: {
            type: StringConstructor;
            default: string;
        };
        placeholder: {
            type: StringConstructor;
            default: any;
        };
        prefixIcon: {
            type: import("vue").PropType<TdInputProps["prefixIcon"]>;
        };
        readonly: {
            type: BooleanConstructor;
            default: any;
        };
        showClearIconOnEmpty: BooleanConstructor;
        showLimitNumber: BooleanConstructor;
        size: {
            type: import("vue").PropType<TdInputProps["size"]>;
            default: TdInputProps["size"];
            validator(val: TdInputProps["size"]): boolean;
        };
        spellCheck: BooleanConstructor;
        status: {
            type: import("vue").PropType<TdInputProps["status"]>;
            default: TdInputProps["status"];
            validator(val: TdInputProps["status"]): boolean;
        };
        suffix: {
            type: import("vue").PropType<TdInputProps["suffix"]>;
        };
        suffixIcon: {
            type: import("vue").PropType<TdInputProps["suffixIcon"]>;
        };
        tips: {
            type: import("vue").PropType<TdInputProps["tips"]>;
        };
        type: {
            type: import("vue").PropType<TdInputProps["type"]>;
            default: TdInputProps["type"];
            validator(val: TdInputProps["type"]): boolean;
        };
        value: {
            type: import("vue").PropType<TdInputProps["value"]>;
            default: TdInputProps["value"];
        };
        modelValue: {
            type: import("vue").PropType<TdInputProps["value"]>;
            default: TdInputProps["value"];
        };
        defaultValue: {
            type: import("vue").PropType<TdInputProps["defaultValue"]>;
        };
        onBlur: import("vue").PropType<TdInputProps["onBlur"]>;
        onChange: import("vue").PropType<TdInputProps["onChange"]>;
        onClear: import("vue").PropType<TdInputProps["onClear"]>;
        onClick: import("vue").PropType<TdInputProps["onClick"]>;
        onCompositionend: import("vue").PropType<TdInputProps["onCompositionend"]>;
        onCompositionstart: import("vue").PropType<TdInputProps["onCompositionstart"]>;
        onEnter: import("vue").PropType<TdInputProps["onEnter"]>;
        onFocus: import("vue").PropType<TdInputProps["onFocus"]>;
        onKeydown: import("vue").PropType<TdInputProps["onKeydown"]>;
        onKeypress: import("vue").PropType<TdInputProps["onKeypress"]>;
        onKeyup: import("vue").PropType<TdInputProps["onKeyup"]>;
        onMouseenter: import("vue").PropType<TdInputProps["onMouseenter"]>;
        onMouseleave: import("vue").PropType<TdInputProps["onMouseleave"]>;
        onPaste: import("vue").PropType<TdInputProps["onPaste"]>;
        onValidate: import("vue").PropType<TdInputProps["onValidate"]>;
        onWheel: import("vue").PropType<TdInputProps["onWheel"]>;
    }>>, {
        name: string;
        value: InputValue;
        type: "number" | "hidden" | "search" | "submit" | "url" | "tel" | "text" | "password";
        size: import("..").SizeEnum;
        status: "default" | "error" | "success" | "warning";
        disabled: boolean;
        align: "left" | "center" | "right";
        autocomplete: string;
        placeholder: string;
        readonly: boolean;
        modelValue: InputValue;
        allowInputOverMax: boolean;
        showInput: boolean;
        keepWrapperWidth: boolean;
        autoWidth: boolean;
        autofocus: boolean;
        borderless: boolean;
        clearable: boolean;
        showClearIconOnEmpty: boolean;
        showLimitNumber: boolean;
        spellCheck: boolean;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        showInput: {
            type: BooleanConstructor;
            default: boolean;
        };
        keepWrapperWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        align: {
            type: import("vue").PropType<TdInputProps["align"]>;
            default: TdInputProps["align"];
            validator(val: TdInputProps["align"]): boolean;
        };
        allowInputOverMax: BooleanConstructor;
        autoWidth: BooleanConstructor;
        autocomplete: {
            type: StringConstructor;
            default: any;
        };
        autofocus: BooleanConstructor;
        borderless: BooleanConstructor;
        clearable: BooleanConstructor;
        disabled: {
            type: BooleanConstructor;
            default: any;
        };
        format: {
            type: import("vue").PropType<TdInputProps["format"]>;
        };
        inputClass: {
            type: import("vue").PropType<TdInputProps["inputClass"]>;
        };
        label: {
            type: import("vue").PropType<TdInputProps["label"]>;
        };
        maxcharacter: {
            type: NumberConstructor;
        };
        maxlength: {
            type: import("vue").PropType<TdInputProps["maxlength"]>;
        };
        name: {
            type: StringConstructor;
            default: string;
        };
        placeholder: {
            type: StringConstructor;
            default: any;
        };
        prefixIcon: {
            type: import("vue").PropType<TdInputProps["prefixIcon"]>;
        };
        readonly: {
            type: BooleanConstructor;
            default: any;
        };
        showClearIconOnEmpty: BooleanConstructor;
        showLimitNumber: BooleanConstructor;
        size: {
            type: import("vue").PropType<TdInputProps["size"]>;
            default: TdInputProps["size"];
            validator(val: TdInputProps["size"]): boolean;
        };
        spellCheck: BooleanConstructor;
        status: {
            type: import("vue").PropType<TdInputProps["status"]>;
            default: TdInputProps["status"];
            validator(val: TdInputProps["status"]): boolean;
        };
        suffix: {
            type: import("vue").PropType<TdInputProps["suffix"]>;
        };
        suffixIcon: {
            type: import("vue").PropType<TdInputProps["suffixIcon"]>;
        };
        tips: {
            type: import("vue").PropType<TdInputProps["tips"]>;
        };
        type: {
            type: import("vue").PropType<TdInputProps["type"]>;
            default: TdInputProps["type"];
            validator(val: TdInputProps["type"]): boolean;
        };
        value: {
            type: import("vue").PropType<TdInputProps["value"]>;
            default: TdInputProps["value"];
        };
        modelValue: {
            type: import("vue").PropType<TdInputProps["value"]>;
            default: TdInputProps["value"];
        };
        defaultValue: {
            type: import("vue").PropType<TdInputProps["defaultValue"]>;
        };
        onBlur: import("vue").PropType<TdInputProps["onBlur"]>;
        onChange: import("vue").PropType<TdInputProps["onChange"]>;
        onClear: import("vue").PropType<TdInputProps["onClear"]>;
        onClick: import("vue").PropType<TdInputProps["onClick"]>;
        onCompositionend: import("vue").PropType<TdInputProps["onCompositionend"]>;
        onCompositionstart: import("vue").PropType<TdInputProps["onCompositionstart"]>;
        onEnter: import("vue").PropType<TdInputProps["onEnter"]>;
        onFocus: import("vue").PropType<TdInputProps["onFocus"]>;
        onKeydown: import("vue").PropType<TdInputProps["onKeydown"]>;
        onKeypress: import("vue").PropType<TdInputProps["onKeypress"]>;
        onKeyup: import("vue").PropType<TdInputProps["onKeyup"]>;
        onMouseenter: import("vue").PropType<TdInputProps["onMouseenter"]>;
        onMouseleave: import("vue").PropType<TdInputProps["onMouseleave"]>;
        onPaste: import("vue").PropType<TdInputProps["onPaste"]>;
        onValidate: import("vue").PropType<TdInputProps["onValidate"]>;
        onWheel: import("vue").PropType<TdInputProps["onWheel"]>;
    }>>, () => JSX.Element, {}, {}, {}, {
        name: string;
        value: InputValue;
        type: "number" | "hidden" | "search" | "submit" | "url" | "tel" | "text" | "password";
        size: import("..").SizeEnum;
        status: "default" | "error" | "success" | "warning";
        disabled: boolean;
        align: "left" | "center" | "right";
        autocomplete: string;
        placeholder: string;
        readonly: boolean;
        modelValue: InputValue;
        allowInputOverMax: boolean;
        showInput: boolean;
        keepWrapperWidth: boolean;
        autoWidth: boolean;
        autofocus: boolean;
        borderless: boolean;
        clearable: boolean;
        showClearIconOnEmpty: boolean;
        showLimitNumber: boolean;
        spellCheck: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    showInput: {
        type: BooleanConstructor;
        default: boolean;
    };
    keepWrapperWidth: {
        type: BooleanConstructor;
        default: boolean;
    };
    align: {
        type: import("vue").PropType<TdInputProps["align"]>;
        default: TdInputProps["align"];
        validator(val: TdInputProps["align"]): boolean;
    };
    allowInputOverMax: BooleanConstructor;
    autoWidth: BooleanConstructor;
    autocomplete: {
        type: StringConstructor;
        default: any;
    };
    autofocus: BooleanConstructor;
    borderless: BooleanConstructor;
    clearable: BooleanConstructor;
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    format: {
        type: import("vue").PropType<TdInputProps["format"]>;
    };
    inputClass: {
        type: import("vue").PropType<TdInputProps["inputClass"]>;
    };
    label: {
        type: import("vue").PropType<TdInputProps["label"]>;
    };
    maxcharacter: {
        type: NumberConstructor;
    };
    maxlength: {
        type: import("vue").PropType<TdInputProps["maxlength"]>;
    };
    name: {
        type: StringConstructor;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: any;
    };
    prefixIcon: {
        type: import("vue").PropType<TdInputProps["prefixIcon"]>;
    };
    readonly: {
        type: BooleanConstructor;
        default: any;
    };
    showClearIconOnEmpty: BooleanConstructor;
    showLimitNumber: BooleanConstructor;
    size: {
        type: import("vue").PropType<TdInputProps["size"]>;
        default: TdInputProps["size"];
        validator(val: TdInputProps["size"]): boolean;
    };
    spellCheck: BooleanConstructor;
    status: {
        type: import("vue").PropType<TdInputProps["status"]>;
        default: TdInputProps["status"];
        validator(val: TdInputProps["status"]): boolean;
    };
    suffix: {
        type: import("vue").PropType<TdInputProps["suffix"]>;
    };
    suffixIcon: {
        type: import("vue").PropType<TdInputProps["suffixIcon"]>;
    };
    tips: {
        type: import("vue").PropType<TdInputProps["tips"]>;
    };
    type: {
        type: import("vue").PropType<TdInputProps["type"]>;
        default: TdInputProps["type"];
        validator(val: TdInputProps["type"]): boolean;
    };
    value: {
        type: import("vue").PropType<TdInputProps["value"]>;
        default: TdInputProps["value"];
    };
    modelValue: {
        type: import("vue").PropType<TdInputProps["value"]>;
        default: TdInputProps["value"];
    };
    defaultValue: {
        type: import("vue").PropType<TdInputProps["defaultValue"]>;
    };
    onBlur: import("vue").PropType<TdInputProps["onBlur"]>;
    onChange: import("vue").PropType<TdInputProps["onChange"]>;
    onClear: import("vue").PropType<TdInputProps["onClear"]>;
    onClick: import("vue").PropType<TdInputProps["onClick"]>;
    onCompositionend: import("vue").PropType<TdInputProps["onCompositionend"]>;
    onCompositionstart: import("vue").PropType<TdInputProps["onCompositionstart"]>;
    onEnter: import("vue").PropType<TdInputProps["onEnter"]>;
    onFocus: import("vue").PropType<TdInputProps["onFocus"]>;
    onKeydown: import("vue").PropType<TdInputProps["onKeydown"]>;
    onKeypress: import("vue").PropType<TdInputProps["onKeypress"]>;
    onKeyup: import("vue").PropType<TdInputProps["onKeyup"]>;
    onMouseenter: import("vue").PropType<TdInputProps["onMouseenter"]>;
    onMouseleave: import("vue").PropType<TdInputProps["onMouseleave"]>;
    onPaste: import("vue").PropType<TdInputProps["onPaste"]>;
    onValidate: import("vue").PropType<TdInputProps["onValidate"]>;
    onWheel: import("vue").PropType<TdInputProps["onWheel"]>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    name: string;
    value: InputValue;
    type: "number" | "hidden" | "search" | "submit" | "url" | "tel" | "text" | "password";
    size: import("..").SizeEnum;
    status: "default" | "error" | "success" | "warning";
    disabled: boolean;
    align: "left" | "center" | "right";
    autocomplete: string;
    placeholder: string;
    readonly: boolean;
    modelValue: InputValue;
    allowInputOverMax: boolean;
    showInput: boolean;
    keepWrapperWidth: boolean;
    autoWidth: boolean;
    autofocus: boolean;
    borderless: boolean;
    clearable: boolean;
    showClearIconOnEmpty: boolean;
    showLimitNumber: boolean;
    spellCheck: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export declare const InputGroup: {
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        separate: BooleanConstructor;
    }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        separate: BooleanConstructor;
    }>>, {
        separate: boolean;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        separate: BooleanConstructor;
    }>>, () => JSX.Element, {}, {}, {}, {
        separate: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    separate: BooleanConstructor;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    separate: boolean;
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("vue").Plugin;
export default Input;
