import type { PropType } from 'vue';
import { TagData } from './interface';
declare const _default: import("vue").DefineComponent<{
    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>;
    render: () => JSX.Element;
}, unknown, {}, {
    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").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    modelValue?: unknown;
    defaultValue?: unknown;
    inputValue?: unknown;
    defaultInputValue?: unknown;
    placeholder?: unknown;
    disabled?: unknown;
    error?: unknown;
    readonly?: unknown;
    allowClear?: unknown;
    size?: unknown;
    maxTagCount?: unknown;
    retainInputValue?: unknown;
    formatTag?: unknown;
    uniqueValue?: unknown;
    fieldNames?: unknown;
    tagNowrap?: unknown;
    baseCls?: unknown;
    focused?: unknown;
    disabledInput?: unknown;
    uninjectFormItemContext?: unknown;
} & {
    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;
} & {
    size?: "mini" | "small" | "medium" | "large" | undefined;
    placeholder?: string | undefined;
    inputValue?: string | undefined;
    modelValue?: (string | number | TagData)[] | undefined;
    baseCls?: string | undefined;
    formatTag?: ((data: TagData) => string) | undefined;
    fieldNames?: import("../_utils/types").FieldString<TagData> | undefined;
}> & {
    onFocus?: ((ev: FocusEvent) => any) | undefined;
    onBlur?: ((ev: FocusEvent) => any) | undefined;
    onChange?: ((value: (string | number | TagData)[], ev: Event) => any) | undefined;
    onClear?: ((ev: MouseEvent) => any) | undefined;
    onPressEnter?: ((inputValue: string, ev: KeyboardEvent) => any) | undefined;
    "onUpdate:inputValue"?: ((inputValue: string) => any) | undefined;
    onInputValueChange?: ((inputValue: string, ev: Event) => any) | undefined;
    onRemove?: ((removed: string | number, ev: Event) => any) | undefined;
    "onUpdate:modelValue"?: ((value: (string | number | TagData)[]) => 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;
}>;
export default _default;
