import { nextTick } from 'vue';
import { OptionInstance } from './types/select';
import type { OptionData } from './types/option';
declare const _sfc_main: import("vue").DefineComponent<{
    /**
     * 设置选择的值
     *
     * @type {String, Number, Array}
     */
    modelValue: {
        type: (NumberConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    /**
     * 远程搜索时，显示默认 label，详见示例
     *
     * @type {String, Number, Array}
     */
    defaultLabel: {
        type: (NumberConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    /**
     * 选择选项时的颜色
     *
     * @type {String | Array}
     */
    selectedColor: {
        type: (StringConstructor | ArrayConstructor)[];
        default: string;
    };
    /**
     * hover 选择选项时的颜色
     *
     * @type {String | Array}
     */
    hoverColor: {
        type: (StringConstructor | ArrayConstructor)[];
        default: () => string;
    };
    /**
     * 是否开启多选
     *
     * @type {Boolean}
     */
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启多选过滤收起时清除输入
     *
     * @type {Boolean}
     */
    multipleFilterableClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 设置多选删除图标
     *
     * @type {Boolean}
     */
    multipleIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 是否禁用选择组件
     *
     * @type {Boolean}
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启外部点击的 capture 模式，可通过全局配置
     *
     * @type {Boolean}
     */
    capture: {
        type: BooleanConstructor;
        default(): any;
    };
    /**
     * 是否支持搜索
     *
     * @type {Boolean}
     */
    filterable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * input name
     *
     * @type {String}
     */
    name: {
        type: StringConstructor;
    };
    /**
     * 是否将label和value一起返回
     *
     * @type {Boolean}
     */
    labelAndValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 在 Select 内显示图标
     *
     * @type {String}
     */
    prefix: {
        type: StringConstructor;
    };
    /**
     * 多选时最多显示多少个 tag
     *
     * @type {Number}
     */
    maxTagCount: {
        type: NumberConstructor;
    };
    /**
     * 隐藏 tag 时显示的内容，参数是剩余项数量
     *
     * @type {Function}
     */
    maxTagPlaceholder: {
        type: FunctionConstructor;
    };
    /**
     * 输入提示
     *
     * @type {String}
     */
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 是否允许用户创建新条目，需开启 filterable
     *
     * @type {Boolean}
     */
    allowCreate: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 创建新条目按钮图标
     *
     * @type {Boolean}
     */
    allowCreateIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 没有找到数据时的提示
     *
     * @type {String}
     */
    notFindText: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 搜索方法
     *
     * @type {Function}
     */
    searchMethod: {
        type: FunctionConstructor;
    };
    /**
     * 下拉图标
     *
     * @type {String}
     */
    arrowDownIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 是否可以清除选择
     *
     * @type {Boolean}
     */
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 清除选择图标
     *
     * @type {String}
     */
    resetSelectIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 开启搜索时，隐藏group组件头
     *
     * @type {Boolean}
     */
    filterableHiddenGroup: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 加载中
     *
     * @type {Boolean}
     */
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 加载中的文字提示
     *
     * @type {String}
     */
    loadingText: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 搜索时，只按 label 进行搜索
     *
     * @type {Boolean}
     */
    filterByLabel: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启还原输入框内容（仅在单选时生效）
     *
     * @type {Boolean}
     */
    restoreInputOption: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否将弹层放置于 body 内，在 Tabs、
     * 带有 fixed 的 Table 列内使用时，
     * 建议添加此属性，它将不受父级样式影响，
     * 从而达到更好的效果
     *
     * @type {Boolean}
     */
    transfer: {
        type: BooleanConstructor;
        default(): any;
    };
    /**
     * 弹窗的展开方向
     *
     * @type {String}
     */
    placement: {
        type: StringConstructor;
        validator(value: string): boolean;
        default: string;
    };
    /**
     * 开启 transfer 时，给浮层添加额外的 class 名称
     *
     * @type {String}
     */
    transferClassName: {
        type: StringConstructor;
    };
    /**
     * 自动完成
     *
     * @type {Boolean}
     */
    autoComplete: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 外部输入框输入数据
     *
     * @type {String}
     */
    filterQueryProp: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 输入时是否触发表单的校验
     *
     * @type {Boolean}
     */
    validateEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * id
     *
     * @type {String}
     */
    id: {
        type: StringConstructor;
    };
}, {
    prefixCls: string;
    selectWrapper: import("vue").Ref<HTMLDivElement>;
    reference: import("vue").Ref<HTMLDivElement>;
    dropdown: import("vue").Ref<{
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            transfer: boolean;
            placement: string;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            className: {
                type: StringConstructor;
            };
            transfer: {
                type: BooleanConstructor;
                default(): any;
            };
            placement: {
                type: StringConstructor;
                default: string;
            };
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "transfer" | "placement">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            className: {
                type: StringConstructor;
            };
            transfer: {
                type: BooleanConstructor;
                default(): any;
            };
            placement: {
                type: StringConstructor;
                default: string;
            };
        }>>, {
            data: {
                width: string;
                tIndex: number;
                popper: any;
                popperStatus: boolean;
            };
            styles: import("vue").ComputedRef<{
                zIndex?: number;
            }>;
            minWidth: import("vue").ComputedRef<string>;
            update: () => void;
            destroy: () => void;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            transfer: boolean;
            placement: string;
        }, {}, string> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        className: {
            type: StringConstructor;
        };
        transfer: {
            type: BooleanConstructor;
            default(): any;
        };
        placement: {
            type: StringConstructor;
            default: string;
        };
    }>> & import("vue").ShallowUnwrapRef<{
        data: {
            width: string;
            tIndex: number;
            popper: any;
            popperStatus: boolean;
        };
        styles: import("vue").ComputedRef<{
            zIndex?: number;
        }>;
        minWidth: import("vue").ComputedRef<string>;
        update: () => void;
        destroy: () => void;
    }> & {} & import("vue").ComponentCustomProperties & {}>;
    selectHead: import("vue").Ref<{
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            values: unknown[];
            placeholder: string;
            disabled: boolean;
            clearable: boolean;
            multiple: boolean;
            multipleIcon: string;
            filterable: boolean;
            isSearchMethod: boolean;
            resetSelectIcon: string;
            filterQueryProp: string;
            allowCreate: boolean;
            showCreateItem: boolean;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            multipleIcon: {
                type: StringConstructor;
                default: string;
            };
            values: {
                type: ArrayConstructor;
                default: () => any[];
            };
            prefix: {
                type: StringConstructor;
            };
            filterable: {
                type: BooleanConstructor;
                default: boolean;
            };
            maxTagCount: {
                type: NumberConstructor;
            };
            maxTagPlaceholder: {
                type: FunctionConstructor;
            };
            placeholder: {
                type: StringConstructor;
                default: string;
            };
            arrowDownIcon: {
                type: StringConstructor;
            };
            clearable: {
                type: BooleanConstructor;
                default: boolean;
            };
            isSearchMethod: {
                type: BooleanConstructor;
                default: boolean;
            };
            resetSelectIcon: {
                type: StringConstructor;
                default: string;
            };
            filterQueryProp: {
                type: StringConstructor;
                default: string;
            };
            selectionDom: {
                type: ObjectConstructor;
            };
            allowCreate: {
                type: BooleanConstructor;
                default: boolean;
            };
            showCreateItem: {
                type: BooleanConstructor;
                default: boolean;
            };
            id: {
                type: StringConstructor;
            };
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "values" | "placeholder" | "disabled" | "clearable" | "multiple" | "multipleIcon" | "filterable" | "isSearchMethod" | "resetSelectIcon" | "filterQueryProp" | "allowCreate" | "showCreateItem">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            multipleIcon: {
                type: StringConstructor;
                default: string;
            };
            values: {
                type: ArrayConstructor;
                default: () => any[];
            };
            prefix: {
                type: StringConstructor;
            };
            filterable: {
                type: BooleanConstructor;
                default: boolean;
            };
            maxTagCount: {
                type: NumberConstructor;
            };
            maxTagPlaceholder: {
                type: FunctionConstructor;
            };
            placeholder: {
                type: StringConstructor;
                default: string;
            };
            arrowDownIcon: {
                type: StringConstructor;
            };
            clearable: {
                type: BooleanConstructor;
                default: boolean;
            };
            isSearchMethod: {
                type: BooleanConstructor;
                default: boolean;
            };
            resetSelectIcon: {
                type: StringConstructor;
                default: string;
            };
            filterQueryProp: {
                type: StringConstructor;
                default: string;
            };
            selectionDom: {
                type: ObjectConstructor;
            };
            allowCreate: {
                type: BooleanConstructor;
                default: boolean;
            };
            showCreateItem: {
                type: BooleanConstructor;
                default: boolean;
            };
            id: {
                type: StringConstructor;
            };
        }>>, {
            prefixCls: string;
            wrapper: import("vue").Ref<HTMLElement>;
            input: import("vue").Ref<HTMLInputElement>;
            data: {
                inputLength: number;
                filterQuery: string;
                isInputChange: boolean;
            };
            wrapperClasses: import("vue").ComputedRef<{
                [x: string]: string | boolean | import("vue").Slot;
            }>;
            selectedMultiple: import("vue").ComputedRef<OptionData[]>;
            defaultDisplayClasses: import("vue").ComputedRef<(string | {
                [x: string]: string | boolean | import("vue").Slot;
            })[]>;
            defaultDisplayValue: import("vue").ComputedRef<string>;
            resetSelect: import("vue").ComputedRef<boolean>;
            showPlaceholder: import("vue").ComputedRef<boolean>;
            inputStyles: import("vue").ComputedRef<{
                width?: string;
            }>;
            inputClasses: import("vue").ComputedRef<(string | {
                'ivue-select-input-filter-placeholder': boolean; /**
                 * 是否可以清除选择
                 *
                 * @type {Boolean}
                 */
            })[]>;
            handleClear: () => void;
            handleRemoveSelectItem: (value: any) => boolean;
            handleInputFocus: () => void;
            handleInputBlur: () => void;
            handleResetInputState: (event?: any) => void;
            handleInputDelete: (event: Event) => void;
            handleInputEnter: (event: Event) => void;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            values: unknown[];
            placeholder: string;
            disabled: boolean;
            clearable: boolean;
            multiple: boolean;
            multipleIcon: string;
            filterable: boolean;
            isSearchMethod: boolean;
            resetSelectIcon: string;
            filterQueryProp: string;
            allowCreate: boolean;
            showCreateItem: boolean;
        }, {}, string> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        multipleIcon: {
            type: StringConstructor;
            default: string;
        };
        values: {
            type: ArrayConstructor;
            default: () => any[];
        };
        prefix: {
            type: StringConstructor;
        };
        filterable: {
            type: BooleanConstructor;
            default: boolean;
        };
        maxTagCount: {
            type: NumberConstructor;
        };
        maxTagPlaceholder: {
            type: FunctionConstructor;
        };
        placeholder: {
            type: StringConstructor;
            default: string;
        };
        arrowDownIcon: {
            type: StringConstructor;
        };
        clearable: {
            type: BooleanConstructor;
            default: boolean;
        };
        isSearchMethod: {
            type: BooleanConstructor;
            default: boolean;
        };
        resetSelectIcon: {
            type: StringConstructor;
            default: string;
        };
        filterQueryProp: {
            type: StringConstructor;
            default: string;
        };
        selectionDom: {
            type: ObjectConstructor;
        };
        allowCreate: {
            type: BooleanConstructor;
            default: boolean;
        };
        showCreateItem: {
            type: BooleanConstructor;
            default: boolean;
        };
        id: {
            type: StringConstructor;
        };
    }>> & import("vue").ShallowUnwrapRef<{
        prefixCls: string;
        wrapper: import("vue").Ref<HTMLElement>;
        input: import("vue").Ref<HTMLInputElement>;
        data: {
            inputLength: number;
            filterQuery: string;
            isInputChange: boolean;
        };
        wrapperClasses: import("vue").ComputedRef<{
            [x: string]: string | boolean | import("vue").Slot;
        }>;
        selectedMultiple: import("vue").ComputedRef<OptionData[]>;
        defaultDisplayClasses: import("vue").ComputedRef<(string | {
            [x: string]: string | boolean | import("vue").Slot;
        })[]>;
        defaultDisplayValue: import("vue").ComputedRef<string>;
        resetSelect: import("vue").ComputedRef<boolean>;
        showPlaceholder: import("vue").ComputedRef<boolean>;
        inputStyles: import("vue").ComputedRef<{
            width?: string;
        }>;
        inputClasses: import("vue").ComputedRef<(string | {
            'ivue-select-input-filter-placeholder': boolean; /**
             * 是否可以清除选择
             *
             * @type {Boolean}
             */
        })[]>;
        handleClear: () => void;
        handleRemoveSelectItem: (value: any) => boolean;
        handleInputFocus: () => void;
        handleInputBlur: () => void;
        handleResetInputState: (event?: any) => void;
        handleInputDelete: (event: Event) => void;
        handleInputEnter: (event: Event) => void;
    }> & {} & import("vue").ComponentCustomProperties & {}>;
    popover: import("../ivue-popover/types/popover").PopoverContext;
    data: {
        visibleMenu: boolean;
        isFocused: boolean;
        values: any[];
        options: ({
            $: import("vue").ComponentInternalInstance;
            $data: {};
            $props: Partial<{
                disabled: boolean;
                ripple: boolean;
                allowCreate: boolean;
                showCreateItem: boolean;
                filterQuery: string;
                selected: boolean;
                isFocused: boolean;
            }> & Omit<Readonly<import("vue").ExtractPropTypes<{
                ripple: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                selected: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                isFocused: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                label: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                value: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                selectedColor: {
                    type: (StringConstructor | ArrayConstructor)[];
                };
                hoverColor: {
                    type: (StringConstructor | ArrayConstructor)[];
                };
                allowCreate: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                showCreateItem: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                filterQuery: {
                    type: StringConstructor;
                    default: string;
                };
            }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "ripple" | "allowCreate" | "showCreateItem" | "filterQuery" | "selected" | "isFocused">;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import("vue").Slot;
            }>;
            $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
            $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
            $emit: (event: string, ...args: any[]) => void;
            $el: any;
            $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
                ripple: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                selected: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                isFocused: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                label: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                value: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                selectedColor: {
                    type: (StringConstructor | ArrayConstructor)[];
                };
                hoverColor: {
                    type: (StringConstructor | ArrayConstructor)[];
                };
                allowCreate: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                showCreateItem: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                filterQuery: {
                    type: StringConstructor;
                    default: string;
                };
            }>>, {
                /**
                 * 判断是否有焦点
                 *
                 * @type {Boolean}
                 */
                data: {
                    isFocused: boolean;
                    disabled: boolean;
                    hasMouseHover: boolean;
                    visible: boolean;
                };
                classes: import("vue").ComputedRef<(string | {
                    [x: string]: boolean;
                })[]>;
                styles: import("vue").ComputedRef<{}>;
                showLabel: import("vue").ComputedRef<string | number>;
                getLabel: import("vue").ComputedRef<any>;
                itemSelected: import("vue").ComputedRef<boolean>;
                isDisabled: import("vue").ComputedRef<boolean>;
                handleOptionClick: () => void; /**
                 * 子选项 dom
                 *
                 * @type {Array}
                 */
                handleMouseenter: () => void;
                handleMouseleave: () => void;
                setBackgroundColor: (color: string | string[]) => {};
            }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
                disabled: boolean;
                ripple: boolean;
                allowCreate: boolean;
                showCreateItem: boolean;
                filterQuery: string;
                selected: boolean;
                isFocused: boolean;
            }, {}, string> & {
                beforeCreate?: (() => void) | (() => void)[];
                created?: (() => void) | (() => void)[];
                beforeMount?: (() => void) | (() => void)[];
                mounted?: (() => void) | (() => void)[];
                beforeUpdate?: (() => void) | (() => void)[];
                updated?: (() => void) | (() => void)[];
                activated?: (() => void) | (() => void)[];
                deactivated?: (() => void) | (() => void)[];
                beforeDestroy?: (() => void) | (() => void)[];
                beforeUnmount?: (() => void) | (() => void)[];
                destroyed?: (() => void) | (() => void)[];
                unmounted?: (() => void) | (() => void)[];
                renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
                renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
                errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: typeof nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
        } & Readonly<import("vue").ExtractPropTypes<{
            ripple: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            selected: {
                type: BooleanConstructor;
                default: boolean;
            };
            isFocused: {
                type: BooleanConstructor;
                default: boolean;
            };
            label: {
                type: (NumberConstructor | StringConstructor)[];
            };
            value: {
                type: (NumberConstructor | StringConstructor)[];
            };
            selectedColor: {
                type: (StringConstructor | ArrayConstructor)[];
            };
            hoverColor: {
                type: (StringConstructor | ArrayConstructor)[];
            };
            allowCreate: {
                type: BooleanConstructor;
                default: boolean;
            };
            showCreateItem: {
                type: BooleanConstructor;
                default: boolean;
            };
            filterQuery: {
                type: StringConstructor;
                default: string;
            };
        }>> & import("vue").ShallowUnwrapRef<{
            /**
             * 判断是否有焦点
             *
             * @type {Boolean}
             */
            data: {
                isFocused: boolean;
                disabled: boolean;
                hasMouseHover: boolean;
                visible: boolean;
            };
            classes: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            styles: import("vue").ComputedRef<{}>;
            showLabel: import("vue").ComputedRef<string | number>;
            getLabel: import("vue").ComputedRef<any>;
            itemSelected: import("vue").ComputedRef<boolean>;
            isDisabled: import("vue").ComputedRef<boolean>;
            handleOptionClick: () => void; /**
             * 子选项 dom
             *
             * @type {Array}
             */
            handleMouseenter: () => void;
            handleMouseleave: () => void;
            setBackgroundColor: (color: string | string[]) => {};
        }> & {} & import("vue").ComponentCustomProperties & {})[];
        focusIndex: number;
        filterQueryChange: boolean;
        filterQuery: string;
        hasMouseHover: boolean;
        lastSearchQuery: string;
        selectEmitter: {
            all: import("mitt").EventHandlerMap<Record<import("mitt").EventType, unknown>>;
            on: {
                <Key extends import("mitt").EventType>(type: Key, handler: import("mitt").Handler<Record<import("mitt").EventType, unknown>[Key]>): void;
                (type: "*", handler: import("mitt").WildcardHandler<Record<import("mitt").EventType, unknown>>): void;
            };
            off: {
                <Key_1 extends import("mitt").EventType>(type: Key_1, handler?: import("mitt").Handler<Record<import("mitt").EventType, unknown>[Key_1]>): void;
                (type: "*", handler: import("mitt").WildcardHandler<Record<import("mitt").EventType, unknown>>): void;
            };
            emit: {
                <Key_2 extends import("mitt").EventType>(type: Key_2, event: Record<import("mitt").EventType, unknown>[Key_2]): void;
                <Key_3 extends import("mitt").EventType>(type: undefined extends Record<import("mitt").EventType, unknown>[Key_3] ? Key_3 : never): void;
            };
        };
        hasExpectedValue: boolean;
        _filterQuery: string;
        disableMenu: boolean;
    };
    inputId: import("vue").Ref<string>;
    inputDisabled: import("vue").ComputedRef<boolean>;
    classes: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    selectionClasses: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    createItemClasses: import("vue").ComputedRef<string[]>;
    selectTabindex: import("vue").ComputedRef<0 | -1>;
    currentSelectValue: import("vue").ComputedRef<any>;
    isSearchMethod: import("vue").ComputedRef<boolean>;
    showNotFindText: import("vue").ComputedRef<boolean>;
    dropVisible: import("vue").ComputedRef<boolean>;
    canClearable: import("vue").ComputedRef<boolean>;
    showCreateItem: import("vue").ComputedRef<boolean>;
    dropdownClasses: import("vue").ComputedRef<{
        [x: string]: string | boolean;
        "ivue-auto-complete": boolean;
        "ivue-auto-complete--notdata": boolean;
    }>;
    handleClickOutside: (event: Event) => void;
    handleHeaderFocus: ({ type }: {
        type: any;
    }) => void;
    handleOption: (option: OptionInstance, values: string[], isFocused: boolean) => {
        option: {
            $: import("vue").ComponentInternalInstance;
            $data: {};
            $props: Partial<{
                disabled: boolean;
                ripple: boolean;
                allowCreate: boolean;
                showCreateItem: boolean;
                filterQuery: string;
                selected: boolean;
                isFocused: boolean;
            }> & Omit<Readonly<import("vue").ExtractPropTypes<{
                ripple: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                selected: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                isFocused: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                label: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                value: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                selectedColor: {
                    type: (StringConstructor | ArrayConstructor)[];
                };
                hoverColor: {
                    type: (StringConstructor | ArrayConstructor)[];
                };
                allowCreate: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                showCreateItem: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                filterQuery: {
                    type: StringConstructor;
                    default: string;
                };
            }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "disabled" | "ripple" | "allowCreate" | "showCreateItem" | "filterQuery" | "selected" | "isFocused">;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import("vue").Slot;
            }>;
            $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
            $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
            $emit: (event: string, ...args: any[]) => void;
            $el: any;
            $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
                ripple: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                selected: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                isFocused: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                label: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                value: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                selectedColor: {
                    type: (StringConstructor | ArrayConstructor)[];
                };
                hoverColor: {
                    type: (StringConstructor | ArrayConstructor)[];
                };
                allowCreate: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                showCreateItem: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                filterQuery: {
                    type: StringConstructor;
                    default: string;
                };
            }>>, {
                /**
                 * 判断是否有焦点
                 *
                 * @type {Boolean}
                 */
                data: {
                    isFocused: boolean;
                    disabled: boolean;
                    hasMouseHover: boolean;
                    visible: boolean;
                };
                classes: import("vue").ComputedRef<(string | {
                    [x: string]: boolean;
                })[]>;
                styles: import("vue").ComputedRef<{}>;
                showLabel: import("vue").ComputedRef<string | number>;
                getLabel: import("vue").ComputedRef<any>;
                itemSelected: import("vue").ComputedRef<boolean>;
                isDisabled: import("vue").ComputedRef<boolean>;
                handleOptionClick: () => void; /**
                 * 子选项 dom
                 *
                 * @type {Array}
                 */
                handleMouseenter: () => void;
                handleMouseleave: () => void;
                setBackgroundColor: (color: string | string[]) => {};
            }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
                disabled: boolean;
                ripple: boolean;
                allowCreate: boolean;
                showCreateItem: boolean;
                filterQuery: string;
                selected: boolean;
                isFocused: boolean;
            }, {}, string> & {
                beforeCreate?: (() => void) | (() => void)[];
                created?: (() => void) | (() => void)[];
                beforeMount?: (() => void) | (() => void)[];
                mounted?: (() => void) | (() => void)[];
                beforeUpdate?: (() => void) | (() => void)[];
                updated?: (() => void) | (() => void)[];
                activated?: (() => void) | (() => void)[];
                deactivated?: (() => void) | (() => void)[];
                beforeDestroy?: (() => void) | (() => void)[];
                beforeUnmount?: (() => void) | (() => void)[];
                destroyed?: (() => void) | (() => void)[];
                unmounted?: (() => void) | (() => void)[];
                renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
                renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
                errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: typeof nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
        } & Readonly<import("vue").ExtractPropTypes<{
            ripple: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            selected: {
                type: BooleanConstructor;
                default: boolean;
            };
            isFocused: {
                type: BooleanConstructor;
                default: boolean;
            };
            label: {
                type: (NumberConstructor | StringConstructor)[];
            };
            value: {
                type: (NumberConstructor | StringConstructor)[];
            };
            selectedColor: {
                type: (StringConstructor | ArrayConstructor)[];
            };
            hoverColor: {
                type: (StringConstructor | ArrayConstructor)[];
            };
            allowCreate: {
                type: BooleanConstructor;
                default: boolean;
            };
            showCreateItem: {
                type: BooleanConstructor;
                default: boolean;
            };
            filterQuery: {
                type: StringConstructor;
                default: string;
            };
        }>> & import("vue").ShallowUnwrapRef<{
            /**
             * 判断是否有焦点
             *
             * @type {Boolean}
             */
            data: {
                isFocused: boolean;
                disabled: boolean;
                hasMouseHover: boolean;
                visible: boolean;
            };
            classes: import("vue").ComputedRef<(string | {
                [x: string]: boolean;
            })[]>;
            styles: import("vue").ComputedRef<{}>;
            showLabel: import("vue").ComputedRef<string | number>;
            getLabel: import("vue").ComputedRef<any>;
            itemSelected: import("vue").ComputedRef<boolean>;
            isDisabled: import("vue").ComputedRef<boolean>;
            handleOptionClick: () => void; /**
             * 子选项 dom
             *
             * @type {Array}
             */
            handleMouseenter: () => void;
            handleMouseleave: () => void;
            setBackgroundColor: (color: string | string[]) => {};
        }> & {} & import("vue").ComponentCustomProperties & {};
    };
    handleToggleMenu: (event: Event, force?: boolean) => boolean;
    handleFilterQueryChange: (filterQuery: string) => void;
    handleKeyDown: (event: any) => void;
    handleCreateItem: (event: Event) => void;
    setFocusIndex: (option: OptionData) => number;
    setQuery: (query: string) => void;
    clearSingleSelect: () => void;
    focus: () => void;
    resetData: () => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("on-change" | "update:modelValue" | "on-clear" | "on-menu-open" | "on-filter-query-change" | "on-set-default-options" | "on-create" | "on-select")[], "on-change" | "update:modelValue" | "on-clear" | "on-menu-open" | "on-filter-query-change" | "on-set-default-options" | "on-create" | "on-select", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * 设置选择的值
     *
     * @type {String, Number, Array}
     */
    modelValue: {
        type: (NumberConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    /**
     * 远程搜索时，显示默认 label，详见示例
     *
     * @type {String, Number, Array}
     */
    defaultLabel: {
        type: (NumberConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    /**
     * 选择选项时的颜色
     *
     * @type {String | Array}
     */
    selectedColor: {
        type: (StringConstructor | ArrayConstructor)[];
        default: string;
    };
    /**
     * hover 选择选项时的颜色
     *
     * @type {String | Array}
     */
    hoverColor: {
        type: (StringConstructor | ArrayConstructor)[];
        default: () => string;
    };
    /**
     * 是否开启多选
     *
     * @type {Boolean}
     */
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启多选过滤收起时清除输入
     *
     * @type {Boolean}
     */
    multipleFilterableClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 设置多选删除图标
     *
     * @type {Boolean}
     */
    multipleIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 是否禁用选择组件
     *
     * @type {Boolean}
     */
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启外部点击的 capture 模式，可通过全局配置
     *
     * @type {Boolean}
     */
    capture: {
        type: BooleanConstructor;
        default(): any;
    };
    /**
     * 是否支持搜索
     *
     * @type {Boolean}
     */
    filterable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * input name
     *
     * @type {String}
     */
    name: {
        type: StringConstructor;
    };
    /**
     * 是否将label和value一起返回
     *
     * @type {Boolean}
     */
    labelAndValue: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 在 Select 内显示图标
     *
     * @type {String}
     */
    prefix: {
        type: StringConstructor;
    };
    /**
     * 多选时最多显示多少个 tag
     *
     * @type {Number}
     */
    maxTagCount: {
        type: NumberConstructor;
    };
    /**
     * 隐藏 tag 时显示的内容，参数是剩余项数量
     *
     * @type {Function}
     */
    maxTagPlaceholder: {
        type: FunctionConstructor;
    };
    /**
     * 输入提示
     *
     * @type {String}
     */
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 是否允许用户创建新条目，需开启 filterable
     *
     * @type {Boolean}
     */
    allowCreate: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 创建新条目按钮图标
     *
     * @type {Boolean}
     */
    allowCreateIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 没有找到数据时的提示
     *
     * @type {String}
     */
    notFindText: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 搜索方法
     *
     * @type {Function}
     */
    searchMethod: {
        type: FunctionConstructor;
    };
    /**
     * 下拉图标
     *
     * @type {String}
     */
    arrowDownIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 是否可以清除选择
     *
     * @type {Boolean}
     */
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 清除选择图标
     *
     * @type {String}
     */
    resetSelectIcon: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 开启搜索时，隐藏group组件头
     *
     * @type {Boolean}
     */
    filterableHiddenGroup: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 加载中
     *
     * @type {Boolean}
     */
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 加载中的文字提示
     *
     * @type {String}
     */
    loadingText: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 搜索时，只按 label 进行搜索
     *
     * @type {Boolean}
     */
    filterByLabel: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启还原输入框内容（仅在单选时生效）
     *
     * @type {Boolean}
     */
    restoreInputOption: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否将弹层放置于 body 内，在 Tabs、
     * 带有 fixed 的 Table 列内使用时，
     * 建议添加此属性，它将不受父级样式影响，
     * 从而达到更好的效果
     *
     * @type {Boolean}
     */
    transfer: {
        type: BooleanConstructor;
        default(): any;
    };
    /**
     * 弹窗的展开方向
     *
     * @type {String}
     */
    placement: {
        type: StringConstructor;
        validator(value: string): boolean;
        default: string;
    };
    /**
     * 开启 transfer 时，给浮层添加额外的 class 名称
     *
     * @type {String}
     */
    transferClassName: {
        type: StringConstructor;
    };
    /**
     * 自动完成
     *
     * @type {Boolean}
     */
    autoComplete: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 外部输入框输入数据
     *
     * @type {String}
     */
    filterQueryProp: {
        type: StringConstructor;
        default: string;
    };
    /**
     * 输入时是否触发表单的校验
     *
     * @type {Boolean}
     */
    validateEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * id
     *
     * @type {String}
     */
    id: {
        type: StringConstructor;
    };
}>> & {
    "onOn-change"?: (...args: any[]) => any;
    "onUpdate:modelValue"?: (...args: any[]) => any;
    "onOn-clear"?: (...args: any[]) => any;
    "onOn-menu-open"?: (...args: any[]) => any;
    "onOn-filter-query-change"?: (...args: any[]) => any;
    "onOn-set-default-options"?: (...args: any[]) => any;
    "onOn-create"?: (...args: any[]) => any;
    "onOn-select"?: (...args: any[]) => any;
}, {
    modelValue: string | number | unknown[];
    placeholder: string;
    disabled: boolean;
    clearable: boolean;
    validateEvent: boolean;
    loading: boolean;
    multiple: boolean;
    multipleIcon: string;
    filterable: boolean;
    arrowDownIcon: string;
    resetSelectIcon: string;
    filterQueryProp: string;
    allowCreate: boolean;
    transfer: boolean;
    placement: string;
    selectedColor: string | unknown[];
    hoverColor: string | unknown[];
    defaultLabel: string | number | unknown[];
    multipleFilterableClear: boolean;
    capture: boolean;
    labelAndValue: boolean;
    allowCreateIcon: string;
    notFindText: string;
    filterableHiddenGroup: boolean;
    loadingText: string;
    filterByLabel: boolean;
    restoreInputOption: boolean;
    autoComplete: boolean;
}>;
export default _sfc_main;
