import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _InputTag from './input-tag';
declare const InputTag: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: import("vue").PropType<(string | number | import("./interface").TagData)[]>;
        };
        defaultValue: {
            type: import("vue").PropType<(string | number | import("./interface").TagData)[]>;
            default: () => never[];
        };
        inputValue: StringConstructor;
        defaultInputValue: {
            type: StringConstructor;
            default: string;
        };
        placeholder: StringConstructor;
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        error: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        maxTagCount: {
            type: NumberConstructor;
            default: number;
        };
        retainInputValue: {
            type: import("vue").PropType<boolean | {
                create?: boolean | undefined;
                blur?: boolean | undefined;
            }>;
            default: boolean;
        };
        formatTag: {
            type: import("vue").PropType<(data: import("./interface").TagData) => string>;
        };
        uniqueValue: {
            type: BooleanConstructor;
            default: boolean;
        };
        fieldNames: {
            type: import("vue").PropType<import("../_utils/types").FieldString<import("./interface").TagData>>;
        };
        tagNowrap: {
            type: BooleanConstructor;
            default: boolean;
        };
        baseCls: StringConstructor;
        focused: BooleanConstructor;
        disabledInput: BooleanConstructor;
        uninjectFormItemContext: BooleanConstructor;
    }>> & Readonly<{
        onClear?: ((ev: MouseEvent) => any) | undefined;
        onChange?: ((value: (string | number | import("./interface").TagData)[], ev: Event) => any) | undefined;
        onBlur?: ((ev: FocusEvent) => any) | undefined;
        "onUpdate:inputValue"?: ((inputValue: string) => any) | undefined;
        onInputValueChange?: ((inputValue: string, ev: Event) => any) | undefined;
        onFocus?: ((ev: FocusEvent) => any) | undefined;
        "onUpdate:modelValue"?: ((value: (string | number | import("./interface").TagData)[]) => any) | undefined;
        onRemove?: ((removed: string | number, ev: Event) => any) | undefined;
        onPressEnter?: ((inputValue: string, ev: KeyboardEvent) => any) | undefined;
    }>, {
        inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
        render: () => import("vue/jsx-runtime").JSX.Element;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'update:modelValue': (value: (string | number | import("./interface").TagData)[]) => true;
        'update:inputValue': (inputValue: string) => true;
        change: (value: (string | number | import("./interface").TagData)[], ev: Event) => true;
        inputValueChange: (inputValue: string, ev: Event) => true;
        pressEnter: (inputValue: string, ev: KeyboardEvent) => true;
        remove: (removed: string | number, ev: Event) => true;
        clear: (ev: MouseEvent) => true;
        focus: (ev: FocusEvent) => true;
        blur: (ev: FocusEvent) => true;
    }, import("vue").PublicProps, {
        disabled: boolean;
        focused: boolean;
        readonly: boolean;
        error: boolean;
        allowClear: boolean;
        defaultValue: (string | number | import("./interface").TagData)[];
        retainInputValue: boolean | {
            create?: boolean | undefined;
            blur?: boolean | undefined;
        };
        uninjectFormItemContext: boolean;
        maxTagCount: number;
        tagNowrap: boolean;
        defaultInputValue: string;
        uniqueValue: boolean;
        disabledInput: boolean;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: import("vue").PropType<(string | number | import("./interface").TagData)[]>;
        };
        defaultValue: {
            type: import("vue").PropType<(string | number | import("./interface").TagData)[]>;
            default: () => never[];
        };
        inputValue: StringConstructor;
        defaultInputValue: {
            type: StringConstructor;
            default: string;
        };
        placeholder: StringConstructor;
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        error: {
            type: BooleanConstructor;
            default: boolean;
        };
        readonly: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        maxTagCount: {
            type: NumberConstructor;
            default: number;
        };
        retainInputValue: {
            type: import("vue").PropType<boolean | {
                create?: boolean | undefined;
                blur?: boolean | undefined;
            }>;
            default: boolean;
        };
        formatTag: {
            type: import("vue").PropType<(data: import("./interface").TagData) => string>;
        };
        uniqueValue: {
            type: BooleanConstructor;
            default: boolean;
        };
        fieldNames: {
            type: import("vue").PropType<import("../_utils/types").FieldString<import("./interface").TagData>>;
        };
        tagNowrap: {
            type: BooleanConstructor;
            default: boolean;
        };
        baseCls: StringConstructor;
        focused: BooleanConstructor;
        disabledInput: BooleanConstructor;
        uninjectFormItemContext: BooleanConstructor;
    }>> & Readonly<{
        onClear?: ((ev: MouseEvent) => any) | undefined;
        onChange?: ((value: (string | number | import("./interface").TagData)[], ev: Event) => any) | undefined;
        onBlur?: ((ev: FocusEvent) => any) | undefined;
        "onUpdate:inputValue"?: ((inputValue: string) => any) | undefined;
        onInputValueChange?: ((inputValue: string, ev: Event) => any) | undefined;
        onFocus?: ((ev: FocusEvent) => any) | undefined;
        "onUpdate:modelValue"?: ((value: (string | number | import("./interface").TagData)[]) => any) | undefined;
        onRemove?: ((removed: string | number, ev: Event) => any) | undefined;
        onPressEnter?: ((inputValue: string, ev: KeyboardEvent) => any) | undefined;
    }>, {
        inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
        render: () => import("vue/jsx-runtime").JSX.Element;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, {
        disabled: boolean;
        focused: boolean;
        readonly: boolean;
        error: boolean;
        allowClear: boolean;
        defaultValue: (string | number | import("./interface").TagData)[];
        retainInputValue: boolean | {
            create?: boolean | undefined;
            blur?: boolean | undefined;
        };
        uninjectFormItemContext: boolean;
        maxTagCount: number;
        tagNowrap: boolean;
        defaultInputValue: string;
        uniqueValue: boolean;
        disabledInput: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: import("vue").PropType<(string | number | import("./interface").TagData)[]>;
    };
    defaultValue: {
        type: import("vue").PropType<(string | number | import("./interface").TagData)[]>;
        default: () => never[];
    };
    inputValue: StringConstructor;
    defaultInputValue: {
        type: StringConstructor;
        default: string;
    };
    placeholder: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
    };
    maxTagCount: {
        type: NumberConstructor;
        default: number;
    };
    retainInputValue: {
        type: import("vue").PropType<boolean | {
            create?: boolean | undefined;
            blur?: boolean | undefined;
        }>;
        default: boolean;
    };
    formatTag: {
        type: import("vue").PropType<(data: import("./interface").TagData) => string>;
    };
    uniqueValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    fieldNames: {
        type: import("vue").PropType<import("../_utils/types").FieldString<import("./interface").TagData>>;
    };
    tagNowrap: {
        type: BooleanConstructor;
        default: boolean;
    };
    baseCls: StringConstructor;
    focused: BooleanConstructor;
    disabledInput: BooleanConstructor;
    uninjectFormItemContext: BooleanConstructor;
}>> & Readonly<{
    onClear?: ((ev: MouseEvent) => any) | undefined;
    onChange?: ((value: (string | number | import("./interface").TagData)[], ev: Event) => any) | undefined;
    onBlur?: ((ev: FocusEvent) => any) | undefined;
    "onUpdate:inputValue"?: ((inputValue: string) => any) | undefined;
    onInputValueChange?: ((inputValue: string, ev: Event) => any) | undefined;
    onFocus?: ((ev: FocusEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((value: (string | number | import("./interface").TagData)[]) => any) | undefined;
    onRemove?: ((removed: string | number, ev: Event) => any) | undefined;
    onPressEnter?: ((inputValue: string, ev: KeyboardEvent) => any) | undefined;
}>, {
    inputRef: import("vue").Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
    render: () => import("vue/jsx-runtime").JSX.Element;
}, {}, {}, {
    focus(): void;
    blur(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:modelValue': (value: (string | number | import("./interface").TagData)[]) => true;
    'update:inputValue': (inputValue: string) => true;
    change: (value: (string | number | import("./interface").TagData)[], ev: Event) => true;
    inputValueChange: (inputValue: string, ev: Event) => true;
    pressEnter: (inputValue: string, ev: KeyboardEvent) => true;
    remove: (removed: string | number, ev: Event) => true;
    clear: (ev: MouseEvent) => true;
    focus: (ev: FocusEvent) => true;
    blur: (ev: FocusEvent) => true;
}, string, {
    disabled: boolean;
    focused: boolean;
    readonly: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: (string | number | import("./interface").TagData)[];
    retainInputValue: boolean | {
        create?: boolean | undefined;
        blur?: boolean | undefined;
    };
    uninjectFormItemContext: boolean;
    maxTagCount: number;
    tagNowrap: boolean;
    defaultInputValue: string;
    uniqueValue: boolean;
    disabledInput: boolean;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type InputTagInstance = InstanceType<typeof _InputTag>;
export type { TagData, InputTagFieldNames } from './interface';
export default InputTag;
