import { ElInputInstance } from '../ele-app/el';
import { EleTooltipInstance } from '../ele-app/plus';
import { SelectedItem } from './types';

declare const _default: import('vue').DefineComponent<{
    value: {
        type: import('vue').PropType<import('./types').SelectValue>;
        default: () => null;
    };
    multiple: BooleanConstructor;
    disabled: BooleanConstructor;
    size: import('vue').PropType<import('../ele-app/el').ElInputProps["size"]>;
    clearable: BooleanConstructor;
    placeholder: StringConstructor;
    selectedLabel: StringConstructor;
    selected: import('vue').PropType<SelectedItem[]>;
    maxTagCount: NumberConstructor;
    maxTagTextLength: NumberConstructor;
    tagType: import('vue').PropType<import('../ele-app/el').ElTagProps["type"]>;
    automaticDropdown: BooleanConstructor;
    filterable: BooleanConstructor;
    visible: BooleanConstructor;
    teleported: BooleanConstructor;
    persistent: BooleanConstructor;
    placement: import('vue').PropType<import('../ele-app/plus').EleTooltipProps["placement"]>;
    transition: {
        type: StringConstructor;
        default: string;
    };
    popperOptions: import('vue').PropType<import('../ele-app/plus').EleTooltipProps["popperOptions"]>;
    popperClass: StringConstructor;
    popperWidth: (StringConstructor | NumberConstructor)[];
    selectClass: StringConstructor;
    selectStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    inputStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    selectTagsStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
}, {
    tooltipRef: import('vue').Ref<EleTooltipInstance>;
    inputRef: import('vue').Ref<ElInputInstance>;
    searchRef: import('vue').Ref<ElInputInstance>;
    inputValue: import('vue').Ref<string>;
    searchValue: import('vue').Ref<string>;
    isEmpty: import('vue').ComputedRef<boolean>;
    inputPlaceholder: import('vue').ComputedRef<string>;
    isCollapse: import('vue').ComputedRef<boolean>;
    currentTags: import('vue').ComputedRef<SelectedItem[]>;
    omittedTags: import('vue').ComputedRef<SelectedItem[]>;
    omittedSize: import('vue').ComputedRef<number>;
    updatePopper: () => void;
    focusSearchInput: (e?: MouseEvent) => void;
    updateSearchValue: (modelValue: string) => void;
    updateInputValue: (modelValue: string) => void;
    updateVisible: (visible: boolean) => void;
    handleTagClose: (item: SelectedItem) => void;
    handleClear: () => void;
    handleInputClick: (e: MouseEvent) => void;
    handleInputFocus: (e: FocusEvent) => void;
    handleInputBlur: (e: FocusEvent) => void;
    handleInputEsc: (e: FocusEvent) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    'update:visible': (_visible: boolean) => boolean;
    removeTag: (_item: SelectedItem) => boolean;
    clear: () => boolean;
    focus: (_e: FocusEvent) => boolean;
    blur: (_e: FocusEvent) => boolean;
    filterChange: (_value: string) => boolean;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    value: {
        type: import('vue').PropType<import('./types').SelectValue>;
        default: () => null;
    };
    multiple: BooleanConstructor;
    disabled: BooleanConstructor;
    size: import('vue').PropType<import('../ele-app/el').ElInputProps["size"]>;
    clearable: BooleanConstructor;
    placeholder: StringConstructor;
    selectedLabel: StringConstructor;
    selected: import('vue').PropType<SelectedItem[]>;
    maxTagCount: NumberConstructor;
    maxTagTextLength: NumberConstructor;
    tagType: import('vue').PropType<import('../ele-app/el').ElTagProps["type"]>;
    automaticDropdown: BooleanConstructor;
    filterable: BooleanConstructor;
    visible: BooleanConstructor;
    teleported: BooleanConstructor;
    persistent: BooleanConstructor;
    placement: import('vue').PropType<import('../ele-app/plus').EleTooltipProps["placement"]>;
    transition: {
        type: StringConstructor;
        default: string;
    };
    popperOptions: import('vue').PropType<import('../ele-app/plus').EleTooltipProps["popperOptions"]>;
    popperClass: StringConstructor;
    popperWidth: (StringConstructor | NumberConstructor)[];
    selectClass: StringConstructor;
    selectStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    inputStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    selectTagsStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
}>> & {
    onFocus?: ((_e: FocusEvent) => any) | undefined;
    onBlur?: ((_e: FocusEvent) => any) | undefined;
    onClear?: (() => any) | undefined;
    onRemoveTag?: ((_item: SelectedItem) => any) | undefined;
    "onUpdate:visible"?: ((_visible: boolean) => any) | undefined;
    onFilterChange?: ((_value: string) => any) | undefined;
}, {
    value: import('./types').SelectValue;
    teleported: boolean;
    clearable: boolean;
    disabled: boolean;
    filterable: boolean;
    persistent: boolean;
    visible: boolean;
    transition: string;
    multiple: boolean;
    automaticDropdown: boolean;
}, {}>;
export default _default;
