import { PropType, ShallowRef, VNode } from 'vue';
import { type SlotsType } from 'vue';
import { GetMenuListFunc, ICommonItem, ISearchItem, ISearchValue, MenuSlotParams, SearchItemType, SearchLogical, SelectedItem, ValidateValuesFunc, ValueBehavior } from './utils';
export declare const SearchSelectProps: {
    data: {
        type: PropType<Omit<ISearchItem, "isSelected" | "value">[]>;
        default: () => any[];
    };
    modelValue: {
        type: PropType<ISearchValue[]>;
        default: () => any[];
    };
    maxHeight: {
        type: NumberConstructor;
        default: number;
    };
    conditions: {
        type: PropType<ICommonItem[]>;
        default: () => any[];
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: StringConstructor;
    getMenuList: PropType<GetMenuListFunc>;
    validateValues: PropType<ValidateValuesFunc>;
    uniqueSelect: {
        type: BooleanConstructor;
        default: boolean;
    };
    valueBehavior: {
        type: PropType<`${ValueBehavior}`>;
        default: ValueBehavior;
        validator(v: ValueBehavior): boolean;
    };
};
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    data: {
        type: PropType<Omit<ISearchItem, "isSelected" | "value">[]>;
        default: () => any[];
    };
    modelValue: {
        type: PropType<ISearchValue[]>;
        default: () => any[];
    };
    maxHeight: {
        type: NumberConstructor;
        default: number;
    };
    conditions: {
        type: PropType<ICommonItem[]>;
        default: () => any[];
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: StringConstructor;
    getMenuList: PropType<GetMenuListFunc>;
    validateValues: PropType<ValidateValuesFunc>;
    uniqueSelect: {
        type: BooleanConstructor;
        default: boolean;
    };
    valueBehavior: {
        type: PropType<`${ValueBehavior}`>;
        default: ValueBehavior;
        validator(v: ValueBehavior): boolean;
    };
}>, {
    inputRef: import("vue").Ref<import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        data: {
            type: PropType<ISearchItem[]>;
            required: true;
        };
        showInputBefore: BooleanConstructor;
        showCondition: BooleanConstructor;
        clickOutside: FunctionConstructor;
        placeholder: StringConstructor;
        conditions: {
            type: PropType<ICommonItem[]>;
            default: () => any[];
        };
        defaultUsingItem: PropType<SelectedItem>;
        mode: {
            type: PropType<import("./utils").SearchInputMode>;
            default: import("./utils").SearchInputMode;
        };
        maxHeight: {
            type: NumberConstructor;
            default: () => number;
        };
        getMenuList: PropType<GetMenuListFunc>;
        validateValues: PropType<ValidateValuesFunc>;
        valueBehavior: PropType<ValueBehavior>;
    }>> & Readonly<{
        onFocus?: (...args: any[]) => any;
        onAdd?: (...args: any[]) => any;
        onDelete?: (...args: any[]) => any;
        onSelectKey?: (...args: any[]) => any;
    }>, {
        popoverRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        inputRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        keyword: import("vue").Ref<string, string>;
        loading: import("vue").Ref<boolean, boolean>;
        remoteMenuList: import("vue").Ref<{
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[], ICommonItem[] | {
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[]>;
        menuList: import("vue").Ref<ISearchItem[], ISearchItem[]>;
        menuHoverId: import("vue").Ref<string, string>;
        isFocus: import("vue").Ref<boolean, boolean>;
        isComposition: import("vue").Ref<boolean, boolean>;
        usingItem: import("vue").Ref<SelectedItem, SelectedItem>;
        showPopover: import("vue").Ref<boolean, boolean>;
        showNoSelectValueError: import("vue").Ref<boolean, boolean>;
        debounceSetMenuList: {
            (this: any): any;
            cancel(): void;
        };
        documentArrowEvent: (e: KeyboardEvent) => void;
        handleClickOutside: (e: MouseEvent) => void;
        handleInputFocus: (event?: FocusEvent) => void;
        handleInputChange: (event: Event) => void;
        handleInputPaste: (event: ClipboardEvent) => void;
        handleLogicalChange: (logical: SearchLogical) => void;
        handleInputKeyup: (event: KeyboardEvent) => void;
        handleSelectItem: (item: ICommonItem, type?: SearchItemType) => Promise<void>;
        handleSelectConditionItem: (item: ICommonItem) => void;
        handleMenuFooterClick: (item: import("./utils").IMenuFooterItem) => void;
        resolveClassName: (cls: string) => string;
        inputFocusForWrapper: () => void;
        inputEnterForWrapper: () => Promise<void>;
        inputClearForWrapper: () => void;
        deleteInputTextNode: () => void;
        customPanelSubmit: (value: string) => void;
        refreshMenuHover: () => void;
        t: import("vue").ComputedRef<{
            pleaseSelect: string;
            loading: string;
            filterQueryMustHasValue: string;
            ok: string;
            cancel: string;
            or: string;
            and: string;
            logical: string;
        }>;
        inputKey: import("vue").Ref<string, string>;
        handleCompositionEnd: (event: CompositionEvent) => void;
        handleCompositionStart: () => void;
        handleInputCopy: (event: ClipboardEvent) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("focus" | "add" | "delete" | "selectKey")[], import("vue").PublicProps, {
        mode: import("./utils").SearchInputMode;
        maxHeight: number;
        conditions: ICommonItem[];
        showInputBefore: boolean;
        showCondition: boolean;
    }, true, {}, SlotsType<{
        menu: MenuSlotParams;
    }>, import("vue").GlobalComponents, {
        clickoutside: import("vue").ObjectDirective<any, any, string, any>;
    } & import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        data: {
            type: PropType<ISearchItem[]>;
            required: true;
        };
        showInputBefore: BooleanConstructor;
        showCondition: BooleanConstructor;
        clickOutside: FunctionConstructor;
        placeholder: StringConstructor;
        conditions: {
            type: PropType<ICommonItem[]>;
            default: () => any[];
        };
        defaultUsingItem: PropType<SelectedItem>;
        mode: {
            type: PropType<import("./utils").SearchInputMode>;
            default: import("./utils").SearchInputMode;
        };
        maxHeight: {
            type: NumberConstructor;
            default: () => number;
        };
        getMenuList: PropType<GetMenuListFunc>;
        validateValues: PropType<ValidateValuesFunc>;
        valueBehavior: PropType<ValueBehavior>;
    }>> & Readonly<{
        onFocus?: (...args: any[]) => any;
        onAdd?: (...args: any[]) => any;
        onDelete?: (...args: any[]) => any;
        onSelectKey?: (...args: any[]) => any;
    }>, {
        popoverRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        inputRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        keyword: import("vue").Ref<string, string>;
        loading: import("vue").Ref<boolean, boolean>;
        remoteMenuList: import("vue").Ref<{
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[], ICommonItem[] | {
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[]>;
        menuList: import("vue").Ref<ISearchItem[], ISearchItem[]>;
        menuHoverId: import("vue").Ref<string, string>;
        isFocus: import("vue").Ref<boolean, boolean>;
        isComposition: import("vue").Ref<boolean, boolean>;
        usingItem: import("vue").Ref<SelectedItem, SelectedItem>;
        showPopover: import("vue").Ref<boolean, boolean>;
        showNoSelectValueError: import("vue").Ref<boolean, boolean>;
        debounceSetMenuList: {
            (this: any): any;
            cancel(): void;
        };
        documentArrowEvent: (e: KeyboardEvent) => void;
        handleClickOutside: (e: MouseEvent) => void;
        handleInputFocus: (event?: FocusEvent) => void;
        handleInputChange: (event: Event) => void;
        handleInputPaste: (event: ClipboardEvent) => void;
        handleLogicalChange: (logical: SearchLogical) => void;
        handleInputKeyup: (event: KeyboardEvent) => void;
        handleSelectItem: (item: ICommonItem, type?: SearchItemType) => Promise<void>;
        handleSelectConditionItem: (item: ICommonItem) => void;
        handleMenuFooterClick: (item: import("./utils").IMenuFooterItem) => void;
        resolveClassName: (cls: string) => string;
        inputFocusForWrapper: () => void;
        inputEnterForWrapper: () => Promise<void>;
        inputClearForWrapper: () => void;
        deleteInputTextNode: () => void;
        customPanelSubmit: (value: string) => void;
        refreshMenuHover: () => void;
        t: import("vue").ComputedRef<{
            pleaseSelect: string;
            loading: string;
            filterQueryMustHasValue: string;
            ok: string;
            cancel: string;
            or: string;
            and: string;
            logical: string;
        }>;
        inputKey: import("vue").Ref<string, string>;
        handleCompositionEnd: (event: CompositionEvent) => void;
        handleCompositionStart: () => void;
        handleInputCopy: (event: ClipboardEvent) => void;
    }, {}, {}, {}, {
        mode: import("./utils").SearchInputMode;
        maxHeight: number;
        conditions: ICommonItem[];
        showInputBefore: boolean;
        showCondition: boolean;
    }>, import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        data: {
            type: PropType<ISearchItem[]>;
            required: true;
        };
        showInputBefore: BooleanConstructor;
        showCondition: BooleanConstructor;
        clickOutside: FunctionConstructor;
        placeholder: StringConstructor;
        conditions: {
            type: PropType<ICommonItem[]>;
            default: () => any[];
        };
        defaultUsingItem: PropType<SelectedItem>;
        mode: {
            type: PropType<import("./utils").SearchInputMode>;
            default: import("./utils").SearchInputMode;
        };
        maxHeight: {
            type: NumberConstructor;
            default: () => number;
        };
        getMenuList: PropType<GetMenuListFunc>;
        validateValues: PropType<ValidateValuesFunc>;
        valueBehavior: PropType<ValueBehavior>;
    }>> & Readonly<{
        onFocus?: (...args: any[]) => any;
        onAdd?: (...args: any[]) => any;
        onDelete?: (...args: any[]) => any;
        onSelectKey?: (...args: any[]) => any;
    }>, {
        popoverRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        inputRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        keyword: import("vue").Ref<string, string>;
        loading: import("vue").Ref<boolean, boolean>;
        remoteMenuList: import("vue").Ref<{
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[], ICommonItem[] | {
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[]>;
        menuList: import("vue").Ref<ISearchItem[], ISearchItem[]>;
        menuHoverId: import("vue").Ref<string, string>;
        isFocus: import("vue").Ref<boolean, boolean>;
        isComposition: import("vue").Ref<boolean, boolean>;
        usingItem: import("vue").Ref<SelectedItem, SelectedItem>;
        showPopover: import("vue").Ref<boolean, boolean>;
        showNoSelectValueError: import("vue").Ref<boolean, boolean>;
        debounceSetMenuList: {
            (this: any): any;
            cancel(): void;
        };
        documentArrowEvent: (e: KeyboardEvent) => void;
        handleClickOutside: (e: MouseEvent) => void;
        handleInputFocus: (event?: FocusEvent) => void;
        handleInputChange: (event: Event) => void;
        handleInputPaste: (event: ClipboardEvent) => void;
        handleLogicalChange: (logical: SearchLogical) => void;
        handleInputKeyup: (event: KeyboardEvent) => void;
        handleSelectItem: (item: ICommonItem, type?: SearchItemType) => Promise<void>;
        handleSelectConditionItem: (item: ICommonItem) => void;
        handleMenuFooterClick: (item: import("./utils").IMenuFooterItem) => void;
        resolveClassName: (cls: string) => string;
        inputFocusForWrapper: () => void;
        inputEnterForWrapper: () => Promise<void>;
        inputClearForWrapper: () => void;
        deleteInputTextNode: () => void;
        customPanelSubmit: (value: string) => void;
        refreshMenuHover: () => void;
        t: import("vue").ComputedRef<{
            pleaseSelect: string;
            loading: string;
            filterQueryMustHasValue: string;
            ok: string;
            cancel: string;
            or: string;
            and: string;
            logical: string;
        }>;
        inputKey: import("vue").Ref<string, string>;
        handleCompositionEnd: (event: CompositionEvent) => void;
        handleCompositionStart: () => void;
        handleInputCopy: (event: ClipboardEvent) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("focus" | "add" | "delete" | "selectKey")[], import("vue").PublicProps, {
        mode: import("./utils").SearchInputMode;
        maxHeight: number;
        conditions: ICommonItem[];
        showInputBefore: boolean;
        showCondition: boolean;
    }, true, {}, SlotsType<{
        menu: MenuSlotParams;
    }>, import("vue").GlobalComponents, {
        clickoutside: import("vue").ObjectDirective<any, any, string, any>;
    } & import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        data: {
            type: PropType<ISearchItem[]>;
            required: true;
        };
        showInputBefore: BooleanConstructor;
        showCondition: BooleanConstructor;
        clickOutside: FunctionConstructor;
        placeholder: StringConstructor;
        conditions: {
            type: PropType<ICommonItem[]>;
            default: () => any[];
        };
        defaultUsingItem: PropType<SelectedItem>;
        mode: {
            type: PropType<import("./utils").SearchInputMode>;
            default: import("./utils").SearchInputMode;
        };
        maxHeight: {
            type: NumberConstructor;
            default: () => number;
        };
        getMenuList: PropType<GetMenuListFunc>;
        validateValues: PropType<ValidateValuesFunc>;
        valueBehavior: PropType<ValueBehavior>;
    }>> & Readonly<{
        onFocus?: (...args: any[]) => any;
        onAdd?: (...args: any[]) => any;
        onDelete?: (...args: any[]) => any;
        onSelectKey?: (...args: any[]) => any;
    }>, {
        popoverRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        inputRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
        keyword: import("vue").Ref<string, string>;
        loading: import("vue").Ref<boolean, boolean>;
        remoteMenuList: import("vue").Ref<{
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[], ICommonItem[] | {
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[]>;
        menuList: import("vue").Ref<ISearchItem[], ISearchItem[]>;
        menuHoverId: import("vue").Ref<string, string>;
        isFocus: import("vue").Ref<boolean, boolean>;
        isComposition: import("vue").Ref<boolean, boolean>;
        usingItem: import("vue").Ref<SelectedItem, SelectedItem>;
        showPopover: import("vue").Ref<boolean, boolean>;
        showNoSelectValueError: import("vue").Ref<boolean, boolean>;
        debounceSetMenuList: {
            (this: any): any;
            cancel(): void;
        };
        documentArrowEvent: (e: KeyboardEvent) => void;
        handleClickOutside: (e: MouseEvent) => void;
        handleInputFocus: (event?: FocusEvent) => void;
        handleInputChange: (event: Event) => void;
        handleInputPaste: (event: ClipboardEvent) => void;
        handleLogicalChange: (logical: SearchLogical) => void;
        handleInputKeyup: (event: KeyboardEvent) => void;
        handleSelectItem: (item: ICommonItem, type?: SearchItemType) => Promise<void>;
        handleSelectConditionItem: (item: ICommonItem) => void;
        handleMenuFooterClick: (item: import("./utils").IMenuFooterItem) => void;
        resolveClassName: (cls: string) => string;
        inputFocusForWrapper: () => void;
        inputEnterForWrapper: () => Promise<void>;
        inputClearForWrapper: () => void;
        deleteInputTextNode: () => void;
        customPanelSubmit: (value: string) => void;
        refreshMenuHover: () => void;
        t: import("vue").ComputedRef<{
            pleaseSelect: string;
            loading: string;
            filterQueryMustHasValue: string;
            ok: string;
            cancel: string;
            or: string;
            and: string;
            logical: string;
        }>;
        inputKey: import("vue").Ref<string, string>;
        handleCompositionEnd: (event: CompositionEvent) => void;
        handleCompositionStart: () => void;
        handleInputCopy: (event: ClipboardEvent) => void;
    }, {}, {}, {}, {
        mode: import("./utils").SearchInputMode;
        maxHeight: number;
        conditions: ICommonItem[];
        showInputBefore: boolean;
        showCondition: boolean;
    }>>;
    wrapRef: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
    isFocus: import("vue").Ref<boolean, boolean>;
    copyData: ShallowRef<ISearchItem[]>;
    selectedList: import("vue").Ref<{
        id: string;
        name: string;
        values: {
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[];
        condition: string;
        logical: SearchLogical;
        nameRenderKey: string;
        searchItem: {
            id: string;
            name: string;
            children?: {
                id: string;
                name: string;
                disabled?: boolean;
                realId?: string;
                value?: {
                    name: string;
                    id: string;
                    realId?: string;
                    isSelected?: boolean;
                    logical?: SearchLogical;
                };
                isSelected?: boolean;
                logical?: SearchLogical;
            }[];
            multiple?: boolean;
            async?: boolean;
            noValidate?: boolean;
            placeholder?: string;
            disabled?: boolean;
            value?: {
                id: string;
                name: string;
                disabled?: boolean;
                realId?: string;
                value?: {
                    name: string;
                    id: string;
                    realId?: string;
                    isSelected?: boolean;
                    logical?: SearchLogical;
                };
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            onlyRecommendChildren?: boolean;
            logical?: SearchLogical;
            showLogicalPanel?: boolean;
            isCustomMenu?: boolean;
        };
        type: SearchItemType;
        readonly multiple: boolean;
        readonly placeholder: string;
        readonly children: {
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[];
        readonly validate: boolean;
        readonly inputInnerHtml: string;
        readonly inputInnerText: string;
        readonly keyInnerHtml: string;
        readonly keyInnerText: string;
        readonly showLogical: boolean;
        readonly isCustomMenu: boolean;
        isSpecialType: () => boolean;
        addValue: (item: ICommonItem) => void;
        str2Values: (str: string) => ICommonItem[];
        addValues: (str: string, mergeValues?: boolean) => void;
        getValue: (str: string) => ICommonItem;
        toValue: () => ISearchValue;
        toValueKey: () => string;
        isInValueList: (item: ICommonItem) => boolean;
    }[], SelectedItem[] | {
        id: string;
        name: string;
        values: {
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[];
        condition: string;
        logical: SearchLogical;
        nameRenderKey: string;
        searchItem: {
            id: string;
            name: string;
            children?: {
                id: string;
                name: string;
                disabled?: boolean;
                realId?: string;
                value?: {
                    name: string;
                    id: string;
                    realId?: string;
                    isSelected?: boolean;
                    logical?: SearchLogical;
                };
                isSelected?: boolean;
                logical?: SearchLogical;
            }[];
            multiple?: boolean;
            async?: boolean;
            noValidate?: boolean;
            placeholder?: string;
            disabled?: boolean;
            value?: {
                id: string;
                name: string;
                disabled?: boolean;
                realId?: string;
                value?: {
                    name: string;
                    id: string;
                    realId?: string;
                    isSelected?: boolean;
                    logical?: SearchLogical;
                };
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            onlyRecommendChildren?: boolean;
            logical?: SearchLogical;
            showLogicalPanel?: boolean;
            isCustomMenu?: boolean;
        };
        type: SearchItemType;
        readonly multiple: boolean;
        readonly placeholder: string;
        readonly children: {
            id: string;
            name: string;
            disabled?: boolean;
            realId?: string;
            value?: {
                name: string;
                id: string;
                realId?: string;
                isSelected?: boolean;
                logical?: SearchLogical;
            };
            isSelected?: boolean;
            logical?: SearchLogical;
        }[];
        readonly validate: boolean;
        readonly inputInnerHtml: string;
        readonly inputInnerText: string;
        readonly keyInnerHtml: string;
        readonly keyInnerText: string;
        readonly showLogical: boolean;
        readonly isCustomMenu: boolean;
        isSpecialType: () => boolean;
        addValue: (item: ICommonItem) => void;
        str2Values: (str: string) => ICommonItem[];
        addValues: (str: string, mergeValues?: boolean) => void;
        getValue: (str: string) => ICommonItem;
        toValue: () => ISearchValue;
        toValueKey: () => string;
        isInValueList: (item: ICommonItem) => boolean;
    }[]>;
    overflowIndex: import("vue").Ref<number, number>;
    validateStr: import("vue").Ref<string, string>;
    onEditClick: (item: SelectedItem, index: number) => void;
    onEditEnter: (item: SelectedItem, index: number) => void;
    handleWrapClick: () => void;
    handleInputFocus: (v: boolean) => void;
    handleResize: () => void;
    handleClearAll: (e: MouseEvent) => void;
    handleInputOutside: (target: Node) => boolean;
    handleAddSelected: (item: SelectedItem) => void;
    handleDeleteSelected: (index?: number) => void;
    handleClickSearch: (e: MouseEvent) => void;
    localConditions: import("vue").ComputedRef<ICommonItem[]>;
    resolveClassName: (cls: string) => string;
    handleSelectedKey: (a: ICommonItem) => void;
    t: import("vue").ComputedRef<{
        pleaseSelect: string;
        loading: string;
        filterQueryMustHasValue: string;
        ok: string;
        cancel: string;
        or: string;
        and: string;
        logical: string;
    }>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("search" | "copy" | "update:modelValue" | "selectKey")[], "search" | "copy" | "update:modelValue" | "selectKey", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    data: {
        type: PropType<Omit<ISearchItem, "isSelected" | "value">[]>;
        default: () => any[];
    };
    modelValue: {
        type: PropType<ISearchValue[]>;
        default: () => any[];
    };
    maxHeight: {
        type: NumberConstructor;
        default: number;
    };
    conditions: {
        type: PropType<ICommonItem[]>;
        default: () => any[];
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: StringConstructor;
    getMenuList: PropType<GetMenuListFunc>;
    validateValues: PropType<ValidateValuesFunc>;
    uniqueSelect: {
        type: BooleanConstructor;
        default: boolean;
    };
    valueBehavior: {
        type: PropType<`${ValueBehavior}`>;
        default: ValueBehavior;
        validator(v: ValueBehavior): boolean;
    };
}>> & Readonly<{
    onCopy?: (...args: any[]) => any;
    onSearch?: (...args: any[]) => any;
    "onUpdate:modelValue"?: (...args: any[]) => any;
    onSelectKey?: (...args: any[]) => any;
}>, {
    data: Omit<ISearchItem, "value" | "isSelected">[];
    maxHeight: number;
    clearable: boolean;
    modelValue: ISearchValue[];
    conditions: ICommonItem[];
    valueBehavior: "all" | "need-key";
    uniqueSelect: boolean;
}, SlotsType<{
    menu: MenuSlotParams;
    prepend: () => VNode;
    append: () => VNode;
    validate: () => VNode;
}>, {}, {
    clickoutside: import("vue").ObjectDirective<any, any, string, any>;
}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
