import type { PropType } from 'vue';
import { TagData } from './interface';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    modelValue: {
        type: PropType<(string | number | TagData)[]>;
    };
    defaultValue: {
        type: PropType<(string | number | 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: PropType<"mini" | "small" | "medium" | "large">;
    };
    maxTagCount: {
        type: NumberConstructor;
        default: number;
    };
    retainInputValue: {
        type: PropType<boolean | {
            create?: boolean | undefined;
            blur?: boolean | undefined;
        }>;
        default: boolean;
    };
    formatTag: {
        type: PropType<(data: TagData) => string>;
    };
    uniqueValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    fieldNames: {
        type: PropType<import("../_utils/types").FieldString<TagData>>;
    };
    tagNowrap: {
        type: BooleanConstructor;
        default: boolean;
    };
    baseCls: StringConstructor;
    focused: BooleanConstructor;
    disabledInput: BooleanConstructor;
    uninjectFormItemContext: BooleanConstructor;
}>, {
    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 | TagData)[]) => true;
    'update:inputValue': (inputValue: string) => true;
    change: (value: (string | number | 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, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: PropType<(string | number | TagData)[]>;
    };
    defaultValue: {
        type: PropType<(string | number | 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: PropType<"mini" | "small" | "medium" | "large">;
    };
    maxTagCount: {
        type: NumberConstructor;
        default: number;
    };
    retainInputValue: {
        type: PropType<boolean | {
            create?: boolean | undefined;
            blur?: boolean | undefined;
        }>;
        default: boolean;
    };
    formatTag: {
        type: PropType<(data: TagData) => string>;
    };
    uniqueValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    fieldNames: {
        type: PropType<import("../_utils/types").FieldString<TagData>>;
    };
    tagNowrap: {
        type: BooleanConstructor;
        default: boolean;
    };
    baseCls: StringConstructor;
    focused: BooleanConstructor;
    disabledInput: BooleanConstructor;
    uninjectFormItemContext: BooleanConstructor;
}>> & Readonly<{
    onClear?: ((ev: MouseEvent) => any) | undefined;
    onChange?: ((value: (string | number | 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 | TagData)[]) => any) | undefined;
    onRemove?: ((removed: string | number, ev: Event) => any) | undefined;
    onPressEnter?: ((inputValue: string, ev: KeyboardEvent) => any) | undefined;
}>, {
    disabled: boolean;
    focused: boolean;
    readonly: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: (string | number | TagData)[];
    retainInputValue: boolean | {
        create?: boolean | undefined;
        blur?: boolean | undefined;
    };
    uninjectFormItemContext: boolean;
    maxTagCount: number;
    tagNowrap: boolean;
    defaultInputValue: string;
    uniqueValue: boolean;
    disabledInput: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
