import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _Select from './select';
import _Option from './option';
import _Optgroup from './optgroup';
declare const Select: {
    new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        modelValue: {
            type: import("vue").PropType<string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]>;
            default: undefined;
        };
        defaultValue: {
            type: import("vue").PropType<string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[]>;
            default: (props: import("../_utils/types").Data) => "" | never[];
        };
        inputValue: {
            type: StringConstructor;
        };
        defaultInputValue: {
            type: StringConstructor;
            default: string;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        placeholder: StringConstructor;
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        error: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowSearch: {
            type: import("vue").PropType<boolean | {
                retainInputValue?: boolean | undefined;
            }>;
            default: (props: import("../_utils/types").Data) => boolean;
        };
        allowCreate: {
            type: BooleanConstructor;
            default: boolean;
        };
        maxTagCount: {
            type: NumberConstructor;
            default: number;
        };
        popupContainer: {
            type: import("vue").PropType<string | HTMLElement>;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        defaultActiveFirstOption: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupVisible: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultPopupVisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        unmountOnClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        filterOption: {
            type: import("vue").PropType<boolean | ((inputValue: string, option: import("./interface").SelectOptionData) => boolean)>;
            default: boolean;
        };
        options: {
            type: import("vue").PropType<(string | number | boolean | import("./interface").SelectOptionData | import("./interface").SelectOptionGroup)[]>;
            default: () => never[];
        };
        virtualListProps: {
            type: import("vue").PropType<import("../_components/virtual-list-v2/interface").VirtualListProps>;
        };
        triggerProps: {
            type: import("vue").PropType<import("..").TriggerProps>;
        };
        formatLabel: {
            type: import("vue").PropType<(data: import("./interface").SelectOptionData) => string>;
        };
        fallbackOption: {
            type: import("vue").PropType<boolean | ((value: string | number | boolean | Record<string, unknown>) => import("./interface").SelectOptionData)>;
            default: boolean;
        };
        showExtraOptions: {
            type: BooleanConstructor;
            default: boolean;
        };
        valueKey: {
            type: StringConstructor;
            default: string;
        };
        searchDelay: {
            type: NumberConstructor;
            default: number;
        };
        limit: {
            type: NumberConstructor;
            default: number;
        };
        fieldNames: {
            type: import("vue").PropType<import("../_utils/types").FieldString<import("./interface").SelectOptionData>>;
        };
        scrollbar: {
            type: import("vue").PropType<boolean | import("..").ScrollbarProps>;
            default: boolean;
        };
        showHeaderOnEmpty: {
            type: import("vue").PropType<boolean>;
            default: boolean;
        };
        showFooterOnEmpty: {
            type: import("vue").PropType<boolean>;
            default: boolean;
        };
        tagNowrap: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onClear?: ((ev: Event) => any) | undefined;
        onChange?: ((value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => any) | undefined;
        "onUpdate:inputValue"?: ((inputValue: string) => any) | undefined;
        onInputValueChange?: ((inputValue: string) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => any) | undefined;
        onRemove?: ((removed: string | number | boolean | Record<string, any> | undefined) => any) | undefined;
        "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
        onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
        onSearch?: ((inputValue: string) => any) | undefined;
        onDropdownScroll?: ((ev: Event) => any) | undefined;
        onDropdownReachBottom?: ((ev: Event) => any) | undefined;
        onExceedLimit?: ((value: string | number | boolean | Record<string, any> | undefined, ev: Event) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'update:modelValue': (value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => true;
        'update:inputValue': (inputValue: string) => true;
        'update:popupVisible': (visible: boolean) => true;
        change: (value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => true;
        inputValueChange: (inputValue: string) => true;
        popupVisibleChange: (visible: boolean) => true;
        clear: (ev: Event) => true;
        remove: (removed: string | number | boolean | Record<string, any> | undefined) => true;
        search: (inputValue: string) => true;
        dropdownScroll: (ev: Event) => true;
        dropdownReachBottom: (ev: Event) => true;
        exceedLimit: (value: string | number | boolean | Record<string, any> | undefined, ev: Event) => true;
    }, import("vue").PublicProps, {
        disabled: boolean;
        error: boolean;
        allowClear: boolean;
        defaultValue: string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[];
        modelValue: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[];
        loading: boolean;
        bordered: boolean;
        multiple: boolean;
        allowCreate: boolean;
        allowSearch: boolean | {
            retainInputValue?: boolean | undefined;
        };
        maxTagCount: number;
        tagNowrap: boolean;
        defaultInputValue: string;
        scrollbar: boolean | import("..").ScrollbarProps;
        popupVisible: boolean;
        defaultPopupVisible: boolean;
        unmountOnClose: boolean;
        filterOption: boolean | ((inputValue: string, option: import("./interface").SelectOptionData) => boolean);
        options: (string | number | boolean | import("./interface").SelectOptionData | import("./interface").SelectOptionGroup)[];
        searchDelay: number;
        valueKey: string;
        defaultActiveFirstOption: boolean;
        fallbackOption: boolean | ((value: string | number | boolean | Record<string, unknown>) => import("./interface").SelectOptionData);
        showExtraOptions: boolean;
        limit: number;
        showHeaderOnEmpty: boolean;
        showFooterOnEmpty: boolean;
    }, true, {}, {}, {
        Trigger: {
            new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
                popupVisible: {
                    type: BooleanConstructor;
                    default: undefined;
                };
                defaultPopupVisible: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                trigger: {
                    type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
                    default: string;
                };
                position: {
                    type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                popupOffset: {
                    type: NumberConstructor;
                    default: number;
                };
                popupTranslate: {
                    type: import("vue").PropType<import("..").TriggerPopupTranslate>;
                };
                showArrow: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                alignPoint: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                popupHoverStay: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                blurToClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                clickToClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                clickOutsideToClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                unmountOnClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                contentClass: {
                    type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                };
                contentStyle: {
                    type: import("vue").PropType<import("vue").CSSProperties>;
                };
                arrowClass: {
                    type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                };
                arrowStyle: {
                    type: import("vue").PropType<import("vue").CSSProperties>;
                };
                popupStyle: {
                    type: import("vue").PropType<import("vue").CSSProperties>;
                };
                animationName: {
                    type: StringConstructor;
                    default: string;
                };
                duration: {
                    type: import("vue").PropType<number | {
                        enter: number;
                        leave: number;
                    }>;
                };
                mouseEnterDelay: {
                    type: NumberConstructor;
                    default: number;
                };
                mouseLeaveDelay: {
                    type: NumberConstructor;
                    default: number;
                };
                focusDelay: {
                    type: NumberConstructor;
                    default: number;
                };
                autoFitPopupWidth: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                autoFitPopupMinWidth: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                autoFixPosition: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                popupContainer: {
                    type: import("vue").PropType<string | HTMLElement>;
                };
                updateAtScroll: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                autoFitTransformOrigin: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                hideEmpty: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                openedClass: {
                    type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                };
                autoFitPosition: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                renderToBody: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                preventFocus: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                scrollToClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                scrollToCloseDistance: {
                    type: NumberConstructor;
                    default: number;
                };
            }>> & Readonly<{
                onResize?: (() => any) | undefined;
                onHide?: (() => any) | undefined;
                onShow?: (() => any) | undefined;
                "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
                onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
            }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
                'update:popupVisible': (visible: boolean) => true;
                popupVisibleChange: (visible: boolean) => true;
                show: () => true;
                hide: () => true;
                resize: () => true;
            }, import("vue").PublicProps, {
                disabled: boolean;
                position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
                popupVisible: boolean;
                defaultPopupVisible: boolean;
                trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
                popupOffset: number;
                showArrow: boolean;
                alignPoint: boolean;
                popupHoverStay: boolean;
                blurToClose: boolean;
                clickToClose: boolean;
                clickOutsideToClose: boolean;
                unmountOnClose: boolean;
                animationName: string;
                mouseEnterDelay: number;
                mouseLeaveDelay: number;
                focusDelay: number;
                autoFitPopupWidth: boolean;
                autoFitPopupMinWidth: boolean;
                autoFixPosition: boolean;
                updateAtScroll: boolean;
                autoFitTransformOrigin: boolean;
                hideEmpty: boolean;
                autoFitPosition: boolean;
                renderToBody: boolean;
                preventFocus: boolean;
                scrollToClose: boolean;
                scrollToCloseDistance: number;
            }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import("vue").ExtractPropTypes<{
                popupVisible: {
                    type: BooleanConstructor;
                    default: undefined;
                };
                defaultPopupVisible: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                trigger: {
                    type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
                    default: string;
                };
                position: {
                    type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                popupOffset: {
                    type: NumberConstructor;
                    default: number;
                };
                popupTranslate: {
                    type: import("vue").PropType<import("..").TriggerPopupTranslate>;
                };
                showArrow: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                alignPoint: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                popupHoverStay: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                blurToClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                clickToClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                clickOutsideToClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                unmountOnClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                contentClass: {
                    type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                };
                contentStyle: {
                    type: import("vue").PropType<import("vue").CSSProperties>;
                };
                arrowClass: {
                    type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                };
                arrowStyle: {
                    type: import("vue").PropType<import("vue").CSSProperties>;
                };
                popupStyle: {
                    type: import("vue").PropType<import("vue").CSSProperties>;
                };
                animationName: {
                    type: StringConstructor;
                    default: string;
                };
                duration: {
                    type: import("vue").PropType<number | {
                        enter: number;
                        leave: number;
                    }>;
                };
                mouseEnterDelay: {
                    type: NumberConstructor;
                    default: number;
                };
                mouseLeaveDelay: {
                    type: NumberConstructor;
                    default: number;
                };
                focusDelay: {
                    type: NumberConstructor;
                    default: number;
                };
                autoFitPopupWidth: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                autoFitPopupMinWidth: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                autoFixPosition: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                popupContainer: {
                    type: import("vue").PropType<string | HTMLElement>;
                };
                updateAtScroll: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                autoFitTransformOrigin: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                hideEmpty: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                openedClass: {
                    type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                };
                autoFitPosition: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                renderToBody: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                preventFocus: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                scrollToClose: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                scrollToCloseDistance: {
                    type: NumberConstructor;
                    default: number;
                };
            }>> & Readonly<{
                onResize?: (() => any) | undefined;
                onHide?: (() => any) | undefined;
                onShow?: (() => any) | undefined;
                "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
                onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
            }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
                disabled: boolean;
                position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
                popupVisible: boolean;
                defaultPopupVisible: boolean;
                trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
                popupOffset: number;
                showArrow: boolean;
                alignPoint: boolean;
                popupHoverStay: boolean;
                blurToClose: boolean;
                clickToClose: boolean;
                clickOutsideToClose: boolean;
                unmountOnClose: boolean;
                animationName: string;
                mouseEnterDelay: number;
                mouseLeaveDelay: number;
                focusDelay: number;
                autoFitPopupWidth: boolean;
                autoFitPopupMinWidth: boolean;
                autoFixPosition: boolean;
                updateAtScroll: boolean;
                autoFitTransformOrigin: boolean;
                hideEmpty: boolean;
                autoFitPosition: boolean;
                renderToBody: boolean;
                preventFocus: boolean;
                scrollToClose: boolean;
                scrollToCloseDistance: number;
            }>;
            __isFragment?: undefined;
            __isTeleport?: undefined;
            __isSuspense?: undefined;
        } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            popupVisible: {
                type: BooleanConstructor;
                default: undefined;
            };
            defaultPopupVisible: {
                type: BooleanConstructor;
                default: boolean;
            };
            trigger: {
                type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
                default: string;
            };
            position: {
                type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
                default: string;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupOffset: {
                type: NumberConstructor;
                default: number;
            };
            popupTranslate: {
                type: import("vue").PropType<import("..").TriggerPopupTranslate>;
            };
            showArrow: {
                type: BooleanConstructor;
                default: boolean;
            };
            alignPoint: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupHoverStay: {
                type: BooleanConstructor;
                default: boolean;
            };
            blurToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            clickToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            clickOutsideToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            unmountOnClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            contentClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            contentStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            arrowClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            arrowStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            popupStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            animationName: {
                type: StringConstructor;
                default: string;
            };
            duration: {
                type: import("vue").PropType<number | {
                    enter: number;
                    leave: number;
                }>;
            };
            mouseEnterDelay: {
                type: NumberConstructor;
                default: number;
            };
            mouseLeaveDelay: {
                type: NumberConstructor;
                default: number;
            };
            focusDelay: {
                type: NumberConstructor;
                default: number;
            };
            autoFitPopupWidth: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFitPopupMinWidth: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFixPosition: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupContainer: {
                type: import("vue").PropType<string | HTMLElement>;
            };
            updateAtScroll: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFitTransformOrigin: {
                type: BooleanConstructor;
                default: boolean;
            };
            hideEmpty: {
                type: BooleanConstructor;
                default: boolean;
            };
            openedClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            autoFitPosition: {
                type: BooleanConstructor;
                default: boolean;
            };
            renderToBody: {
                type: BooleanConstructor;
                default: boolean;
            };
            preventFocus: {
                type: BooleanConstructor;
                default: boolean;
            };
            scrollToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            scrollToCloseDistance: {
                type: NumberConstructor;
                default: number;
            };
        }>> & Readonly<{
            onResize?: (() => any) | undefined;
            onHide?: (() => any) | undefined;
            onShow?: (() => any) | undefined;
            "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
            onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
        }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'update:popupVisible': (visible: boolean) => true;
            popupVisibleChange: (visible: boolean) => true;
            show: () => true;
            hide: () => true;
            resize: () => true;
        }, string, {
            disabled: boolean;
            position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
            popupVisible: boolean;
            defaultPopupVisible: boolean;
            trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
            popupOffset: number;
            showArrow: boolean;
            alignPoint: boolean;
            popupHoverStay: boolean;
            blurToClose: boolean;
            clickToClose: boolean;
            clickOutsideToClose: boolean;
            unmountOnClose: boolean;
            animationName: string;
            mouseEnterDelay: number;
            mouseLeaveDelay: number;
            focusDelay: number;
            autoFitPopupWidth: boolean;
            autoFitPopupMinWidth: boolean;
            autoFixPosition: boolean;
            updateAtScroll: boolean;
            autoFitTransformOrigin: boolean;
            hideEmpty: boolean;
            autoFitPosition: boolean;
            renderToBody: boolean;
            preventFocus: boolean;
            scrollToClose: boolean;
            scrollToCloseDistance: number;
        }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
            install: (app: App<any>, options?: ArcoOptions | undefined) => void;
        };
        SelectView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
            modelValue: {
                type: import("vue").PropType<import("../_components/select-view/interface").SelectViewValue[]>;
                required: true;
            };
            inputValue: StringConstructor;
            placeholder: StringConstructor;
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            error: {
                type: BooleanConstructor;
                default: boolean;
            };
            loading: {
                type: BooleanConstructor;
                default: boolean;
            };
            opened: {
                type: BooleanConstructor;
                default: boolean;
            };
            size: {
                type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
            };
            bordered: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            allowClear: {
                type: BooleanConstructor;
                default: boolean;
            };
            allowCreate: {
                type: BooleanConstructor;
                default: boolean;
            };
            allowSearch: {
                type: BooleanConstructor;
                default: (props: import("../_utils/types").Data) => boolean;
            };
            maxTagCount: {
                type: NumberConstructor;
                default: number;
            };
            tagNowrap: {
                type: BooleanConstructor;
                default: boolean;
            };
            retainInputValue: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>, {
            inputRef: import("vue").ComputedRef<HTMLInputElement>;
            handleFocus: (ev: FocusEvent) => void;
            handleBlur: (ev: FocusEvent) => void;
            render: () => import("vue/jsx-runtime").JSX.Element;
        }, {}, {}, {
            focus(): void;
            blur(): void;
        }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "blur" | "focus" | "remove")[], "clear" | "blur" | "focus" | "remove", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
            modelValue: {
                type: import("vue").PropType<import("../_components/select-view/interface").SelectViewValue[]>;
                required: true;
            };
            inputValue: StringConstructor;
            placeholder: StringConstructor;
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            error: {
                type: BooleanConstructor;
                default: boolean;
            };
            loading: {
                type: BooleanConstructor;
                default: boolean;
            };
            opened: {
                type: BooleanConstructor;
                default: boolean;
            };
            size: {
                type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
            };
            bordered: {
                type: BooleanConstructor;
                default: boolean;
            };
            multiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            allowClear: {
                type: BooleanConstructor;
                default: boolean;
            };
            allowCreate: {
                type: BooleanConstructor;
                default: boolean;
            };
            allowSearch: {
                type: BooleanConstructor;
                default: (props: import("../_utils/types").Data) => boolean;
            };
            maxTagCount: {
                type: NumberConstructor;
                default: number;
            };
            tagNowrap: {
                type: BooleanConstructor;
                default: boolean;
            };
            retainInputValue: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            onClear?: ((...args: any[]) => any) | undefined;
            onBlur?: ((...args: any[]) => any) | undefined;
            onFocus?: ((...args: any[]) => any) | undefined;
            onRemove?: ((...args: any[]) => any) | undefined;
        }>, {
            disabled: boolean;
            error: boolean;
            allowClear: boolean;
            retainInputValue: boolean;
            loading: boolean;
            opened: boolean;
            bordered: boolean;
            multiple: boolean;
            allowCreate: boolean;
            allowSearch: boolean;
            maxTagCount: number;
            tagNowrap: boolean;
        }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        modelValue: {
            type: import("vue").PropType<string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]>;
            default: undefined;
        };
        defaultValue: {
            type: import("vue").PropType<string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[]>;
            default: (props: import("../_utils/types").Data) => "" | never[];
        };
        inputValue: {
            type: StringConstructor;
        };
        defaultInputValue: {
            type: StringConstructor;
            default: string;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        placeholder: StringConstructor;
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        error: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowSearch: {
            type: import("vue").PropType<boolean | {
                retainInputValue?: boolean | undefined;
            }>;
            default: (props: import("../_utils/types").Data) => boolean;
        };
        allowCreate: {
            type: BooleanConstructor;
            default: boolean;
        };
        maxTagCount: {
            type: NumberConstructor;
            default: number;
        };
        popupContainer: {
            type: import("vue").PropType<string | HTMLElement>;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        defaultActiveFirstOption: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupVisible: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultPopupVisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        unmountOnClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        filterOption: {
            type: import("vue").PropType<boolean | ((inputValue: string, option: import("./interface").SelectOptionData) => boolean)>;
            default: boolean;
        };
        options: {
            type: import("vue").PropType<(string | number | boolean | import("./interface").SelectOptionData | import("./interface").SelectOptionGroup)[]>;
            default: () => never[];
        };
        virtualListProps: {
            type: import("vue").PropType<import("../_components/virtual-list-v2/interface").VirtualListProps>;
        };
        triggerProps: {
            type: import("vue").PropType<import("..").TriggerProps>;
        };
        formatLabel: {
            type: import("vue").PropType<(data: import("./interface").SelectOptionData) => string>;
        };
        fallbackOption: {
            type: import("vue").PropType<boolean | ((value: string | number | boolean | Record<string, unknown>) => import("./interface").SelectOptionData)>;
            default: boolean;
        };
        showExtraOptions: {
            type: BooleanConstructor;
            default: boolean;
        };
        valueKey: {
            type: StringConstructor;
            default: string;
        };
        searchDelay: {
            type: NumberConstructor;
            default: number;
        };
        limit: {
            type: NumberConstructor;
            default: number;
        };
        fieldNames: {
            type: import("vue").PropType<import("../_utils/types").FieldString<import("./interface").SelectOptionData>>;
        };
        scrollbar: {
            type: import("vue").PropType<boolean | import("..").ScrollbarProps>;
            default: boolean;
        };
        showHeaderOnEmpty: {
            type: import("vue").PropType<boolean>;
            default: boolean;
        };
        showFooterOnEmpty: {
            type: import("vue").PropType<boolean>;
            default: boolean;
        };
        tagNowrap: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onClear?: ((ev: Event) => any) | undefined;
        onChange?: ((value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => any) | undefined;
        "onUpdate:inputValue"?: ((inputValue: string) => any) | undefined;
        onInputValueChange?: ((inputValue: string) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => any) | undefined;
        onRemove?: ((removed: string | number | boolean | Record<string, any> | undefined) => any) | undefined;
        "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
        onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
        onSearch?: ((inputValue: string) => any) | undefined;
        onDropdownScroll?: ((ev: Event) => any) | undefined;
        onDropdownReachBottom?: ((ev: Event) => any) | undefined;
        onExceedLimit?: ((value: string | number | boolean | Record<string, any> | undefined, ev: Event) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        disabled: boolean;
        error: boolean;
        allowClear: boolean;
        defaultValue: string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[];
        modelValue: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[];
        loading: boolean;
        bordered: boolean;
        multiple: boolean;
        allowCreate: boolean;
        allowSearch: boolean | {
            retainInputValue?: boolean | undefined;
        };
        maxTagCount: number;
        tagNowrap: boolean;
        defaultInputValue: string;
        scrollbar: boolean | import("..").ScrollbarProps;
        popupVisible: boolean;
        defaultPopupVisible: boolean;
        unmountOnClose: boolean;
        filterOption: boolean | ((inputValue: string, option: import("./interface").SelectOptionData) => boolean);
        options: (string | number | boolean | import("./interface").SelectOptionData | import("./interface").SelectOptionGroup)[];
        searchDelay: number;
        valueKey: string;
        defaultActiveFirstOption: boolean;
        fallbackOption: boolean | ((value: string | number | boolean | Record<string, unknown>) => import("./interface").SelectOptionData);
        showExtraOptions: boolean;
        limit: number;
        showHeaderOnEmpty: boolean;
        showFooterOnEmpty: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    multiple: {
        type: BooleanConstructor;
        default: boolean;
    };
    modelValue: {
        type: import("vue").PropType<string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]>;
        default: undefined;
    };
    defaultValue: {
        type: import("vue").PropType<string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[]>;
        default: (props: import("../_utils/types").Data) => "" | never[];
    };
    inputValue: {
        type: StringConstructor;
    };
    defaultInputValue: {
        type: StringConstructor;
        default: string;
    };
    size: {
        type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
    };
    placeholder: StringConstructor;
    loading: {
        type: BooleanConstructor;
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    error: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowSearch: {
        type: import("vue").PropType<boolean | {
            retainInputValue?: boolean | undefined;
        }>;
        default: (props: import("../_utils/types").Data) => boolean;
    };
    allowCreate: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxTagCount: {
        type: NumberConstructor;
        default: number;
    };
    popupContainer: {
        type: import("vue").PropType<string | HTMLElement>;
    };
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    defaultActiveFirstOption: {
        type: BooleanConstructor;
        default: boolean;
    };
    popupVisible: {
        type: BooleanConstructor;
        default: undefined;
    };
    defaultPopupVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    unmountOnClose: {
        type: BooleanConstructor;
        default: boolean;
    };
    filterOption: {
        type: import("vue").PropType<boolean | ((inputValue: string, option: import("./interface").SelectOptionData) => boolean)>;
        default: boolean;
    };
    options: {
        type: import("vue").PropType<(string | number | boolean | import("./interface").SelectOptionData | import("./interface").SelectOptionGroup)[]>;
        default: () => never[];
    };
    virtualListProps: {
        type: import("vue").PropType<import("../_components/virtual-list-v2/interface").VirtualListProps>;
    };
    triggerProps: {
        type: import("vue").PropType<import("..").TriggerProps>;
    };
    formatLabel: {
        type: import("vue").PropType<(data: import("./interface").SelectOptionData) => string>;
    };
    fallbackOption: {
        type: import("vue").PropType<boolean | ((value: string | number | boolean | Record<string, unknown>) => import("./interface").SelectOptionData)>;
        default: boolean;
    };
    showExtraOptions: {
        type: BooleanConstructor;
        default: boolean;
    };
    valueKey: {
        type: StringConstructor;
        default: string;
    };
    searchDelay: {
        type: NumberConstructor;
        default: number;
    };
    limit: {
        type: NumberConstructor;
        default: number;
    };
    fieldNames: {
        type: import("vue").PropType<import("../_utils/types").FieldString<import("./interface").SelectOptionData>>;
    };
    scrollbar: {
        type: import("vue").PropType<boolean | import("..").ScrollbarProps>;
        default: boolean;
    };
    showHeaderOnEmpty: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    showFooterOnEmpty: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    tagNowrap: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onClear?: ((ev: Event) => any) | undefined;
    onChange?: ((value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => any) | undefined;
    "onUpdate:inputValue"?: ((inputValue: string) => any) | undefined;
    onInputValueChange?: ((inputValue: string) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => any) | undefined;
    onRemove?: ((removed: string | number | boolean | Record<string, any> | undefined) => any) | undefined;
    "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
    onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
    onSearch?: ((inputValue: string) => any) | undefined;
    onDropdownScroll?: ((ev: Event) => any) | undefined;
    onDropdownReachBottom?: ((ev: Event) => any) | undefined;
    onExceedLimit?: ((value: string | number | boolean | Record<string, any> | undefined, ev: Event) => any) | undefined;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:modelValue': (value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => true;
    'update:inputValue': (inputValue: string) => true;
    'update:popupVisible': (visible: boolean) => true;
    change: (value: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[]) => true;
    inputValueChange: (inputValue: string) => true;
    popupVisibleChange: (visible: boolean) => true;
    clear: (ev: Event) => true;
    remove: (removed: string | number | boolean | Record<string, any> | undefined) => true;
    search: (inputValue: string) => true;
    dropdownScroll: (ev: Event) => true;
    dropdownReachBottom: (ev: Event) => true;
    exceedLimit: (value: string | number | boolean | Record<string, any> | undefined, ev: Event) => true;
}, string, {
    disabled: boolean;
    error: boolean;
    allowClear: boolean;
    defaultValue: string | number | boolean | Record<string, unknown> | (string | number | boolean | Record<string, unknown>)[];
    modelValue: string | number | boolean | Record<string, any> | (string | number | boolean | Record<string, any>)[];
    loading: boolean;
    bordered: boolean;
    multiple: boolean;
    allowCreate: boolean;
    allowSearch: boolean | {
        retainInputValue?: boolean | undefined;
    };
    maxTagCount: number;
    tagNowrap: boolean;
    defaultInputValue: string;
    scrollbar: boolean | import("..").ScrollbarProps;
    popupVisible: boolean;
    defaultPopupVisible: boolean;
    unmountOnClose: boolean;
    filterOption: boolean | ((inputValue: string, option: import("./interface").SelectOptionData) => boolean);
    options: (string | number | boolean | import("./interface").SelectOptionData | import("./interface").SelectOptionGroup)[];
    searchDelay: number;
    valueKey: string;
    defaultActiveFirstOption: boolean;
    fallbackOption: boolean | ((value: string | number | boolean | Record<string, unknown>) => import("./interface").SelectOptionData);
    showExtraOptions: boolean;
    limit: number;
    showHeaderOnEmpty: boolean;
    showFooterOnEmpty: boolean;
}, {}, string, {}, {
    Trigger: {
        new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
            popupVisible: {
                type: BooleanConstructor;
                default: undefined;
            };
            defaultPopupVisible: {
                type: BooleanConstructor;
                default: boolean;
            };
            trigger: {
                type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
                default: string;
            };
            position: {
                type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
                default: string;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupOffset: {
                type: NumberConstructor;
                default: number;
            };
            popupTranslate: {
                type: import("vue").PropType<import("..").TriggerPopupTranslate>;
            };
            showArrow: {
                type: BooleanConstructor;
                default: boolean;
            };
            alignPoint: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupHoverStay: {
                type: BooleanConstructor;
                default: boolean;
            };
            blurToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            clickToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            clickOutsideToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            unmountOnClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            contentClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            contentStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            arrowClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            arrowStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            popupStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            animationName: {
                type: StringConstructor;
                default: string;
            };
            duration: {
                type: import("vue").PropType<number | {
                    enter: number;
                    leave: number;
                }>;
            };
            mouseEnterDelay: {
                type: NumberConstructor;
                default: number;
            };
            mouseLeaveDelay: {
                type: NumberConstructor;
                default: number;
            };
            focusDelay: {
                type: NumberConstructor;
                default: number;
            };
            autoFitPopupWidth: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFitPopupMinWidth: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFixPosition: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupContainer: {
                type: import("vue").PropType<string | HTMLElement>;
            };
            updateAtScroll: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFitTransformOrigin: {
                type: BooleanConstructor;
                default: boolean;
            };
            hideEmpty: {
                type: BooleanConstructor;
                default: boolean;
            };
            openedClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            autoFitPosition: {
                type: BooleanConstructor;
                default: boolean;
            };
            renderToBody: {
                type: BooleanConstructor;
                default: boolean;
            };
            preventFocus: {
                type: BooleanConstructor;
                default: boolean;
            };
            scrollToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            scrollToCloseDistance: {
                type: NumberConstructor;
                default: number;
            };
        }>> & Readonly<{
            onResize?: (() => any) | undefined;
            onHide?: (() => any) | undefined;
            onShow?: (() => any) | undefined;
            "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
            onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
        }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'update:popupVisible': (visible: boolean) => true;
            popupVisibleChange: (visible: boolean) => true;
            show: () => true;
            hide: () => true;
            resize: () => true;
        }, import("vue").PublicProps, {
            disabled: boolean;
            position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
            popupVisible: boolean;
            defaultPopupVisible: boolean;
            trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
            popupOffset: number;
            showArrow: boolean;
            alignPoint: boolean;
            popupHoverStay: boolean;
            blurToClose: boolean;
            clickToClose: boolean;
            clickOutsideToClose: boolean;
            unmountOnClose: boolean;
            animationName: string;
            mouseEnterDelay: number;
            mouseLeaveDelay: number;
            focusDelay: number;
            autoFitPopupWidth: boolean;
            autoFitPopupMinWidth: boolean;
            autoFixPosition: boolean;
            updateAtScroll: boolean;
            autoFitTransformOrigin: boolean;
            hideEmpty: boolean;
            autoFitPosition: boolean;
            renderToBody: boolean;
            preventFocus: boolean;
            scrollToClose: boolean;
            scrollToCloseDistance: number;
        }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import("vue").ExtractPropTypes<{
            popupVisible: {
                type: BooleanConstructor;
                default: undefined;
            };
            defaultPopupVisible: {
                type: BooleanConstructor;
                default: boolean;
            };
            trigger: {
                type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
                default: string;
            };
            position: {
                type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
                default: string;
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupOffset: {
                type: NumberConstructor;
                default: number;
            };
            popupTranslate: {
                type: import("vue").PropType<import("..").TriggerPopupTranslate>;
            };
            showArrow: {
                type: BooleanConstructor;
                default: boolean;
            };
            alignPoint: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupHoverStay: {
                type: BooleanConstructor;
                default: boolean;
            };
            blurToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            clickToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            clickOutsideToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            unmountOnClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            contentClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            contentStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            arrowClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            arrowStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            popupStyle: {
                type: import("vue").PropType<import("vue").CSSProperties>;
            };
            animationName: {
                type: StringConstructor;
                default: string;
            };
            duration: {
                type: import("vue").PropType<number | {
                    enter: number;
                    leave: number;
                }>;
            };
            mouseEnterDelay: {
                type: NumberConstructor;
                default: number;
            };
            mouseLeaveDelay: {
                type: NumberConstructor;
                default: number;
            };
            focusDelay: {
                type: NumberConstructor;
                default: number;
            };
            autoFitPopupWidth: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFitPopupMinWidth: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFixPosition: {
                type: BooleanConstructor;
                default: boolean;
            };
            popupContainer: {
                type: import("vue").PropType<string | HTMLElement>;
            };
            updateAtScroll: {
                type: BooleanConstructor;
                default: boolean;
            };
            autoFitTransformOrigin: {
                type: BooleanConstructor;
                default: boolean;
            };
            hideEmpty: {
                type: BooleanConstructor;
                default: boolean;
            };
            openedClass: {
                type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            };
            autoFitPosition: {
                type: BooleanConstructor;
                default: boolean;
            };
            renderToBody: {
                type: BooleanConstructor;
                default: boolean;
            };
            preventFocus: {
                type: BooleanConstructor;
                default: boolean;
            };
            scrollToClose: {
                type: BooleanConstructor;
                default: boolean;
            };
            scrollToCloseDistance: {
                type: NumberConstructor;
                default: number;
            };
        }>> & Readonly<{
            onResize?: (() => any) | undefined;
            onHide?: (() => any) | undefined;
            onShow?: (() => any) | undefined;
            "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
            onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
        }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
            disabled: boolean;
            position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
            popupVisible: boolean;
            defaultPopupVisible: boolean;
            trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
            popupOffset: number;
            showArrow: boolean;
            alignPoint: boolean;
            popupHoverStay: boolean;
            blurToClose: boolean;
            clickToClose: boolean;
            clickOutsideToClose: boolean;
            unmountOnClose: boolean;
            animationName: string;
            mouseEnterDelay: number;
            mouseLeaveDelay: number;
            focusDelay: number;
            autoFitPopupWidth: boolean;
            autoFitPopupMinWidth: boolean;
            autoFixPosition: boolean;
            updateAtScroll: boolean;
            autoFitTransformOrigin: boolean;
            hideEmpty: boolean;
            autoFitPosition: boolean;
            renderToBody: boolean;
            preventFocus: boolean;
            scrollToClose: boolean;
            scrollToCloseDistance: number;
        }>;
        __isFragment?: undefined;
        __isTeleport?: undefined;
        __isSuspense?: undefined;
    } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
        popupVisible: {
            type: BooleanConstructor;
            default: undefined;
        };
        defaultPopupVisible: {
            type: BooleanConstructor;
            default: boolean;
        };
        trigger: {
            type: import("vue").PropType<"focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[]>;
            default: string;
        };
        position: {
            type: import("vue").PropType<"br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb">;
            default: string;
        };
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupOffset: {
            type: NumberConstructor;
            default: number;
        };
        popupTranslate: {
            type: import("vue").PropType<import("..").TriggerPopupTranslate>;
        };
        showArrow: {
            type: BooleanConstructor;
            default: boolean;
        };
        alignPoint: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupHoverStay: {
            type: BooleanConstructor;
            default: boolean;
        };
        blurToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        clickToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        clickOutsideToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        unmountOnClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        contentClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        contentStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        arrowClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        arrowStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        popupStyle: {
            type: import("vue").PropType<import("vue").CSSProperties>;
        };
        animationName: {
            type: StringConstructor;
            default: string;
        };
        duration: {
            type: import("vue").PropType<number | {
                enter: number;
                leave: number;
            }>;
        };
        mouseEnterDelay: {
            type: NumberConstructor;
            default: number;
        };
        mouseLeaveDelay: {
            type: NumberConstructor;
            default: number;
        };
        focusDelay: {
            type: NumberConstructor;
            default: number;
        };
        autoFitPopupWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFitPopupMinWidth: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFixPosition: {
            type: BooleanConstructor;
            default: boolean;
        };
        popupContainer: {
            type: import("vue").PropType<string | HTMLElement>;
        };
        updateAtScroll: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoFitTransformOrigin: {
            type: BooleanConstructor;
            default: boolean;
        };
        hideEmpty: {
            type: BooleanConstructor;
            default: boolean;
        };
        openedClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        };
        autoFitPosition: {
            type: BooleanConstructor;
            default: boolean;
        };
        renderToBody: {
            type: BooleanConstructor;
            default: boolean;
        };
        preventFocus: {
            type: BooleanConstructor;
            default: boolean;
        };
        scrollToClose: {
            type: BooleanConstructor;
            default: boolean;
        };
        scrollToCloseDistance: {
            type: NumberConstructor;
            default: number;
        };
    }>> & Readonly<{
        onResize?: (() => any) | undefined;
        onHide?: (() => any) | undefined;
        onShow?: (() => any) | undefined;
        "onUpdate:popupVisible"?: ((visible: boolean) => any) | undefined;
        onPopupVisibleChange?: ((visible: boolean) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        'update:popupVisible': (visible: boolean) => true;
        popupVisibleChange: (visible: boolean) => true;
        show: () => true;
        hide: () => true;
        resize: () => true;
    }, string, {
        disabled: boolean;
        position: "br" | "rt" | "tr" | "top" | "bottom" | "left" | "right" | "tl" | "bl" | "lt" | "lb" | "rb";
        popupVisible: boolean;
        defaultPopupVisible: boolean;
        trigger: "focus" | "hover" | "click" | "contextMenu" | ("focus" | "hover" | "click" | "contextMenu")[];
        popupOffset: number;
        showArrow: boolean;
        alignPoint: boolean;
        popupHoverStay: boolean;
        blurToClose: boolean;
        clickToClose: boolean;
        clickOutsideToClose: boolean;
        unmountOnClose: boolean;
        animationName: string;
        mouseEnterDelay: number;
        mouseLeaveDelay: number;
        focusDelay: number;
        autoFitPopupWidth: boolean;
        autoFitPopupMinWidth: boolean;
        autoFixPosition: boolean;
        updateAtScroll: boolean;
        autoFitTransformOrigin: boolean;
        hideEmpty: boolean;
        autoFitPosition: boolean;
        renderToBody: boolean;
        preventFocus: boolean;
        scrollToClose: boolean;
        scrollToCloseDistance: number;
    }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
        install: (app: App<any>, options?: ArcoOptions | undefined) => void;
    };
    SelectView: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        modelValue: {
            type: import("vue").PropType<import("../_components/select-view/interface").SelectViewValue[]>;
            required: true;
        };
        inputValue: StringConstructor;
        placeholder: StringConstructor;
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        error: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        opened: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowCreate: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowSearch: {
            type: BooleanConstructor;
            default: (props: import("../_utils/types").Data) => boolean;
        };
        maxTagCount: {
            type: NumberConstructor;
            default: number;
        };
        tagNowrap: {
            type: BooleanConstructor;
            default: boolean;
        };
        retainInputValue: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {
        inputRef: import("vue").ComputedRef<HTMLInputElement>;
        handleFocus: (ev: FocusEvent) => void;
        handleBlur: (ev: FocusEvent) => void;
        render: () => import("vue/jsx-runtime").JSX.Element;
    }, {}, {}, {
        focus(): void;
        blur(): void;
    }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "blur" | "focus" | "remove")[], "clear" | "blur" | "focus" | "remove", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        modelValue: {
            type: import("vue").PropType<import("../_components/select-view/interface").SelectViewValue[]>;
            required: true;
        };
        inputValue: StringConstructor;
        placeholder: StringConstructor;
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        error: {
            type: BooleanConstructor;
            default: boolean;
        };
        loading: {
            type: BooleanConstructor;
            default: boolean;
        };
        opened: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        multiple: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowClear: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowCreate: {
            type: BooleanConstructor;
            default: boolean;
        };
        allowSearch: {
            type: BooleanConstructor;
            default: (props: import("../_utils/types").Data) => boolean;
        };
        maxTagCount: {
            type: NumberConstructor;
            default: number;
        };
        tagNowrap: {
            type: BooleanConstructor;
            default: boolean;
        };
        retainInputValue: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{
        onClear?: ((...args: any[]) => any) | undefined;
        onBlur?: ((...args: any[]) => any) | undefined;
        onFocus?: ((...args: any[]) => any) | undefined;
        onRemove?: ((...args: any[]) => any) | undefined;
    }>, {
        disabled: boolean;
        error: boolean;
        allowClear: boolean;
        retainInputValue: boolean;
        loading: boolean;
        opened: boolean;
        bordered: boolean;
        multiple: boolean;
        allowCreate: boolean;
        allowSearch: boolean;
        maxTagCount: number;
        tagNowrap: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
} & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    Option: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        value: {
            type: (BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
            default: undefined;
        };
        label: StringConstructor;
        disabled: BooleanConstructor;
        tagProps: {
            type: import("vue").PropType<import("..").TagProps>;
        };
        extra: {
            type: ObjectConstructor;
        };
        index: {
            type: NumberConstructor;
        };
        internal: BooleanConstructor;
    }>, {
        prefixCls: string;
        cls: import("vue").ComputedRef<(string | {
            [x: string]: boolean | undefined;
        })[]>;
        selectCtx: import("./context").SelectContext | undefined;
        itemRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
        component: import("vue").ComputedRef<string>;
        isSelected: import("vue").ComputedRef<boolean>;
        isValid: import("vue").Ref<boolean, boolean>;
        handleClick: (ev: MouseEvent) => void;
        handleMouseEnter: () => void;
        handleMouseLeave: () => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        value: {
            type: (BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
            default: undefined;
        };
        label: StringConstructor;
        disabled: BooleanConstructor;
        tagProps: {
            type: import("vue").PropType<import("..").TagProps>;
        };
        extra: {
            type: ObjectConstructor;
        };
        index: {
            type: NumberConstructor;
        };
        internal: BooleanConstructor;
    }>> & Readonly<{}>, {
        disabled: boolean;
        value: string | number | boolean | Record<string, any>;
        internal: boolean;
    }, {}, {
        Checkbox: {
            new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
                modelValue: {
                    type: import("vue").PropType<boolean | (string | number | boolean)[]>;
                    default: undefined;
                };
                defaultChecked: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                value: {
                    type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                indeterminate: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                uninjectGroupContext: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{
                onChange?: ((value: boolean | (string | number | boolean)[], ev: Event) => any) | undefined;
                "onUpdate:modelValue"?: ((value: boolean | (string | number | boolean)[]) => any) | undefined;
            }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
                'update:modelValue': (value: boolean | (string | number | boolean)[]) => true;
                change: (value: boolean | (string | number | boolean)[], ev: Event) => true;
            }, import("vue").PublicProps, {
                disabled: boolean;
                modelValue: boolean | (string | number | boolean)[];
                defaultChecked: boolean;
                indeterminate: boolean;
                uninjectGroupContext: boolean;
            }, true, {}, {}, {
                IconCheck: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
                IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                    prefix: {
                        type: StringConstructor;
                    };
                    size: {
                        type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
                        default: string;
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: boolean;
                    };
                }>, {
                    prefixCls: string;
                }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                    prefix: {
                        type: StringConstructor;
                    };
                    size: {
                        type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
                        default: string;
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: boolean;
                    };
                }>> & Readonly<{}>, {
                    size: "mini" | "small" | "medium" | "large";
                    disabled: boolean;
                }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
            } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import("vue").ExtractPropTypes<{
                modelValue: {
                    type: import("vue").PropType<boolean | (string | number | boolean)[]>;
                    default: undefined;
                };
                defaultChecked: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                value: {
                    type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                indeterminate: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                uninjectGroupContext: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{
                onChange?: ((value: boolean | (string | number | boolean)[], ev: Event) => any) | undefined;
                "onUpdate:modelValue"?: ((value: boolean | (string | number | boolean)[]) => any) | undefined;
            }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
                disabled: boolean;
                modelValue: boolean | (string | number | boolean)[];
                defaultChecked: boolean;
                indeterminate: boolean;
                uninjectGroupContext: boolean;
            }>;
            __isFragment?: undefined;
            __isTeleport?: undefined;
            __isSuspense?: undefined;
        } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            modelValue: {
                type: import("vue").PropType<boolean | (string | number | boolean)[]>;
                default: undefined;
            };
            defaultChecked: {
                type: BooleanConstructor;
                default: boolean;
            };
            value: {
                type: (BooleanConstructor | StringConstructor | NumberConstructor)[];
            };
            disabled: {
                type: BooleanConstructor;
                default: boolean;
            };
            indeterminate: {
                type: BooleanConstructor;
                default: boolean;
            };
            uninjectGroupContext: {
                type: BooleanConstructor;
                default: boolean;
            };
        }>> & Readonly<{
            onChange?: ((value: boolean | (string | number | boolean)[], ev: Event) => any) | undefined;
            "onUpdate:modelValue"?: ((value: boolean | (string | number | boolean)[]) => any) | undefined;
        }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'update:modelValue': (value: boolean | (string | number | boolean)[]) => true;
            change: (value: boolean | (string | number | boolean)[], ev: Event) => true;
        }, string, {
            disabled: boolean;
            modelValue: boolean | (string | number | boolean)[];
            defaultChecked: boolean;
            indeterminate: boolean;
            uninjectGroupContext: boolean;
        }, {}, string, {}, {
            IconCheck: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
            IconHover: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                prefix: {
                    type: StringConstructor;
                };
                size: {
                    type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>, {
                prefixCls: string;
            }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                prefix: {
                    type: StringConstructor;
                };
                size: {
                    type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{}>, {
                size: "mini" | "small" | "medium" | "large";
                disabled: boolean;
            }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
        } & import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
            Group: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
                modelValue: {
                    type: import("vue").PropType<(string | number | boolean)[]>;
                    default: undefined;
                };
                defaultValue: {
                    type: import("vue").PropType<(string | number | boolean)[]>;
                    default: () => never[];
                };
                max: {
                    type: NumberConstructor;
                };
                options: {
                    type: import("vue").PropType<(string | number | import("..").CheckboxOption)[]>;
                };
                direction: {
                    type: import("vue").PropType<"horizontal" | "vertical">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
                'update:modelValue': (value: (string | number | boolean)[]) => true;
                change: (value: (string | number | boolean)[], ev: Event) => true;
            }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
                modelValue: {
                    type: import("vue").PropType<(string | number | boolean)[]>;
                    default: undefined;
                };
                defaultValue: {
                    type: import("vue").PropType<(string | number | boolean)[]>;
                    default: () => never[];
                };
                max: {
                    type: NumberConstructor;
                };
                options: {
                    type: import("vue").PropType<(string | number | import("..").CheckboxOption)[]>;
                };
                direction: {
                    type: import("vue").PropType<"horizontal" | "vertical">;
                    default: string;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: boolean;
                };
            }>> & Readonly<{
                onChange?: ((value: (string | number | boolean)[], ev: Event) => any) | undefined;
                "onUpdate:modelValue"?: ((value: (string | number | boolean)[]) => any) | undefined;
            }>, {
                disabled: boolean;
                defaultValue: (string | number | boolean)[];
                modelValue: (string | number | boolean)[];
                direction: "horizontal" | "vertical";
            }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
            install: (app: App<any>, options?: ArcoOptions | undefined) => void;
        };
    }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    OptGroup: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        label: {
            type: StringConstructor;
        };
    }>, {
        prefixCls: string;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        label: {
            type: StringConstructor;
        };
    }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type SelectInstance = InstanceType<typeof _Select>;
export declare type SelectOptionInstance = InstanceType<typeof _Option>;
export declare type SelectOptGroupInstance = InstanceType<typeof _Optgroup>;
export type { SelectProps, SelectOption, SelectOptionData, SelectOptionGroup, SelectFieldNames, FilterOption, } from './interface';
export { _Option as Option, _Optgroup as Optgroup };
export default Select;
