import { nextTick, PropType } from 'vue';
import { BaseOptionItem, CascaderPlacementType, CascaderTriggerType } from './types';
import { CascaderProps } from 'element-plus';
/** 使默认导出的推断类型在生成 .d.ts 时可引用（TS2883 / PromisifyFn） */
export type { PromisifyFn } from '@vueuse/shared';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    onChange: {
        type: FunctionConstructor;
        required: false;
    };
    initialValue: {
        type: (StringConstructor | ArrayConstructor | NumberConstructor)[];
        required: false;
    };
    pageSize: {
        type: NumberConstructor;
        default: number;
    };
    requestFunction: {
        type: PropType<(page: number, size: number, query?: string) => Promise<any>>;
        required: true;
    };
    handleOptionsFunction: {
        type: PropType<(item: any) => {
            label: string;
            data: unknown;
            value: string | number;
        }>;
        required: true;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    forceSearch: {
        type: BooleanConstructor;
        default: boolean;
    };
    initialOptions: {
        type: PropType<BaseOptionItem<unknown>[]>;
        required: false;
        default: () => never[];
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    collapseTags: {
        type: BooleanConstructor;
        default: boolean;
    };
    collapseTagsTooltip: {
        type: BooleanConstructor;
        default: boolean;
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    cascaderProps: {
        type: PropType<CascaderProps>;
        default: () => {};
    };
    placement: {
        type: PropType<CascaderPlacementType>;
        default: string;
    };
    trigger: {
        type: PropType<CascaderTriggerType>;
        default: string;
    };
    popperClass: {
        type: StringConstructor;
    };
    teleported: {
        type: BooleanConstructor;
        default: boolean;
    };
    noDataText: {
        type: StringConstructor;
        default: string;
    };
    modelValue: {
        type: PropType<string | number | []>;
    };
}>, {
    reset: () => void;
    getSelectedOption: (searchId?: string | number | [] | undefined) => {
        label: string;
        value: string | number;
        data?: unknown;
    } | {
        label: string;
        value: string | number;
        data?: unknown;
    }[] | undefined;
    remoteMethod: (keyword?: string) => Promise<void>;
    handleRequestParamsChanged: (isChanged: boolean) => void;
    options: import('vue').Ref<{
        label: string;
        value: string | number;
        data?: unknown;
    }[], BaseOptionItem<unknown>[] | {
        label: string;
        value: string | number;
        data?: unknown;
    }[]>;
    cascderOptions: import('vue').Ref<{
        label: string;
        value: string | number;
        data?: unknown;
    }[], BaseOptionItem<unknown>[] | {
        label: string;
        value: string | number;
        data?: unknown;
    }[]>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (value: string | number | []) => any;
} & {
    change: (value: unknown, selectedItem: unknown) => any;
    removeTag: (value: string | number) => any;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    onChange: {
        type: FunctionConstructor;
        required: false;
    };
    initialValue: {
        type: (StringConstructor | ArrayConstructor | NumberConstructor)[];
        required: false;
    };
    pageSize: {
        type: NumberConstructor;
        default: number;
    };
    requestFunction: {
        type: PropType<(page: number, size: number, query?: string) => Promise<any>>;
        required: true;
    };
    handleOptionsFunction: {
        type: PropType<(item: any) => {
            label: string;
            data: unknown;
            value: string | number;
        }>;
        required: true;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    forceSearch: {
        type: BooleanConstructor;
        default: boolean;
    };
    initialOptions: {
        type: PropType<BaseOptionItem<unknown>[]>;
        required: false;
        default: () => never[];
    };
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    collapseTags: {
        type: BooleanConstructor;
        default: boolean;
    };
    collapseTagsTooltip: {
        type: BooleanConstructor;
        default: boolean;
    };
    clearable: {
        type: BooleanConstructor;
        default: boolean;
    };
    cascaderProps: {
        type: PropType<CascaderProps>;
        default: () => {};
    };
    placement: {
        type: PropType<CascaderPlacementType>;
        default: string;
    };
    trigger: {
        type: PropType<CascaderTriggerType>;
        default: string;
    };
    popperClass: {
        type: StringConstructor;
    };
    teleported: {
        type: BooleanConstructor;
        default: boolean;
    };
    noDataText: {
        type: StringConstructor;
        default: string;
    };
    modelValue: {
        type: PropType<string | number | []>;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((value: string | number | []) => any) | undefined;
    onChange?: ((value: unknown, selectedItem: unknown) => any) | undefined;
    onRemoveTag?: ((value: string | number) => any) | undefined;
}>, {
    placeholder: string;
    placement: CascaderPlacementType;
    clearable: boolean;
    pageSize: number;
    forceSearch: boolean;
    initialOptions: BaseOptionItem<unknown>[];
    multiple: boolean;
    collapseTags: boolean;
    collapseTagsTooltip: boolean;
    cascaderProps: CascaderProps;
    trigger: CascaderTriggerType;
    teleported: boolean;
    noDataText: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
    popoverRef: ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: {
            readonly trigger?: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').TooltipTriggerType> | undefined;
            readonly triggerKeys?: string[] | undefined;
            readonly placement?: import('element-plus').Placement | undefined;
            readonly disabled?: boolean | undefined;
            readonly visible?: boolean | null | undefined;
            readonly transition?: string | undefined;
            readonly popperOptions?: Partial<import('element-plus').Options> | undefined;
            readonly tabindex?: string | number | undefined;
            readonly content?: string | undefined;
            readonly popperStyle?: import('vue').StyleValue;
            readonly popperClass?: (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | (string | {
                [x: string]: boolean;
            } | /*elided*/ any)[])[])[])[])[])[])[])[])[])[])[]) | undefined;
            readonly enterable?: boolean | undefined;
            readonly effect?: import('element-plus').PopperEffect | undefined;
            readonly teleported?: boolean | undefined;
            readonly appendTo?: string | HTMLElement | undefined;
            readonly title?: string | undefined;
            readonly width?: string | number | undefined;
            readonly offset?: number | undefined;
            readonly showAfter?: number | undefined;
            readonly hideAfter?: number | undefined;
            readonly autoClose?: number | undefined;
            readonly showArrow?: boolean | undefined;
            readonly persistent?: boolean | undefined;
            readonly "onUpdate:visible"?: (((visible: boolean) => void) & ((value: boolean) => any)) | undefined;
            readonly "onBefore-enter"?: (() => any) | undefined | undefined;
            readonly "onBefore-leave"?: (() => any) | undefined | undefined;
            readonly "onAfter-enter"?: (() => any) | undefined | undefined;
            readonly "onAfter-leave"?: (() => any) | undefined | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
        $attrs: import('vue').Attrs;
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "update:visible", value: boolean) => void) & ((event: "before-enter") => void) & ((event: "before-leave") => void) & ((event: "after-enter") => void) & ((event: "after-leave") => void);
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<import('element-plus').PopoverProps> & Readonly<{
            "onUpdate:visible"?: ((value: boolean) => any) | undefined;
            "onBefore-enter"?: (() => any) | undefined;
            "onBefore-leave"?: (() => any) | undefined;
            "onAfter-enter"?: (() => any) | undefined;
            "onAfter-leave"?: (() => any) | undefined;
        }>, {
            popperRef: import('vue').ComputedRef<import('element-plus').PopperInstance | undefined>;
            hide: () => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            "update:visible": (value: boolean) => void;
            "before-enter": () => void;
            "before-leave": () => void;
            "after-enter": () => void;
            "after-leave": () => void;
        }, string, {
            effect: import('element-plus').PopperEffect;
            placement: import('element-plus').Placement;
            popperStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
            teleported: boolean;
            persistent: boolean;
            visible: boolean | null;
            enterable: boolean;
            offset: number;
            popperOptions: Partial<import('element-plus').Options>;
            showArrow: boolean;
            content: string;
            showAfter: number;
            hideAfter: number;
            autoClose: number;
            trigger: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').TooltipTriggerType>;
            triggerKeys: string[];
            width: string | number;
            tabindex: string | number;
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & {
            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 | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, 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: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle;
    } & Readonly<{
        effect: import('element-plus').PopperEffect;
        placement: import('element-plus').Placement;
        popperStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
        teleported: boolean;
        persistent: boolean;
        visible: boolean | null;
        enterable: boolean;
        offset: number;
        popperOptions: Partial<import('element-plus').Options>;
        showArrow: boolean;
        content: string;
        showAfter: number;
        hideAfter: number;
        autoClose: number;
        trigger: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').TooltipTriggerType>;
        triggerKeys: string[];
        width: string | number;
        tabindex: string | number;
    }> & Omit<Readonly<import('element-plus').PopoverProps> & Readonly<{
        "onUpdate:visible"?: ((value: boolean) => any) | undefined;
        "onBefore-enter"?: (() => any) | undefined;
        "onBefore-leave"?: (() => any) | undefined;
        "onAfter-enter"?: (() => any) | undefined;
        "onAfter-leave"?: (() => any) | undefined;
    }>, "tabindex" | "placement" | "popperStyle" | "popperOptions" | "width" | "visible" | "offset" | "trigger" | "teleported" | "effect" | "persistent" | "showArrow" | "popperRef" | "triggerKeys" | "content" | "enterable" | "showAfter" | "hideAfter" | "autoClose" | "hide"> & {
        popperRef: import('element-plus').PopperInstance | undefined;
        hide: () => void;
    } & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            reference?: (props: {}) => any;
        } & {
            default?: (props: {
                hide: () => void;
            }) => any;
        };
    }) | null;
    remoteSelectRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        ariaLabel: StringConstructor;
        emptyValues: ArrayConstructor;
        valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
        name: StringConstructor;
        id: StringConstructor;
        modelValue: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Record<string, any> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[]) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[]) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown, undefined, boolean>;
        autocomplete: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
        automaticDropdown: BooleanConstructor;
        size: {
            readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        effect: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string) | (() => import('element-plus').PopperEffect) | (((new (...args: any[]) => string) | (() => import('element-plus').PopperEffect)) | null)[], unknown, unknown, string, boolean>;
        disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
        clearable: BooleanConstructor;
        filterable: BooleanConstructor;
        allowCreate: BooleanConstructor;
        loading: BooleanConstructor;
        popperClass: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
        popperStyle: {
            readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | import('vue').CSSProperties) | (() => string | import('vue').CSSProperties) | (((new (...args: any[]) => string | import('vue').CSSProperties) | (() => string | import('vue').CSSProperties)) | null)[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => Partial<import('element-plus').Options>) | (() => Partial<import('element-plus').Options>) | (((new (...args: any[]) => Partial<import('element-plus').Options>) | (() => Partial<import('element-plus').Options>)) | null)[], unknown, unknown, () => Partial<import('element-plus').Options>, boolean>;
        remote: BooleanConstructor;
        debounce: import('element-plus/es/utils/index.mjs').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
        loadingText: StringConstructor;
        noMatchText: StringConstructor;
        noDataText: StringConstructor;
        remoteMethod: {
            readonly type: PropType<(query: string) => void>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        filterMethod: {
            readonly type: PropType<(query: string) => void>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        multiple: BooleanConstructor;
        multipleLimit: import('element-plus/es/utils/index.mjs').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
        placeholder: {
            readonly type: PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        defaultFirstOption: BooleanConstructor;
        reserveKeyword: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
        valueKey: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
        collapseTags: BooleanConstructor;
        collapseTagsTooltip: BooleanConstructor;
        tagTooltip: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => import('element-plus').TagTooltipProps) | (() => import('element-plus').TagTooltipProps) | (((new (...args: any[]) => import('element-plus').TagTooltipProps) | (() => import('element-plus').TagTooltipProps)) | null)[], unknown, unknown, () => {}, boolean>;
        maxCollapseTags: import('element-plus/es/utils/index.mjs').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
        teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        persistent: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
        clearIcon: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown, import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, boolean>;
        fitInputWidth: BooleanConstructor;
        suffixIcon: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown, import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, boolean>;
        tagType: {
            default: string;
            type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
            required: false;
            validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        tagEffect: {
            default: string;
            type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>>;
            required: false;
            validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        validateEvent: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
        remoteShowSuffix: BooleanConstructor;
        showArrow: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
        offset: import('element-plus/es/utils/index.mjs').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
        placement: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import('element-plus').Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import('element-plus').Placement)) | null)[], import('element-plus').Placement, unknown, string, boolean>;
        fallbackPlacements: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement[]) | (() => import('element-plus').Placement[]) | (((new (...args: any[]) => import('element-plus').Placement[]) | (() => import('element-plus').Placement[])) | null)[], unknown, unknown, string[], boolean>;
        tabindex: import('element-plus/es/utils/index.mjs').EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, number, boolean>;
        appendTo: {
            readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>) | (((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>)) | null)[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        options: {
            readonly type: PropType<Record<string, any>[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        props: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => import('element-plus/es/components/select-v2/src/useProps.mjs').Props) | (() => import('element-plus/es/components/select-v2/src/useProps.mjs').Props) | (((new (...args: any[]) => import('element-plus/es/components/select-v2/src/useProps.mjs').Props) | (() => import('element-plus/es/components/select-v2/src/useProps.mjs').Props)) | null)[], unknown, unknown, () => Required<import('element-plus/es/components/select-v2/src/useProps.mjs').Props>, boolean>;
    }>> & Readonly<{
        onChange?: ((...args: any[]) => any) | undefined;
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        onFocus?: ((...args: any[]) => any) | undefined;
        onBlur?: ((...args: any[]) => any) | undefined;
        onClear?: ((...args: any[]) => any) | undefined;
        "onVisible-change"?: ((...args: any[]) => any) | undefined;
        "onRemove-tag"?: ((...args: any[]) => any) | undefined;
        "onPopup-scroll"?: ((...args: any[]) => any) | undefined;
    }>, {
        modelValue: import('vue').ComputedRef<string | number | boolean | any[] | Record<string, any> | null | undefined>;
        selectedLabel: import('vue').ComputedRef<string | string[]>;
        calculatorRef: import('vue').ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        inputStyle: import('vue').ComputedRef<{
            minWidth: string;
        }>;
        getLabel: (option: import('element-plus/es/components/select-v2/src/select.types.mjs').Option) => any;
        getValue: (option: import('element-plus/es/components/select-v2/src/select.types.mjs').Option) => any;
        getOptions: (option: import('element-plus/es/components/select-v2/src/select.types.mjs').Option) => any;
        getDisabled: (option: import('element-plus/es/components/select-v2/src/select.types.mjs').Option) => any;
        getOptionProps: (option: Record<string, any>) => {
            label: any;
            value: any;
            disabled: any;
        };
        inputId: import('vue').Ref<string | undefined, string | undefined>;
        contentId: import('vue').Ref<string, string>;
        nsSelect: {
            namespace: import('vue').ComputedRef<string>;
            b: (blockSuffix?: string) => string;
            e: (element?: string) => string;
            m: (modifier?: string) => string;
            be: (blockSuffix?: string, element?: string) => string;
            em: (element?: string, modifier?: string) => string;
            bm: (blockSuffix?: string, modifier?: string) => string;
            bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        nsInput: {
            namespace: import('vue').ComputedRef<string>;
            b: (blockSuffix?: string) => string;
            e: (element?: string) => string;
            m: (modifier?: string) => string;
            be: (blockSuffix?: string, element?: string) => string;
            em: (element?: string, modifier?: string) => string;
            bm: (blockSuffix?: string, modifier?: string) => string;
            bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        states: {
            inputValue: string;
            options: Map<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>, import('element-plus').SelectOptionProxy> & Omit<Map<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>, import('element-plus').SelectOptionProxy>, keyof Map<any, any>>;
            cachedOptions: Map<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>, import('element-plus').SelectOptionProxy> & Omit<Map<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>, import('element-plus').SelectOptionProxy>, keyof Map<any, any>>;
            optionValues: import('element-plus/es/components/select/src/type.mjs').OptionValue[];
            selected: {
                index: number;
                value: import('element-plus/es/components/select/src/type.mjs').OptionValue;
                currentLabel: import('element-plus').SelectOptionProxy["currentLabel"];
                isDisabled?: import('element-plus').SelectOptionProxy["isDisabled"] | undefined;
            }[];
            hoveringIndex: number;
            inputHovering: boolean;
            selectionWidth: number;
            collapseItemWidth: number;
            previousQuery: string | null;
            selectedLabel: string;
            menuVisibleOnFocus: boolean;
            isBeforeHide: boolean;
        };
        isFocused: import('vue').Ref<boolean, boolean>;
        expanded: import('vue').Ref<boolean, boolean>;
        optionsArray: import('vue').ComputedRef<import('element-plus').SelectOptionProxy[]>;
        hoverOption: import('vue').Ref<any, any>;
        selectSize: import('vue').ComputedRef<"" | "default" | "large" | "small">;
        filteredOptionsCount: import('vue').ComputedRef<number>;
        updateTooltip: () => void;
        updateTagTooltip: () => void;
        debouncedOnInputChange: import('@vueuse/shared').PromisifyFn<() => void>;
        onInput: (event: Event) => void;
        deletePrevTag: (e: KeyboardEvent) => void;
        deleteTag: (event: MouseEvent, tag: import('element-plus').OptionBasic) => void;
        deleteSelected: (event: Event) => void;
        handleOptionSelect: (option: import('element-plus').SelectOptionProxy) => void;
        scrollToOption: (option: import('element-plus').SelectOptionProxy | import('element-plus').SelectOptionProxy[] | import('element-plus/es/components/select/src/type.mjs').SelectStates["selected"]) => void;
        hasModelValue: import('vue').ComputedRef<boolean>;
        shouldShowPlaceholder: import('vue').ComputedRef<boolean>;
        currentPlaceholder: import('vue').ComputedRef<string>;
        mouseEnterEventName: import('vue').ComputedRef<"mouseenter" | null>;
        needStatusIcon: import('vue').ComputedRef<boolean>;
        showClearBtn: import('vue').ComputedRef<boolean>;
        iconComponent: import('vue').ComputedRef<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown>>;
        iconReverse: import('vue').ComputedRef<string>;
        validateState: import('vue').ComputedRef<"error" | "" | "success" | "validating">;
        validateIcon: import('vue').ComputedRef<"" | import('vue').Component>;
        showNewOption: import('vue').ComputedRef<boolean>;
        updateOptions: () => void;
        collapseTagSize: import('vue').ComputedRef<"default" | "small">;
        setSelected: () => void;
        selectDisabled: import('vue').ComputedRef<boolean>;
        emptyText: import('vue').ComputedRef<string | null>;
        handleCompositionStart: (event: CompositionEvent) => void;
        handleCompositionUpdate: (event: CompositionEvent) => void;
        handleCompositionEnd: (event: CompositionEvent) => void;
        handleKeydown: (e: KeyboardEvent) => void;
        onOptionCreate: (vm: import('element-plus').SelectOptionProxy) => void;
        onOptionDestroy: (key: import('element-plus/es/components/select/src/type.mjs').OptionValue, vm: import('element-plus').SelectOptionProxy) => void;
        handleMenuEnter: () => void;
        focus: () => void;
        blur: () => void;
        handleClearClick: (event: Event) => void;
        handleClickOutside: (event: Event) => void;
        handleEsc: () => void;
        toggleMenu: (event?: Event) => void;
        selectOption: () => void;
        getValueKey: (item: import('element-plus').SelectOptionProxy | import('element-plus/es/components/select/src/type.mjs').SelectStates["selected"][0]) => any;
        navigateOptions: (direction: "prev" | "next") => void;
        dropdownMenuVisible: import('vue').WritableComputedRef<boolean, boolean>;
        showTagList: import('vue').ComputedRef<{
            index: number;
            value: import('element-plus/es/components/select/src/type.mjs').OptionValue;
            currentLabel: import('element-plus').SelectOptionProxy["currentLabel"];
            isDisabled?: import('element-plus').SelectOptionProxy["isDisabled"] | undefined;
        }[]>;
        collapseTagList: import('vue').ComputedRef<{
            index: number;
            value: import('element-plus/es/components/select/src/type.mjs').OptionValue;
            currentLabel: import('element-plus').SelectOptionProxy["currentLabel"];
            isDisabled?: import('element-plus').SelectOptionProxy["isDisabled"] | undefined;
        }[]>;
        popupScroll: (data: {
            scrollTop: number;
            scrollLeft: number;
        }) => void;
        getOption: (value: import('element-plus/es/components/select/src/type.mjs').OptionValue) => {
            index: number;
            value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>;
            currentLabel: any;
        } | {
            index: number;
            value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>;
            currentLabel: string | number | boolean;
            readonly isDisabled: boolean;
        };
        tagStyle: import('vue').ComputedRef<{
            maxWidth: string;
        }>;
        collapseTagStyle: import('vue').ComputedRef<{
            maxWidth: string;
        }>;
        popperRef: import('vue').ComputedRef<HTMLElement | undefined>;
        inputRef: import('vue').Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
        tooltipRef: import('vue').Ref<import('element-plus').TooltipInstance | undefined, import('element-plus').TooltipInstance | undefined>;
        tagTooltipRef: import('vue').Ref<import('element-plus').TooltipInstance | undefined, import('element-plus').TooltipInstance | undefined>;
        prefixRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        suffixRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        selectRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        wrapperRef: import('vue').ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        selectionRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        scrollbarRef: import('vue').Ref<import('element-plus').ScrollbarInstance | undefined, import('element-plus').ScrollbarInstance | undefined>;
        menuRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        tagMenuRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        collapseItemRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("clear" | "update:modelValue" | "change" | "blur" | "focus" | "visible-change" | "remove-tag" | "popup-scroll")[], import('vue').PublicProps, {
        effect: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string) | (() => import('element-plus').PopperEffect) | (((new (...args: any[]) => string) | (() => import('element-plus').PopperEffect)) | null)[], unknown, unknown>;
        props: import('element-plus/es/components/select-v2/src/useProps.mjs').Props;
        multiple: boolean;
        disabled: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        clearable: boolean;
        clearIcon: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown>;
        filterable: boolean;
        collapseTags: boolean;
        maxCollapseTags: number;
        collapseTagsTooltip: boolean;
        debounce: number;
        placement: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import('element-plus').Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import('element-plus').Placement)) | null)[], import('element-plus').Placement, unknown>;
        fallbackPlacements: import('element-plus').Placement[];
        popperClass: string;
        teleported: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        tagType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>;
        tagEffect: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>;
        validateEvent: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        persistent: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        modelValue: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | number | boolean | Record<string, any> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[]) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[]) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown>;
        valueOnClear: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
        loading: boolean;
        offset: number;
        popperOptions: Partial<import('element-plus').Options>;
        showArrow: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        autocomplete: string;
        suffixIcon: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown>;
        tabindex: import('element-plus/es/utils/index.mjs').EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>;
        automaticDropdown: boolean;
        allowCreate: boolean;
        remote: boolean;
        multipleLimit: number;
        defaultFirstOption: boolean;
        reserveKeyword: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        valueKey: string;
        tagTooltip: import('element-plus').TagTooltipProps;
        fitInputWidth: boolean;
        remoteShowSuffix: boolean;
    }, true, {}, {}, {
        ElSelectMenu: import('vue').DefineComponent<{}, {
            ns: {
                namespace: import('vue').ComputedRef<string>;
                b: (blockSuffix?: string) => string;
                e: (element?: string) => string;
                m: (modifier?: string) => string;
                be: (blockSuffix?: string, element?: string) => string;
                em: (element?: string, modifier?: string) => string;
                bm: (blockSuffix?: string, modifier?: string) => string;
                bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
                is: {
                    (name: string, state: boolean | undefined): string;
                    (name: string): string;
                };
                cssVar: (object: Record<string, string>) => Record<string, string>;
                cssVarName: (name: string) => string;
                cssVarBlock: (object: Record<string, string>) => Record<string, string>;
                cssVarBlockName: (name: string) => string;
            };
            minWidth: import('vue').Ref<string, string>;
            popperClass: import('vue').ComputedRef<string>;
            isMultiple: import('vue').ComputedRef<boolean>;
            isFitInputWidth: import('vue').ComputedRef<boolean>;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
        ElOption: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
            value: {
                readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>>;
                readonly required: true;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            label: {
                readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            created: BooleanConstructor;
            disabled: BooleanConstructor;
        }>, {
            ns: {
                namespace: import('vue').ComputedRef<string>;
                b: (blockSuffix?: string) => string;
                e: (element?: string) => string;
                m: (modifier?: string) => string;
                be: (blockSuffix?: string, element?: string) => string;
                em: (element?: string, modifier?: string) => string;
                bm: (blockSuffix?: string, modifier?: string) => string;
                bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
                is: {
                    (name: string, state: boolean | undefined): string;
                    (name: string): string;
                };
                cssVar: (object: Record<string, string>) => Record<string, string>;
                cssVarName: (name: string) => string;
                cssVarBlock: (object: Record<string, string>) => Record<string, string>;
                cssVarBlockName: (name: string) => string;
            };
            id: import('vue').Ref<string, string>;
            containerKls: import('vue').ComputedRef<string[]>;
            currentLabel: import('vue').ComputedRef<boolean | import('element-plus/es/utils/index.mjs').EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
            itemSelected: import('vue').ComputedRef<boolean>;
            isDisabled: import('vue').ComputedRef<boolean>;
            select: import('element-plus').SelectContext;
            visible: import('vue').Ref<boolean, boolean>;
            hover: import('vue').Ref<boolean, boolean>;
            states: {
                index: number;
                groupDisabled: boolean;
                visible: boolean;
                hover: boolean;
            };
            hoverItem: () => void;
            updateOption: (query: string) => void;
            selectOptionClick: () => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            value: {
                readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>>;
                readonly required: true;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            label: {
                readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __epPropKey: true;
            };
            created: BooleanConstructor;
            disabled: BooleanConstructor;
        }>> & Readonly<{}>, {
            disabled: boolean;
            created: boolean;
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
        ElOptions: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
            [key: string]: any;
        }>[], {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
        ElOptionGroup: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
            label: StringConstructor;
            disabled: BooleanConstructor;
        }>, {
            groupRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            visible: import('vue').ComputedRef<boolean>;
            ns: {
                namespace: import('vue').ComputedRef<string>;
                b: (blockSuffix?: string) => string;
                e: (element?: string) => string;
                m: (modifier?: string) => string;
                be: (blockSuffix?: string, element?: string) => string;
                em: (element?: string, modifier?: string) => string;
                bm: (blockSuffix?: string, modifier?: string) => string;
                bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
                is: {
                    (name: string, state: boolean | undefined): string;
                    (name: string): string;
                };
                cssVar: (object: Record<string, string>) => Record<string, string>;
                cssVarName: (name: string) => string;
                cssVarBlock: (object: Record<string, string>) => Record<string, string>;
                cssVarBlockName: (name: string) => string;
            };
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
            label: StringConstructor;
            disabled: BooleanConstructor;
        }>> & Readonly<{}>, {
            disabled: boolean;
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
        ElTag: import('element-plus/es/utils/index.mjs').SFCWithInstall<{
            new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('element-plus').TagProps> & Readonly<{
                onClick?: ((evt: MouseEvent) => any) | undefined;
                onClose?: ((evt: MouseEvent) => any) | undefined;
            }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                click: (evt: MouseEvent) => void;
                close: (evt: MouseEvent) => void;
            }, import('vue').PublicProps, {
                type: "primary" | "success" | "info" | "warning" | "danger";
                effect: "dark" | "light" | "plain";
            }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('element-plus').TagProps> & Readonly<{
                onClick?: ((evt: MouseEvent) => any) | undefined;
                onClose?: ((evt: MouseEvent) => any) | undefined;
            }>, {}, {}, {}, {}, {
                type: "primary" | "success" | "info" | "warning" | "danger";
                effect: "dark" | "light" | "plain";
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import('vue').ComponentOptionsBase<Readonly<import('element-plus').TagProps> & Readonly<{
            onClick?: ((evt: MouseEvent) => any) | undefined;
            onClose?: ((evt: MouseEvent) => any) | undefined;
        }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            click: (evt: MouseEvent) => void;
            close: (evt: MouseEvent) => void;
        }, string, {
            type: "primary" | "success" | "info" | "warning" | "danger";
            effect: "dark" | "light" | "plain";
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
            $slots: {
                default?: (props: {}) => any;
            } & {
                default?: (props: {}) => any;
            };
        })>;
        ElScrollbar: import('element-plus/es/utils/index.mjs').SFCWithInstall<{
            new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('element-plus').ScrollbarProps> & Readonly<{
                onScroll?: ((args_0: {
                    scrollTop: number;
                    scrollLeft: number;
                }) => any) | undefined;
                "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined;
            }>, {
                wrapRef: import('vue').Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
                update: () => void;
                scrollTo: {
                    (xCord: number, yCord?: number): void;
                    (options: ScrollToOptions): void;
                };
                setScrollTop: (value: number) => void;
                setScrollLeft: (value: number) => void;
                handleScroll: () => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                scroll: (args_0: {
                    scrollTop: number;
                    scrollLeft: number;
                }) => void;
                "end-reached": (direction: import('element-plus').ScrollbarDirection) => void;
            }, import('vue').PublicProps, {
                height: number | string;
                maxHeight: number | string;
                tabindex: number | string;
                tag: keyof HTMLElementTagNameMap | (string & {});
                distance: number;
                wrapStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
                wrapClass: string | string[];
                viewClass: string | string[];
                viewStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
                minSize: number;
            }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('element-plus').ScrollbarProps> & Readonly<{
                onScroll?: ((args_0: {
                    scrollTop: number;
                    scrollLeft: number;
                }) => any) | undefined;
                "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined;
            }>, {
                wrapRef: import('vue').Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
                update: () => void;
                scrollTo: {
                    (xCord: number, yCord?: number): void;
                    (options: ScrollToOptions): void;
                };
                setScrollTop: (value: number) => void;
                setScrollLeft: (value: number) => void;
                handleScroll: () => void;
            }, {}, {}, {}, {
                height: number | string;
                maxHeight: number | string;
                tabindex: number | string;
                tag: keyof HTMLElementTagNameMap | (string & {});
                distance: number;
                wrapStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
                wrapClass: string | string[];
                viewClass: string | string[];
                viewStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
                minSize: number;
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import('vue').ComponentOptionsBase<Readonly<import('element-plus').ScrollbarProps> & Readonly<{
            onScroll?: ((args_0: {
                scrollTop: number;
                scrollLeft: number;
            }) => any) | undefined;
            "onEnd-reached"?: ((direction: import('element-plus').ScrollbarDirection) => any) | undefined;
        }>, {
            wrapRef: import('vue').Ref<HTMLDivElement | undefined, HTMLDivElement | undefined>;
            update: () => void;
            scrollTo: {
                (xCord: number, yCord?: number): void;
                (options: ScrollToOptions): void;
            };
            setScrollTop: (value: number) => void;
            setScrollLeft: (value: number) => void;
            handleScroll: () => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            scroll: (args_0: {
                scrollTop: number;
                scrollLeft: number;
            }) => void;
            "end-reached": (direction: import('element-plus').ScrollbarDirection) => void;
        }, string, {
            height: number | string;
            maxHeight: number | string;
            tabindex: number | string;
            tag: keyof HTMLElementTagNameMap | (string & {});
            distance: number;
            wrapStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
            wrapClass: string | string[];
            viewClass: string | string[];
            viewStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
            minSize: number;
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
            $slots: {
                default?: (props: {}) => any;
            };
        })>;
        ElTooltip: import('element-plus/es/utils/index.mjs').SFCWithInstall<{
            new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('element-plus').UseTooltipProps> & Readonly<{
                onClose?: ((...args: any[]) => any) | undefined;
                "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
                "onBefore-show"?: ((...args: any[]) => any) | undefined;
                "onBefore-hide"?: ((...args: any[]) => any) | undefined;
                onShow?: ((...args: any[]) => any) | undefined;
                onHide?: ((...args: any[]) => any) | undefined;
                onOpen?: ((...args: any[]) => any) | undefined;
            }>, {
                popperRef: import('vue').Ref<import('element-plus').PopperInstance | undefined, import('element-plus').PopperInstance | undefined>;
                contentRef: import('vue').Ref<import('element-plus').TooltipContentInstance | undefined, import('element-plus').TooltipContentInstance | undefined>;
                isFocusInsideContent: (event?: FocusEvent) => boolean | undefined;
                updatePopper: () => void;
                onOpen: (event?: Event, delay?: number) => void;
                onClose: (event?: Event, delay?: number) => void;
                hide: (event?: Event) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                close: (...args: any[]) => void;
                "update:visible": (...args: any[]) => void;
                "before-show": (...args: any[]) => void;
                "before-hide": (...args: any[]) => void;
                show: (...args: any[]) => void;
                hide: (...args: any[]) => void;
                open: (...args: any[]) => void;
            }, import('vue').PublicProps, {
                effect: import('element-plus').PopperEffect;
                placement: import('element-plus').Placement;
                popperStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
                teleported: boolean;
                visible: boolean | null;
                style: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
                enterable: boolean;
                pure: boolean;
                focusOnShow: boolean;
                trapping: boolean;
                stopPopperMouseEvent: boolean;
                virtualTriggering: boolean;
                loop: boolean;
                boundariesPadding: number;
                gpuAcceleration: boolean;
                offset: number;
                popperOptions: Partial<import('element-plus').Options>;
                strategy: "absolute" | "fixed";
                arrowOffset: number;
                showArrow: boolean;
                role: "dialog" | "menu" | "grid" | "group" | "listbox" | "navigation" | "tooltip" | "tree";
                content: string;
                showAfter: number;
                hideAfter: number;
                autoClose: number;
                trigger: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').TooltipTriggerType>;
                triggerKeys: string[];
            }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('element-plus').UseTooltipProps> & Readonly<{
                onClose?: ((...args: any[]) => any) | undefined;
                "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
                "onBefore-show"?: ((...args: any[]) => any) | undefined;
                "onBefore-hide"?: ((...args: any[]) => any) | undefined;
                onShow?: ((...args: any[]) => any) | undefined;
                onHide?: ((...args: any[]) => any) | undefined;
                onOpen?: ((...args: any[]) => any) | undefined;
            }>, {
                popperRef: import('vue').Ref<import('element-plus').PopperInstance | undefined, import('element-plus').PopperInstance | undefined>;
                contentRef: import('vue').Ref<import('element-plus').TooltipContentInstance | undefined, import('element-plus').TooltipContentInstance | undefined>;
                isFocusInsideContent: (event?: FocusEvent) => boolean | undefined;
                updatePopper: () => void;
                onOpen: (event?: Event, delay?: number) => void;
                onClose: (event?: Event, delay?: number) => void;
                hide: (event?: Event) => void;
            }, {}, {}, {}, {
                effect: import('element-plus').PopperEffect;
                placement: import('element-plus').Placement;
                popperStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
                teleported: boolean;
                visible: boolean | null;
                style: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
                enterable: boolean;
                pure: boolean;
                focusOnShow: boolean;
                trapping: boolean;
                stopPopperMouseEvent: boolean;
                virtualTriggering: boolean;
                loop: boolean;
                boundariesPadding: number;
                gpuAcceleration: boolean;
                offset: number;
                popperOptions: Partial<import('element-plus').Options>;
                strategy: "absolute" | "fixed";
                arrowOffset: number;
                showArrow: boolean;
                role: "dialog" | "menu" | "grid" | "group" | "listbox" | "navigation" | "tooltip" | "tree";
                content: string;
                showAfter: number;
                hideAfter: number;
                autoClose: number;
                trigger: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').TooltipTriggerType>;
                triggerKeys: string[];
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import('vue').ComponentOptionsBase<Readonly<import('element-plus').UseTooltipProps> & Readonly<{
            onClose?: ((...args: any[]) => any) | undefined;
            "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
            "onBefore-show"?: ((...args: any[]) => any) | undefined;
            "onBefore-hide"?: ((...args: any[]) => any) | undefined;
            onShow?: ((...args: any[]) => any) | undefined;
            onHide?: ((...args: any[]) => any) | undefined;
            onOpen?: ((...args: any[]) => any) | undefined;
        }>, {
            popperRef: import('vue').Ref<import('element-plus').PopperInstance | undefined, import('element-plus').PopperInstance | undefined>;
            contentRef: import('vue').Ref<import('element-plus').TooltipContentInstance | undefined, import('element-plus').TooltipContentInstance | undefined>;
            isFocusInsideContent: (event?: FocusEvent) => boolean | undefined;
            updatePopper: () => void;
            onOpen: (event?: Event, delay?: number) => void;
            onClose: (event?: Event, delay?: number) => void;
            hide: (event?: Event) => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            close: (...args: any[]) => void;
            "update:visible": (...args: any[]) => void;
            "before-show": (...args: any[]) => void;
            "before-hide": (...args: any[]) => void;
            show: (...args: any[]) => void;
            hide: (...args: any[]) => void;
            open: (...args: any[]) => void;
        }, string, {
            effect: import('element-plus').PopperEffect;
            placement: import('element-plus').Placement;
            popperStyle: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
            teleported: boolean;
            visible: boolean | null;
            style: string | false | import('vue').CSSProperties | import('vue').StyleValue[] | null;
            enterable: boolean;
            pure: boolean;
            focusOnShow: boolean;
            trapping: boolean;
            stopPopperMouseEvent: boolean;
            virtualTriggering: boolean;
            loop: boolean;
            boundariesPadding: number;
            gpuAcceleration: boolean;
            offset: number;
            popperOptions: Partial<import('element-plus').Options>;
            strategy: "absolute" | "fixed";
            arrowOffset: number;
            showArrow: boolean;
            role: "dialog" | "menu" | "grid" | "group" | "listbox" | "navigation" | "tooltip" | "tree";
            content: string;
            showAfter: number;
            hideAfter: number;
            autoClose: number;
            trigger: import('element-plus/es/utils/typescript.mjs').Arrayable<import('element-plus').TooltipTriggerType>;
            triggerKeys: string[];
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
            $slots: {
                default?: (props: {}) => any;
            } & {
                content?: (props: {}) => any;
            };
        })>;
        ElIcon: import('element-plus/es/utils/index.mjs').SFCWithInstall<{
            new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('element-plus').IconProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
                size: number | string;
            }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('element-plus').IconProps> & Readonly<{}>, {}, {}, {}, {}, {
                size: number | string;
            }>;
            __isFragment?: never;
            __isTeleport?: never;
            __isSuspense?: never;
        } & import('vue').ComponentOptionsBase<Readonly<import('element-plus').IconProps> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
            size: number | string;
        }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
            $slots: {
                default?: (props: {}) => any;
            };
        })>;
    } & import('vue').GlobalComponents, {
        ClickOutside: import('vue').ObjectDirective<HTMLElement, any, string, any>;
    } & import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        ariaLabel: StringConstructor;
        emptyValues: ArrayConstructor;
        valueOnClear: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown, undefined, boolean>;
        name: StringConstructor;
        id: StringConstructor;
        modelValue: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string | number | boolean | Record<string, any> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[]) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[]) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown, undefined, boolean>;
        autocomplete: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
        automaticDropdown: BooleanConstructor;
        size: {
            readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "" | "default" | "large" | "small", never>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        effect: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => string) | (() => import('element-plus').PopperEffect) | (((new (...args: any[]) => string) | (() => import('element-plus').PopperEffect)) | null)[], unknown, unknown, string, boolean>;
        disabled: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
        clearable: BooleanConstructor;
        filterable: BooleanConstructor;
        allowCreate: BooleanConstructor;
        loading: BooleanConstructor;
        popperClass: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
        popperStyle: {
            readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | import('vue').CSSProperties) | (() => string | import('vue').CSSProperties) | (((new (...args: any[]) => string | import('vue').CSSProperties) | (() => string | import('vue').CSSProperties)) | null)[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        popperOptions: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => Partial<import('element-plus').Options>) | (() => Partial<import('element-plus').Options>) | (((new (...args: any[]) => Partial<import('element-plus').Options>) | (() => Partial<import('element-plus').Options>)) | null)[], unknown, unknown, () => Partial<import('element-plus').Options>, boolean>;
        remote: BooleanConstructor;
        debounce: import('element-plus/es/utils/index.mjs').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
        loadingText: StringConstructor;
        noMatchText: StringConstructor;
        noDataText: StringConstructor;
        remoteMethod: {
            readonly type: PropType<(query: string) => void>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        filterMethod: {
            readonly type: PropType<(query: string) => void>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        multiple: BooleanConstructor;
        multipleLimit: import('element-plus/es/utils/index.mjs').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
        placeholder: {
            readonly type: PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        defaultFirstOption: BooleanConstructor;
        reserveKeyword: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
        valueKey: import('element-plus/es/utils/index.mjs').EpPropFinalized<StringConstructor, unknown, unknown, string, boolean>;
        collapseTags: BooleanConstructor;
        collapseTagsTooltip: BooleanConstructor;
        tagTooltip: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => import('element-plus').TagTooltipProps) | (() => import('element-plus').TagTooltipProps) | (((new (...args: any[]) => import('element-plus').TagTooltipProps) | (() => import('element-plus').TagTooltipProps)) | null)[], unknown, unknown, () => {}, boolean>;
        maxCollapseTags: import('element-plus/es/utils/index.mjs').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
        teleported: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        persistent: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
        clearIcon: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown, import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, boolean>;
        fitInputWidth: BooleanConstructor;
        suffixIcon: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown, import('vue').DefineComponent<{}, void, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, boolean>;
        tagType: {
            default: string;
            type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>>;
            required: false;
            validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        tagEffect: {
            default: string;
            type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>>;
            required: false;
            validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        validateEvent: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
        remoteShowSuffix: BooleanConstructor;
        showArrow: import('element-plus/es/utils/index.mjs').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
        offset: import('element-plus/es/utils/index.mjs').EpPropFinalized<NumberConstructor, unknown, unknown, number, boolean>;
        placement: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import('element-plus').Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import('element-plus').Placement)) | null)[], import('element-plus').Placement, unknown, string, boolean>;
        fallbackPlacements: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement[]) | (() => import('element-plus').Placement[]) | (((new (...args: any[]) => import('element-plus').Placement[]) | (() => import('element-plus').Placement[])) | null)[], unknown, unknown, string[], boolean>;
        tabindex: import('element-plus/es/utils/index.mjs').EpPropFinalized<(NumberConstructor | StringConstructor)[], unknown, unknown, number, boolean>;
        appendTo: {
            readonly type: PropType<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>) | (((new (...args: any[]) => string | HTMLElement) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement) | (((new (...args: any[]) => string | HTMLElement) | (() => string | HTMLElement)) | null)[], unknown, unknown>)) | null)[], unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        options: {
            readonly type: PropType<Record<string, any>[]>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        props: import('element-plus/es/utils/index.mjs').EpPropFinalized<(new (...args: any[]) => import('element-plus/es/components/select-v2/src/useProps.mjs').Props) | (() => import('element-plus/es/components/select-v2/src/useProps.mjs').Props) | (((new (...args: any[]) => import('element-plus/es/components/select-v2/src/useProps.mjs').Props) | (() => import('element-plus/es/components/select-v2/src/useProps.mjs').Props)) | null)[], unknown, unknown, () => Required<import('element-plus/es/components/select-v2/src/useProps.mjs').Props>, boolean>;
    }>> & Readonly<{
        onChange?: ((...args: any[]) => any) | undefined;
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        onFocus?: ((...args: any[]) => any) | undefined;
        onBlur?: ((...args: any[]) => any) | undefined;
        onClear?: ((...args: any[]) => any) | undefined;
        "onVisible-change"?: ((...args: any[]) => any) | undefined;
        "onRemove-tag"?: ((...args: any[]) => any) | undefined;
        "onPopup-scroll"?: ((...args: any[]) => any) | undefined;
    }>, {
        modelValue: import('vue').ComputedRef<string | number | boolean | any[] | Record<string, any> | null | undefined>;
        selectedLabel: import('vue').ComputedRef<string | string[]>;
        calculatorRef: import('vue').ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        inputStyle: import('vue').ComputedRef<{
            minWidth: string;
        }>;
        getLabel: (option: import('element-plus/es/components/select-v2/src/select.types.mjs').Option) => any;
        getValue: (option: import('element-plus/es/components/select-v2/src/select.types.mjs').Option) => any;
        getOptions: (option: import('element-plus/es/components/select-v2/src/select.types.mjs').Option) => any;
        getDisabled: (option: import('element-plus/es/components/select-v2/src/select.types.mjs').Option) => any;
        getOptionProps: (option: Record<string, any>) => {
            label: any;
            value: any;
            disabled: any;
        };
        inputId: import('vue').Ref<string | undefined, string | undefined>;
        contentId: import('vue').Ref<string, string>;
        nsSelect: {
            namespace: import('vue').ComputedRef<string>;
            b: (blockSuffix?: string) => string;
            e: (element?: string) => string;
            m: (modifier?: string) => string;
            be: (blockSuffix?: string, element?: string) => string;
            em: (element?: string, modifier?: string) => string;
            bm: (blockSuffix?: string, modifier?: string) => string;
            bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        nsInput: {
            namespace: import('vue').ComputedRef<string>;
            b: (blockSuffix?: string) => string;
            e: (element?: string) => string;
            m: (modifier?: string) => string;
            be: (blockSuffix?: string, element?: string) => string;
            em: (element?: string, modifier?: string) => string;
            bm: (blockSuffix?: string, modifier?: string) => string;
            bem: (blockSuffix?: string, element?: string, modifier?: string) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        states: {
            inputValue: string;
            options: Map<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>, import('element-plus').SelectOptionProxy> & Omit<Map<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>, import('element-plus').SelectOptionProxy>, keyof Map<any, any>>;
            cachedOptions: Map<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>, import('element-plus').SelectOptionProxy> & Omit<Map<import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>, import('element-plus').SelectOptionProxy>, keyof Map<any, any>>;
            optionValues: import('element-plus/es/components/select/src/type.mjs').OptionValue[];
            selected: {
                index: number;
                value: import('element-plus/es/components/select/src/type.mjs').OptionValue;
                currentLabel: import('element-plus').SelectOptionProxy["currentLabel"];
                isDisabled?: import('element-plus').SelectOptionProxy["isDisabled"] | undefined;
            }[];
            hoveringIndex: number;
            inputHovering: boolean;
            selectionWidth: number;
            collapseItemWidth: number;
            previousQuery: string | null;
            selectedLabel: string;
            menuVisibleOnFocus: boolean;
            isBeforeHide: boolean;
        };
        isFocused: import('vue').Ref<boolean, boolean>;
        expanded: import('vue').Ref<boolean, boolean>;
        optionsArray: import('vue').ComputedRef<import('element-plus').SelectOptionProxy[]>;
        hoverOption: import('vue').Ref<any, any>;
        selectSize: import('vue').ComputedRef<"" | "default" | "large" | "small">;
        filteredOptionsCount: import('vue').ComputedRef<number>;
        updateTooltip: () => void;
        updateTagTooltip: () => void;
        debouncedOnInputChange: import('@vueuse/shared').PromisifyFn<() => void>;
        onInput: (event: Event) => void;
        deletePrevTag: (e: KeyboardEvent) => void;
        deleteTag: (event: MouseEvent, tag: import('element-plus').OptionBasic) => void;
        deleteSelected: (event: Event) => void;
        handleOptionSelect: (option: import('element-plus').SelectOptionProxy) => void;
        scrollToOption: (option: import('element-plus').SelectOptionProxy | import('element-plus').SelectOptionProxy[] | import('element-plus/es/components/select/src/type.mjs').SelectStates["selected"]) => void;
        hasModelValue: import('vue').ComputedRef<boolean>;
        shouldShowPlaceholder: import('vue').ComputedRef<boolean>;
        currentPlaceholder: import('vue').ComputedRef<string>;
        mouseEnterEventName: import('vue').ComputedRef<"mouseenter" | null>;
        needStatusIcon: import('vue').ComputedRef<boolean>;
        showClearBtn: import('vue').ComputedRef<boolean>;
        iconComponent: import('vue').ComputedRef<import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown>>;
        iconReverse: import('vue').ComputedRef<string>;
        validateState: import('vue').ComputedRef<"error" | "" | "success" | "validating">;
        validateIcon: import('vue').ComputedRef<"" | import('vue').Component>;
        showNewOption: import('vue').ComputedRef<boolean>;
        updateOptions: () => void;
        collapseTagSize: import('vue').ComputedRef<"default" | "small">;
        setSelected: () => void;
        selectDisabled: import('vue').ComputedRef<boolean>;
        emptyText: import('vue').ComputedRef<string | null>;
        handleCompositionStart: (event: CompositionEvent) => void;
        handleCompositionUpdate: (event: CompositionEvent) => void;
        handleCompositionEnd: (event: CompositionEvent) => void;
        handleKeydown: (e: KeyboardEvent) => void;
        onOptionCreate: (vm: import('element-plus').SelectOptionProxy) => void;
        onOptionDestroy: (key: import('element-plus/es/components/select/src/type.mjs').OptionValue, vm: import('element-plus').SelectOptionProxy) => void;
        handleMenuEnter: () => void;
        focus: () => void;
        blur: () => void;
        handleClearClick: (event: Event) => void;
        handleClickOutside: (event: Event) => void;
        handleEsc: () => void;
        toggleMenu: (event?: Event) => void;
        selectOption: () => void;
        getValueKey: (item: import('element-plus').SelectOptionProxy | import('element-plus/es/components/select/src/type.mjs').SelectStates["selected"][0]) => any;
        navigateOptions: (direction: "prev" | "next") => void;
        dropdownMenuVisible: import('vue').WritableComputedRef<boolean, boolean>;
        showTagList: import('vue').ComputedRef<{
            index: number;
            value: import('element-plus/es/components/select/src/type.mjs').OptionValue;
            currentLabel: import('element-plus').SelectOptionProxy["currentLabel"];
            isDisabled?: import('element-plus').SelectOptionProxy["isDisabled"] | undefined;
        }[]>;
        collapseTagList: import('vue').ComputedRef<{
            index: number;
            value: import('element-plus/es/components/select/src/type.mjs').OptionValue;
            currentLabel: import('element-plus').SelectOptionProxy["currentLabel"];
            isDisabled?: import('element-plus').SelectOptionProxy["isDisabled"] | undefined;
        }[]>;
        popupScroll: (data: {
            scrollTop: number;
            scrollLeft: number;
        }) => void;
        getOption: (value: import('element-plus/es/components/select/src/type.mjs').OptionValue) => {
            index: number;
            value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>;
            currentLabel: any;
        } | {
            index: number;
            value: import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>;
            currentLabel: string | number | boolean;
            readonly isDisabled: boolean;
        };
        tagStyle: import('vue').ComputedRef<{
            maxWidth: string;
        }>;
        collapseTagStyle: import('vue').ComputedRef<{
            maxWidth: string;
        }>;
        popperRef: import('vue').ComputedRef<HTMLElement | undefined>;
        inputRef: import('vue').Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
        tooltipRef: import('vue').Ref<import('element-plus').TooltipInstance | undefined, import('element-plus').TooltipInstance | undefined>;
        tagTooltipRef: import('vue').Ref<import('element-plus').TooltipInstance | undefined, import('element-plus').TooltipInstance | undefined>;
        prefixRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        suffixRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        selectRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        wrapperRef: import('vue').ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        selectionRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        scrollbarRef: import('vue').Ref<import('element-plus').ScrollbarInstance | undefined, import('element-plus').ScrollbarInstance | undefined>;
        menuRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        tagMenuRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        collapseItemRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
    }, {}, {}, {}, {
        effect: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string) | (() => import('element-plus').PopperEffect) | (((new (...args: any[]) => string) | (() => import('element-plus').PopperEffect)) | null)[], unknown, unknown>;
        props: import('element-plus/es/components/select-v2/src/useProps.mjs').Props;
        multiple: boolean;
        disabled: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        clearable: boolean;
        clearIcon: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown>;
        filterable: boolean;
        collapseTags: boolean;
        maxCollapseTags: number;
        collapseTagsTooltip: boolean;
        debounce: number;
        placement: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import('element-plus').Placement) | (((new (...args: any[]) => "bottom-start" | "bottom" | "auto" | "auto-start" | "auto-end" | "top" | "right" | "left" | "top-start" | "top-end" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => import('element-plus').Placement)) | null)[], import('element-plus').Placement, unknown>;
        fallbackPlacements: import('element-plus').Placement[];
        popperClass: string;
        teleported: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        tagType: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "info" | "primary" | "success" | "warning" | "danger", unknown>;
        tagEffect: import('element-plus/es/utils/index.mjs').EpPropMergeType<StringConstructor, "light" | "dark" | "plain", unknown>;
        validateEvent: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        persistent: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        modelValue: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | number | boolean | Record<string, any> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[]) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[] | null) | (((new (...args: any[]) => string | number | boolean | Record<string, any> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[]) | (() => import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown> | import('element-plus/es/utils/index.mjs').EpPropMergeType<(BooleanConstructor | NumberConstructor | ObjectConstructor | StringConstructor)[], unknown, unknown>[] | null)) | null)[], unknown, unknown>;
        valueOnClear: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null) | (((new (...args: any[]) => string | number | boolean | Function) | (() => string | number | boolean | Function | null)) | null)[], unknown, unknown>;
        loading: boolean;
        offset: number;
        popperOptions: Partial<import('element-plus').Options>;
        showArrow: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        autocomplete: string;
        suffixIcon: import('element-plus/es/utils/index.mjs').EpPropMergeType<(new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component) | (((new (...args: any[]) => (string | import('vue').Component) & {}) | (() => string | import('vue').Component)) | null)[], unknown, unknown>;
        tabindex: import('element-plus/es/utils/index.mjs').EpPropMergeType<(NumberConstructor | StringConstructor)[], unknown, unknown>;
        automaticDropdown: boolean;
        allowCreate: boolean;
        remote: boolean;
        multipleLimit: number;
        defaultFirstOption: boolean;
        reserveKeyword: import('element-plus/es/utils/index.mjs').EpPropMergeType<BooleanConstructor, unknown, unknown>;
        valueKey: string;
        tagTooltip: import('element-plus').TagTooltipProps;
        fitInputWidth: boolean;
        remoteShowSuffix: boolean;
    }> | null;
}, HTMLDivElement>;
export default _default;
