UNPKG

@opensig/opendesign

Version:

1,539 lines 68.7 kB
import { ComponentPublicInstance, nextTick } from 'vue';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        'prefix-of-search-prefix'?(_: {}): any;
        'prefix-of-search-suffix'?(_: {}): any;
    };
    refs: {
        searchInputRef: ({
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: Partial<{
                color: "normal" | "primary" | "success" | "warning" | "danger";
                type: "text" | "password";
                disabled: boolean;
                variant: "solid" | "outline" | "text";
                clearable: boolean;
                readonly: boolean;
                noKeyboard: boolean;
                showLength: "auto" | "always" | "never";
                inputOnOutlimit: boolean;
                showPasswordEvent: "click" | "pointerdown";
                autoWidth: boolean;
                passwordPlaceholder: string;
                onlyNumericInput: boolean;
            }> & Omit<{
                readonly color: "normal" | "primary" | "success" | "warning" | "danger";
                readonly type: "text" | "password";
                readonly disabled: boolean;
                readonly variant: "solid" | "outline" | "text";
                readonly clearable: boolean;
                readonly readonly: boolean;
                readonly noKeyboard: boolean;
                readonly showLength: "auto" | "always" | "never";
                readonly inputOnOutlimit: boolean;
                readonly showPasswordEvent: "click" | "pointerdown";
                readonly autoWidth: boolean;
                readonly passwordPlaceholder: string;
                readonly onlyNumericInput: boolean;
                readonly round?: import('..').RoundT | undefined;
                readonly size?: "large" | "medium" | "small" | undefined;
                readonly placeholder?: string | undefined;
                readonly defaultValue?: string | number | undefined;
                readonly modelValue?: string | number | undefined;
                readonly inputId?: string | undefined;
                readonly validate?: ((value: string) => boolean) | undefined;
                readonly minLength?: number | undefined;
                readonly maxLength?: number | undefined;
                readonly getLength?: ((val: string) => number) | undefined;
                readonly format?: ((value: string) => string) | undefined;
                readonly valueOnInvalidChange?: boolean | ((inputValue: string, lastValidInputValue: string) => string) | undefined;
                readonly onInput?: ((evt: Event, value: string) => any) | undefined;
                readonly onClear?: ((evt?: Event | undefined) => any) | undefined;
                readonly onBlur?: ((evt: FocusEvent) => any) | undefined;
                readonly onChange?: ((value: string) => any) | undefined;
                readonly onFocus?: ((evt: FocusEvent) => any) | undefined;
                readonly "onUpdate:modelValue"?: ((value: string) => any) | undefined;
                readonly onPressEnter?: ((evt: KeyboardEvent) => any) | undefined;
            } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "color" | "type" | "disabled" | "variant" | "clearable" | "readonly" | "noKeyboard" | "showLength" | "inputOnOutlimit" | "showPasswordEvent" | "autoWidth" | "passwordPlaceholder" | "onlyNumericInput">;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import('vue').Slot<any> | undefined;
            }>;
            $root: ComponentPublicInstance | null;
            $parent: ComponentPublicInstance | null;
            $host: Element | null;
            $emit: ((event: "input", evt: Event, value: string) => void) & ((event: "clear", evt?: Event | undefined) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "change", value: string) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "update:modelValue", value: string) => void) & ((event: "pressEnter", evt: KeyboardEvent) => void);
            $el: any;
            $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
                size: {
                    type: import('vue').PropType<import('..').SizeT>;
                };
                round: {
                    type: import('vue').PropType<import('..').RoundT>;
                };
                color: {
                    type: import('vue').PropType<import('..').Color2T>;
                    default: string;
                };
                variant: {
                    type: import('vue').PropType<import('..').VariantT>;
                    default: string;
                };
                modelValue: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                defaultValue: {
                    type: (NumberConstructor | StringConstructor)[];
                };
                type: {
                    type: import('vue').PropType<"text" | "password">;
                    default: string;
                };
                placeholder: {
                    type: StringConstructor;
                };
                inputId: {
                    type: StringConstructor;
                };
                disabled: {
                    type: BooleanConstructor;
                };
                readonly: {
                    type: BooleanConstructor;
                };
                noKeyboard: {
                    type: BooleanConstructor;
                };
                clearable: {
                    type: BooleanConstructor;
                };
                minLength: {
                    type: NumberConstructor;
                };
                maxLength: {
                    type: NumberConstructor;
                };
                showLength: {
                    type: import('vue').PropType<"always" | "auto" | "never">;
                    default: string;
                };
                getLength: {
                    type: import('vue').PropType<(val: string) => number>;
                };
                inputOnOutlimit: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                format: {
                    type: import('vue').PropType<(value: string) => string>;
                };
                validate: {
                    type: import('vue').PropType<(value: string) => boolean>;
                };
                valueOnInvalidChange: {
                    type: import('vue').PropType<boolean | ((inputValue: string, lastValidInputValue: string) => string)>;
                };
                showPasswordEvent: {
                    type: import('vue').PropType<"click" | "pointerdown">;
                    default: string;
                };
                autoWidth: {
                    type: BooleanConstructor;
                };
                passwordPlaceholder: {
                    type: StringConstructor;
                    default: string;
                };
                onlyNumericInput: {
                    type: BooleanConstructor;
                };
            }>> & Readonly<{
                onInput?: ((evt: Event, value: string) => any) | undefined;
                onClear?: ((evt?: Event | undefined) => any) | undefined;
                onBlur?: ((evt: FocusEvent) => any) | undefined;
                onChange?: ((value: string) => any) | undefined;
                onFocus?: ((evt: FocusEvent) => any) | undefined;
                "onUpdate:modelValue"?: ((value: string) => any) | undefined;
                onPressEnter?: ((evt: KeyboardEvent) => any) | undefined;
            }>, {
                focus: () => void | undefined;
                blur: () => void | undefined;
                clear: () => void | undefined;
                inputEl: () => HTMLInputElement | HTMLTextAreaElement | undefined;
                togglePassword: () => void | undefined;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
                input: (evt: Event, value: string) => any;
                clear: (evt?: Event | undefined) => any;
                blur: (evt: FocusEvent) => any;
                change: (value: string) => any;
                focus: (evt: FocusEvent) => any;
                "update:modelValue": (value: string) => any;
                pressEnter: (evt: KeyboardEvent) => any;
            }, string, {
                color: "normal" | "primary" | "success" | "warning" | "danger";
                type: "text" | "password";
                disabled: boolean;
                variant: "solid" | "outline" | "text";
                clearable: boolean;
                readonly: boolean;
                noKeyboard: boolean;
                showLength: "auto" | "always" | "never";
                inputOnOutlimit: boolean;
                showPasswordEvent: "click" | "pointerdown";
                autoWidth: boolean;
                passwordPlaceholder: string;
                onlyNumericInput: boolean;
            }, {}, 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: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: 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<{
            color: "normal" | "primary" | "success" | "warning" | "danger";
            type: "text" | "password";
            disabled: boolean;
            variant: "solid" | "outline" | "text";
            clearable: boolean;
            readonly: boolean;
            noKeyboard: boolean;
            showLength: "auto" | "always" | "never";
            inputOnOutlimit: boolean;
            showPasswordEvent: "click" | "pointerdown";
            autoWidth: boolean;
            passwordPlaceholder: string;
            onlyNumericInput: boolean;
        }> & Omit<Readonly<import('vue').ExtractPropTypes<{
            size: {
                type: import('vue').PropType<import('..').SizeT>;
            };
            round: {
                type: import('vue').PropType<import('..').RoundT>;
            };
            color: {
                type: import('vue').PropType<import('..').Color2T>;
                default: string;
            };
            variant: {
                type: import('vue').PropType<import('..').VariantT>;
                default: string;
            };
            modelValue: {
                type: (NumberConstructor | StringConstructor)[];
            };
            defaultValue: {
                type: (NumberConstructor | StringConstructor)[];
            };
            type: {
                type: import('vue').PropType<"text" | "password">;
                default: string;
            };
            placeholder: {
                type: StringConstructor;
            };
            inputId: {
                type: StringConstructor;
            };
            disabled: {
                type: BooleanConstructor;
            };
            readonly: {
                type: BooleanConstructor;
            };
            noKeyboard: {
                type: BooleanConstructor;
            };
            clearable: {
                type: BooleanConstructor;
            };
            minLength: {
                type: NumberConstructor;
            };
            maxLength: {
                type: NumberConstructor;
            };
            showLength: {
                type: import('vue').PropType<"always" | "auto" | "never">;
                default: string;
            };
            getLength: {
                type: import('vue').PropType<(val: string) => number>;
            };
            inputOnOutlimit: {
                type: BooleanConstructor;
                default: boolean;
            };
            format: {
                type: import('vue').PropType<(value: string) => string>;
            };
            validate: {
                type: import('vue').PropType<(value: string) => boolean>;
            };
            valueOnInvalidChange: {
                type: import('vue').PropType<boolean | ((inputValue: string, lastValidInputValue: string) => string)>;
            };
            showPasswordEvent: {
                type: import('vue').PropType<"click" | "pointerdown">;
                default: string;
            };
            autoWidth: {
                type: BooleanConstructor;
            };
            passwordPlaceholder: {
                type: StringConstructor;
                default: string;
            };
            onlyNumericInput: {
                type: BooleanConstructor;
            };
        }>> & Readonly<{
            onInput?: ((evt: Event, value: string) => any) | undefined;
            onClear?: ((evt?: Event | undefined) => any) | undefined;
            onBlur?: ((evt: FocusEvent) => any) | undefined;
            onChange?: ((value: string) => any) | undefined;
            onFocus?: ((evt: FocusEvent) => any) | undefined;
            "onUpdate:modelValue"?: ((value: string) => any) | undefined;
            onPressEnter?: ((evt: KeyboardEvent) => any) | undefined;
        }>, "clear" | "blur" | "focus" | "inputEl" | "togglePassword" | ("color" | "type" | "disabled" | "variant" | "clearable" | "readonly" | "noKeyboard" | "showLength" | "inputOnOutlimit" | "showPasswordEvent" | "autoWidth" | "passwordPlaceholder" | "onlyNumericInput")> & import('vue').ShallowUnwrapRef<{
            focus: () => void | undefined;
            blur: () => void | undefined;
            clear: () => void | undefined;
            inputEl: () => HTMLInputElement | HTMLTextAreaElement | undefined;
            togglePassword: () => void | undefined;
        }> & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: Readonly<{
                default(): any;
                prepend(): any;
                append(): any;
                prefix(): any;
                suffix(): any;
                extra(): any;
            }> & {
                default(): any;
                prepend(): any;
                append(): any;
                prefix(): any;
                suffix(): any;
                extra(): any;
            };
        }) | null;
        searchSelectRef: ({
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: Partial<{
                color: "normal" | "primary" | "success" | "warning" | "danger";
                disabled: boolean;
                multiple: boolean;
                trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
                unmountOnHide: boolean;
                variant: "solid" | "outline" | "text";
                loading: boolean;
                noResponsive: boolean;
                clearable: boolean;
                optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
                optionWidthMode: "width" | "auto" | "min-width";
                optionsWrapper: string | HTMLElement | null;
                showFoldTags: boolean | "click" | "hover";
            }> & Omit<{
                readonly color: "normal" | "primary" | "success" | "warning" | "danger";
                readonly disabled: boolean;
                readonly multiple: boolean;
                readonly trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
                readonly unmountOnHide: boolean;
                readonly variant: "solid" | "outline" | "text";
                readonly loading: boolean;
                readonly noResponsive: boolean;
                readonly clearable: boolean;
                readonly optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
                readonly optionWidthMode: "width" | "auto" | "min-width";
                readonly optionsWrapper: string | HTMLElement | null;
                readonly showFoldTags: boolean | "click" | "hover";
                readonly round?: import('..').RoundT | undefined;
                readonly size?: "large" | "medium" | "small" | undefined;
                readonly transition?: string | undefined;
                readonly placeholder?: string | undefined;
                readonly defaultValue?: import('..').SelectValueT | undefined;
                readonly modelValue?: import('..').SelectValueT | undefined;
                readonly maxTagCount?: number | undefined;
                readonly optionWrapClass?: string | {
                    [k: string]: boolean;
                } | (string | {
                    [k: string]: boolean;
                })[] | undefined;
                readonly beforeSelect?: ((value: string | number, currentValue: import('..').SelectValueT) => Promise<boolean | string | number> | boolean | string | number) | undefined;
                readonly beforeOptionsShow?: (() => Promise<boolean> | boolean) | undefined;
                readonly beforeOptionsHide?: (() => Promise<boolean> | boolean) | undefined;
                readonly foldLabel?: ((tags: Array<import('..').SelectOptionT>) => string) | undefined;
                readonly optionTitle?: string | undefined;
                readonly onClear?: ((evt: Event) => any) | undefined;
                readonly onChange?: ((value: import('..').SelectValueT) => any) | undefined;
                readonly "onUpdate:modelValue"?: ((value: import('..').SelectValueT) => any) | undefined;
                readonly "onOptions-visible-change"?: ((value: boolean) => any) | undefined;
            } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "color" | "disabled" | "multiple" | "trigger" | "unmountOnHide" | "variant" | "loading" | "noResponsive" | "clearable" | "optionPosition" | "optionWidthMode" | "optionsWrapper" | "showFoldTags">;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            } & {
                selectRef: HTMLDivElement;
                optionsRef: HTMLDivElement;
            };
            $slots: Readonly<{
                [name: string]: import('vue').Slot<any> | undefined;
            }>;
            $root: ComponentPublicInstance | null;
            $parent: ComponentPublicInstance | null;
            $host: Element | null;
            $emit: ((event: "clear", evt: Event) => void) & ((event: "change", value: import('..').SelectValueT) => void) & ((event: "update:modelValue", value: import('..').SelectValueT) => void) & ((event: "options-visible-change", value: boolean) => void);
            $el: HTMLDivElement;
            $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
                modelValue: {
                    type: import('vue').PropType<import('..').SelectValueT>;
                };
                defaultValue: {
                    type: import('vue').PropType<import('..').SelectValueT>;
                };
                size: {
                    type: import('vue').PropType<import('..').SizeT>;
                };
                round: {
                    type: import('vue').PropType<import('..').RoundT>;
                };
                color: {
                    type: import('vue').PropType<import('..').Color2T>;
                    default: string;
                };
                variant: {
                    type: import('vue').PropType<import('..').VariantT>;
                    default: string;
                };
                placeholder: {
                    type: StringConstructor;
                };
                multiple: {
                    type: BooleanConstructor;
                };
                maxTagCount: {
                    type: NumberConstructor;
                };
                clearable: {
                    type: BooleanConstructor;
                };
                disabled: {
                    type: BooleanConstructor;
                };
                trigger: {
                    type: import('vue').PropType<import('..').PopupTriggerT>;
                    default: string;
                };
                optionPosition: {
                    type: import('vue').PropType<import('..').PopupPositionT>;
                    default: string;
                };
                optionWidthMode: {
                    type: import('vue').PropType<import('..').OptionWidthModeT>;
                    default: string;
                };
                optionWrapClass: {
                    type: import('vue').PropType<string | {
                        [k: string]: boolean;
                    } | Array<{
                        [k: string]: boolean;
                    } | string>>;
                };
                unmountOnHide: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                transition: {
                    type: StringConstructor;
                };
                loading: {
                    type: BooleanConstructor;
                };
                beforeSelect: {
                    type: import('vue').PropType<(value: string | number, currentValue: import('..').SelectValueT) => Promise<boolean | string | number> | boolean | string | number>;
                };
                beforeOptionsShow: {
                    type: import('vue').PropType<() => Promise<boolean> | boolean>;
                };
                beforeOptionsHide: {
                    type: import('vue').PropType<() => Promise<boolean> | boolean>;
                };
                optionsWrapper: {
                    type: import('vue').PropType<string | HTMLElement | null>;
                    default: string;
                };
                foldLabel: {
                    type: import('vue').PropType<(tags: Array<import('..').SelectOptionT>) => string>;
                };
                showFoldTags: {
                    type: import('vue').PropType<boolean | "hover" | "click">;
                    default: string;
                };
                optionTitle: {
                    type: StringConstructor;
                };
                noResponsive: {
                    type: BooleanConstructor;
                };
            }>> & Readonly<{
                onClear?: ((evt: Event) => any) | undefined;
                onChange?: ((value: import('..').SelectValueT) => any) | undefined;
                "onUpdate:modelValue"?: ((value: import('..').SelectValueT) => any) | undefined;
                "onOptions-visible-change"?: ((value: boolean) => any) | undefined;
            }>, {
                selectRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                isSelecting: import('vue').Ref<boolean, boolean>;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
                clear: (evt: Event) => any;
                change: (value: import('..').SelectValueT) => any;
                "update:modelValue": (value: import('..').SelectValueT) => any;
                "options-visible-change": (value: boolean) => any;
            }, string, {
                color: "normal" | "primary" | "success" | "warning" | "danger";
                disabled: boolean;
                multiple: boolean;
                trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
                unmountOnHide: boolean;
                variant: "solid" | "outline" | "text";
                loading: boolean;
                noResponsive: boolean;
                clearable: boolean;
                optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
                optionWidthMode: "width" | "auto" | "min-width";
                optionsWrapper: string | HTMLElement | null;
                showFoldTags: boolean | "click" | "hover";
            }, {}, 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: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: 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<{
            color: "normal" | "primary" | "success" | "warning" | "danger";
            disabled: boolean;
            multiple: boolean;
            trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
            unmountOnHide: boolean;
            variant: "solid" | "outline" | "text";
            loading: boolean;
            noResponsive: boolean;
            clearable: boolean;
            optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
            optionWidthMode: "width" | "auto" | "min-width";
            optionsWrapper: string | HTMLElement | null;
            showFoldTags: boolean | "click" | "hover";
        }> & Omit<Readonly<import('vue').ExtractPropTypes<{
            modelValue: {
                type: import('vue').PropType<import('..').SelectValueT>;
            };
            defaultValue: {
                type: import('vue').PropType<import('..').SelectValueT>;
            };
            size: {
                type: import('vue').PropType<import('..').SizeT>;
            };
            round: {
                type: import('vue').PropType<import('..').RoundT>;
            };
            color: {
                type: import('vue').PropType<import('..').Color2T>;
                default: string;
            };
            variant: {
                type: import('vue').PropType<import('..').VariantT>;
                default: string;
            };
            placeholder: {
                type: StringConstructor;
            };
            multiple: {
                type: BooleanConstructor;
            };
            maxTagCount: {
                type: NumberConstructor;
            };
            clearable: {
                type: BooleanConstructor;
            };
            disabled: {
                type: BooleanConstructor;
            };
            trigger: {
                type: import('vue').PropType<import('..').PopupTriggerT>;
                default: string;
            };
            optionPosition: {
                type: import('vue').PropType<import('..').PopupPositionT>;
                default: string;
            };
            optionWidthMode: {
                type: import('vue').PropType<import('..').OptionWidthModeT>;
                default: string;
            };
            optionWrapClass: {
                type: import('vue').PropType<string | {
                    [k: string]: boolean;
                } | Array<{
                    [k: string]: boolean;
                } | string>>;
            };
            unmountOnHide: {
                type: BooleanConstructor;
                default: boolean;
            };
            transition: {
                type: StringConstructor;
            };
            loading: {
                type: BooleanConstructor;
            };
            beforeSelect: {
                type: import('vue').PropType<(value: string | number, currentValue: import('..').SelectValueT) => Promise<boolean | string | number> | boolean | string | number>;
            };
            beforeOptionsShow: {
                type: import('vue').PropType<() => Promise<boolean> | boolean>;
            };
            beforeOptionsHide: {
                type: import('vue').PropType<() => Promise<boolean> | boolean>;
            };
            optionsWrapper: {
                type: import('vue').PropType<string | HTMLElement | null>;
                default: string;
            };
            foldLabel: {
                type: import('vue').PropType<(tags: Array<import('..').SelectOptionT>) => string>;
            };
            showFoldTags: {
                type: import('vue').PropType<boolean | "hover" | "click">;
                default: string;
            };
            optionTitle: {
                type: StringConstructor;
            };
            noResponsive: {
                type: BooleanConstructor;
            };
        }>> & Readonly<{
            onClear?: ((evt: Event) => any) | undefined;
            onChange?: ((value: import('..').SelectValueT) => any) | undefined;
            "onUpdate:modelValue"?: ((value: import('..').SelectValueT) => any) | undefined;
            "onOptions-visible-change"?: ((value: boolean) => any) | undefined;
        }>, "selectRef" | "isSelecting" | ("color" | "disabled" | "multiple" | "trigger" | "unmountOnHide" | "variant" | "loading" | "noResponsive" | "clearable" | "optionPosition" | "optionWidthMode" | "optionsWrapper" | "showFoldTags")> & import('vue').ShallowUnwrapRef<{
            selectRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            isSelecting: import('vue').Ref<boolean, boolean>;
        }> & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: Readonly<{
                default?(): any;
                prefix?(): any;
                'tag-fold'?(): any;
                arrow?(props: {
                    active: boolean;
                }): any;
                suffix?(props: {
                    active: boolean;
                }): any;
                empty?(): any;
                action?(): any;
            }> & {
                default?(): any;
                prefix?(): any;
                'tag-fold'?(): any;
                arrow?(props: {
                    active: boolean;
                }): any;
                suffix?(props: {
                    active: boolean;
                }): any;
                empty?(): any;
                action?(): any;
            };
        }) | null;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    readonly modelValue: {
        readonly type: StringConstructor;
    };
    readonly defaultValue: {
        readonly type: StringConstructor;
    };
    readonly clearable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly disabled: {
        readonly type: BooleanConstructor;
    };
    readonly size: {
        readonly type: import('vue').PropType<Exclude<import('..').SizeT, "small"> | "xlarge">;
        readonly default: "large";
    };
    readonly round: {
        type: import('vue').PropType<import('..').RoundT>;
    };
    readonly color: {
        type: import('vue').PropType<import('..').Color2T>;
        default: string;
    };
    readonly readonly: {
        type: BooleanConstructor;
    };
    readonly variant: {
        type: import('vue').PropType<import('..').VariantT>;
        default: string;
    };
    readonly placeholder: {
        readonly type: StringConstructor;
    };
    readonly placeholderOfPrefixSelect: {
        readonly type: StringConstructor;
    };
    readonly placeholderOfSuffixSelect: {
        readonly type: StringConstructor;
    };
    readonly prefixSelectedVal: {
        readonly type: StringConstructor;
    };
    readonly suffixSelectedVal: {
        readonly type: StringConstructor;
    };
    readonly optionsOfPrefixSelect: {
        readonly type: import('vue').PropType<Array<{
            label: string;
            value: string | number;
        }>>;
    };
    readonly optionsOfSuffixSelect: {
        readonly type: import('vue').PropType<Array<{
            label: string;
            value: string | number;
        }>>;
    };
    readonly showPrefixSelect: {
        readonly type: BooleanConstructor;
    };
    readonly showSuffixSelect: {
        readonly type: BooleanConstructor;
    };
    readonly suggesstions: {
        readonly type: import('vue').PropType<Array<{
            label: string;
            value: string | number;
        }>>;
    };
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    [x: string]: any;
} & {
    [x: string]: any;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    readonly modelValue: {
        readonly type: StringConstructor;
    };
    readonly defaultValue: {
        readonly type: StringConstructor;
    };
    readonly clearable: {
        readonly type: BooleanConstructor;
        readonly default: true;
    };
    readonly disabled: {
        readonly type: BooleanConstructor;
    };
    readonly size: {
        readonly type: import('vue').PropType<Exclude<import('..').SizeT, "small"> | "xlarge">;
        readonly default: "large";
    };
    readonly round: {
        type: import('vue').PropType<import('..').RoundT>;
    };
    readonly color: {
        type: import('vue').PropType<import('..').Color2T>;
        default: string;
    };
    readonly readonly: {
        type: BooleanConstructor;
    };
    readonly variant: {
        type: import('vue').PropType<import('..').VariantT>;
        default: string;
    };
    readonly placeholder: {
        readonly type: StringConstructor;
    };
    readonly placeholderOfPrefixSelect: {
        readonly type: StringConstructor;
    };
    readonly placeholderOfSuffixSelect: {
        readonly type: StringConstructor;
    };
    readonly prefixSelectedVal: {
        readonly type: StringConstructor;
    };
    readonly suffixSelectedVal: {
        readonly type: StringConstructor;
    };
    readonly optionsOfPrefixSelect: {
        readonly type: import('vue').PropType<Array<{
            label: string;
            value: string | number;
        }>>;
    };
    readonly optionsOfSuffixSelect: {
        readonly type: import('vue').PropType<Array<{
            label: string;
            value: string | number;
        }>>;
    };
    readonly showPrefixSelect: {
        readonly type: BooleanConstructor;
    };
    readonly showSuffixSelect: {
        readonly type: BooleanConstructor;
    };
    readonly suggesstions: {
        readonly type: import('vue').PropType<Array<{
            label: string;
            value: string | number;
        }>>;
    };
}>> & Readonly<{
    [x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
}>, {
    readonly color: "normal" | "primary" | "success" | "warning" | "danger";
    readonly size: "large" | "medium" | "xlarge";
    readonly disabled: boolean;
    readonly variant: "solid" | "outline" | "text";
    readonly clearable: boolean;
    readonly readonly: boolean;
    readonly showPrefixSelect: boolean;
    readonly showSuffixSelect: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
    searchInputRef: ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            color: "normal" | "primary" | "success" | "warning" | "danger";
            type: "text" | "password";
            disabled: boolean;
            variant: "solid" | "outline" | "text";
            clearable: boolean;
            readonly: boolean;
            noKeyboard: boolean;
            showLength: "auto" | "always" | "never";
            inputOnOutlimit: boolean;
            showPasswordEvent: "click" | "pointerdown";
            autoWidth: boolean;
            passwordPlaceholder: string;
            onlyNumericInput: boolean;
        }> & Omit<{
            readonly color: "normal" | "primary" | "success" | "warning" | "danger";
            readonly type: "text" | "password";
            readonly disabled: boolean;
            readonly variant: "solid" | "outline" | "text";
            readonly clearable: boolean;
            readonly readonly: boolean;
            readonly noKeyboard: boolean;
            readonly showLength: "auto" | "always" | "never";
            readonly inputOnOutlimit: boolean;
            readonly showPasswordEvent: "click" | "pointerdown";
            readonly autoWidth: boolean;
            readonly passwordPlaceholder: string;
            readonly onlyNumericInput: boolean;
            readonly round?: import('..').RoundT | undefined;
            readonly size?: "large" | "medium" | "small" | undefined;
            readonly placeholder?: string | undefined;
            readonly defaultValue?: string | number | undefined;
            readonly modelValue?: string | number | undefined;
            readonly inputId?: string | undefined;
            readonly validate?: ((value: string) => boolean) | undefined;
            readonly minLength?: number | undefined;
            readonly maxLength?: number | undefined;
            readonly getLength?: ((val: string) => number) | undefined;
            readonly format?: ((value: string) => string) | undefined;
            readonly valueOnInvalidChange?: boolean | ((inputValue: string, lastValidInputValue: string) => string) | undefined;
            readonly onInput?: ((evt: Event, value: string) => any) | undefined;
            readonly onClear?: ((evt?: Event | undefined) => any) | undefined;
            readonly onBlur?: ((evt: FocusEvent) => any) | undefined;
            readonly onChange?: ((value: string) => any) | undefined;
            readonly onFocus?: ((evt: FocusEvent) => any) | undefined;
            readonly "onUpdate:modelValue"?: ((value: string) => any) | undefined;
            readonly onPressEnter?: ((evt: KeyboardEvent) => any) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "color" | "type" | "disabled" | "variant" | "clearable" | "readonly" | "noKeyboard" | "showLength" | "inputOnOutlimit" | "showPasswordEvent" | "autoWidth" | "passwordPlaceholder" | "onlyNumericInput">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: ComponentPublicInstance | null;
        $parent: ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "input", evt: Event, value: string) => void) & ((event: "clear", evt?: Event | undefined) => void) & ((event: "blur", evt: FocusEvent) => void) & ((event: "change", value: string) => void) & ((event: "focus", evt: FocusEvent) => void) & ((event: "update:modelValue", value: string) => void) & ((event: "pressEnter", evt: KeyboardEvent) => void);
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            size: {
                type: import('vue').PropType<import('..').SizeT>;
            };
            round: {
                type: import('vue').PropType<import('..').RoundT>;
            };
            color: {
                type: import('vue').PropType<import('..').Color2T>;
                default: string;
            };
            variant: {
                type: import('vue').PropType<import('..').VariantT>;
                default: string;
            };
            modelValue: {
                type: (NumberConstructor | StringConstructor)[];
            };
            defaultValue: {
                type: (NumberConstructor | StringConstructor)[];
            };
            type: {
                type: import('vue').PropType<"text" | "password">;
                default: string;
            };
            placeholder: {
                type: StringConstructor;
            };
            inputId: {
                type: StringConstructor;
            };
            disabled: {
                type: BooleanConstructor;
            };
            readonly: {
                type: BooleanConstructor;
            };
            noKeyboard: {
                type: BooleanConstructor;
            };
            clearable: {
                type: BooleanConstructor;
            };
            minLength: {
                type: NumberConstructor;
            };
            maxLength: {
                type: NumberConstructor;
            };
            showLength: {
                type: import('vue').PropType<"always" | "auto" | "never">;
                default: string;
            };
            getLength: {
                type: import('vue').PropType<(val: string) => number>;
            };
            inputOnOutlimit: {
                type: BooleanConstructor;
                default: boolean;
            };
            format: {
                type: import('vue').PropType<(value: string) => string>;
            };
            validate: {
                type: import('vue').PropType<(value: string) => boolean>;
            };
            valueOnInvalidChange: {
                type: import('vue').PropType<boolean | ((inputValue: string, lastValidInputValue: string) => string)>;
            };
            showPasswordEvent: {
                type: import('vue').PropType<"click" | "pointerdown">;
                default: string;
            };
            autoWidth: {
                type: BooleanConstructor;
            };
            passwordPlaceholder: {
                type: StringConstructor;
                default: string;
            };
            onlyNumericInput: {
                type: BooleanConstructor;
            };
        }>> & Readonly<{
            onInput?: ((evt: Event, value: string) => any) | undefined;
            onClear?: ((evt?: Event | undefined) => any) | undefined;
            onBlur?: ((evt: FocusEvent) => any) | undefined;
            onChange?: ((value: string) => any) | undefined;
            onFocus?: ((evt: FocusEvent) => any) | undefined;
            "onUpdate:modelValue"?: ((value: string) => any) | undefined;
            onPressEnter?: ((evt: KeyboardEvent) => any) | undefined;
        }>, {
            focus: () => void | undefined;
            blur: () => void | undefined;
            clear: () => void | undefined;
            inputEl: () => HTMLInputElement | HTMLTextAreaElement | undefined;
            togglePassword: () => void | undefined;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
            input: (evt: Event, value: string) => any;
            clear: (evt?: Event | undefined) => any;
            blur: (evt: FocusEvent) => any;
            change: (value: string) => any;
            focus: (evt: FocusEvent) => any;
            "update:modelValue": (value: string) => any;
            pressEnter: (evt: KeyboardEvent) => any;
        }, string, {
            color: "normal" | "primary" | "success" | "warning" | "danger";
            type: "text" | "password";
            disabled: boolean;
            variant: "solid" | "outline" | "text";
            clearable: boolean;
            readonly: boolean;
            noKeyboard: boolean;
            showLength: "auto" | "always" | "never";
            inputOnOutlimit: boolean;
            showPasswordEvent: "click" | "pointerdown";
            autoWidth: boolean;
            passwordPlaceholder: string;
            onlyNumericInput: boolean;
        }, {}, 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: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: 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<{
        color: "normal" | "primary" | "success" | "warning" | "danger";
        type: "text" | "password";
        disabled: boolean;
        variant: "solid" | "outline" | "text";
        clearable: boolean;
        readonly: boolean;
        noKeyboard: boolean;
        showLength: "auto" | "always" | "never";
        inputOnOutlimit: boolean;
        showPasswordEvent: "click" | "pointerdown";
        autoWidth: boolean;
        passwordPlaceholder: string;
        onlyNumericInput: boolean;
    }> & Omit<Readonly<import('vue').ExtractPropTypes<{
        size: {
            type: import('vue').PropType<import('..').SizeT>;
        };
        round: {
            type: import('vue').PropType<import('..').RoundT>;
        };
        color: {
            type: import('vue').PropType<import('..').Color2T>;
            default: string;
        };
        variant: {
            type: import('vue').PropType<import('..').VariantT>;
            default: string;
        };
        modelValue: {
            type: (NumberConstructor | StringConstructor)[];
        };
        defaultValue: {
            type: (NumberConstructor | StringConstructor)[];
        };
        type: {
            type: import('vue').PropType<"text" | "password">;
            default: string;
        };
        placeholder: {
            type: StringConstructor;
        };
        inputId: {
            type: StringConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        readonly: {
            type: BooleanConstructor;
        };
        noKeyboard: {
            type: BooleanConstructor;
        };
        clearable: {
            type: BooleanConstructor;
        };
        minLength: {
            type: NumberConstructor;
        };
        maxLength: {
            type: NumberConstructor;
        };
        showLength: {
            type: import('vue').PropType<"always" | "auto" | "never">;
            default: string;
        };
        getLength: {
            type: import('vue').PropType<(val: string) => number>;
        };
        inputOnOutlimit: {
            type: BooleanConstructor;
            default: boolean;
        };
        format: {
            type: import('vue').PropType<(value: string) => string>;
        };
        validate: {
            type: import('vue').PropType<(value: string) => boolean>;
        };
        valueOnInvalidChange: {
            type: import('vue').PropType<boolean | ((inputValue: string, lastValidInputValue: string) => string)>;
        };
        showPasswordEvent: {
            type: import('vue').PropType<"click" | "pointerdown">;
            default: string;
        };
        autoWidth: {
            type: BooleanConstructor;
        };
        passwordPlaceholder: {
            type: StringConstructor;
            default: string;
        };
        onlyNumericInput: {
            type: BooleanConstructor;
        };
    }>> & Readonly<{
        onInput?: ((evt: Event, value: string) => any) | undefined;
        onClear?: ((evt?: Event | undefined) => any) | undefined;
        onBlur?: ((evt: FocusEvent) => any) | undefined;
        onChange?: ((value: string) => any) | undefined;
        onFocus?: ((evt: FocusEvent) => any) | undefined;
        "onUpdate:modelValue"?: ((value: string) => any) | undefined;
        onPressEnter?: ((evt: KeyboardEvent) => any) | undefined;
    }>, "clear" | "blur" | "focus" | "inputEl" | "togglePassword" | ("color" | "type" | "disabled" | "variant" | "clearable" | "readonly" | "noKeyboard" | "showLength" | "inputOnOutlimit" | "showPasswordEvent" | "autoWidth" | "passwordPlaceholder" | "onlyNumericInput")> & import('vue').ShallowUnwrapRef<{
        focus: () => void | undefined;
        blur: () => void | undefined;
        clear: () => void | undefined;
        inputEl: () => HTMLInputElement | HTMLTextAreaElement | undefined;
        togglePassword: () => void | undefined;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: Readonly<{
            default(): any;
            prepend(): any;
            append(): any;
            prefix(): any;
            suffix(): any;
            extra(): any;
        }> & {
            default(): any;
            prepend(): any;
            append(): any;
            prefix(): any;
            suffix(): any;
            extra(): any;
        };
    }) | null;
    searchSelectRef: ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            color: "normal" | "primary" | "success" | "warning" | "danger";
            disabled: boolean;
            multiple: boolean;
            trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
            unmountOnHide: boolean;
            variant: "solid" | "outline" | "text";
            loading: boolean;
            noResponsive: boolean;
            clearable: boolean;
            optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
            optionWidthMode: "width" | "auto" | "min-width";
            optionsWrapper: string | HTMLElement | null;
            showFoldTags: boolean | "click" | "hover";
        }> & Omit<{
            readonly color: "normal" | "primary" | "success" | "warning" | "danger";
            readonly disabled: boolean;
            readonly multiple: boolean;
            readonly trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
            readonly unmountOnHide: boolean;
            readonly variant: "solid" | "outline" | "text";
            readonly loading: boolean;
            readonly noResponsive: boolean;
            readonly clearable: boolean;
            readonly optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
            readonly optionWidthMode: "width" | "auto" | "min-width";
            readonly optionsWrapper: string | HTMLElement | null;
            readonly showFoldTags: boolean | "click" | "hover";
            readonly round?: import('..').RoundT | undefined;
            readonly size?: "large" | "medium" | "small" | undefined;
            readonly transition?: string | undefined;
            readonly placeholder?: string | undefined;
            readonly defaultValue?: import('..').SelectValueT | undefined;
            readonly modelValue?: import('..').SelectValueT | undefined;
            readonly maxTagCount?: number | undefined;
            readonly optionWrapClass?: string | {
                [k: string]: boolean;
            } | (string | {
                [k: string]: boolean;
            })[] | undefined;
            readonly beforeSelect?: ((value: string | number, currentValue: import('..').SelectValueT) => Promise<boolean | string | number> | boolean | string | number) | undefined;
            readonly beforeOptionsShow?: (() => Promise<boolean> | boolean) | undefined;
            readonly beforeOptionsHide?: (() => Promise<boolean> | boolean) | undefined;
            readonly foldLabel?: ((tags: Array<import('..').SelectOptionT>) => string) | undefined;
            readonly optionTitle?: string | undefined;
            readonly onClear?: ((evt: Event) => any) | undefined;
            readonly onChange?: ((value: import('..').SelectValueT) => any) | undefined;
            readonly "onUpdate:modelValue"?: ((value: import('..').SelectValueT) => any) | undefined;
            readonly "onOptions-visible-change"?: ((value: boolean) => any) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "color" | "disabled" | "multiple" | "trigger" | "unmountOnHide" | "variant" | "loading" | "noResponsive" | "clearable" | "optionPosition" | "optionWidthMode" | "optionsWrapper" | "showFoldTags">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        } & {
            selectRef: HTMLDivElement;
            optionsRef: HTMLDivElement;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: ComponentPublicInstance | null;
        $parent: ComponentPublicInstance | null;
        $host: Element | null;
        $emit: ((event: "clear", evt: Event) => void) & ((event: "change", value: import('..').SelectValueT) => void) & ((event: "update:modelValue", value: import('..').SelectValueT) => void) & ((event: "options-visible-change", value: boolean) => void);
        $el: HTMLDivElement;
        $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            modelValue: {
                type: import('vue').PropType<import('..').SelectValueT>;
            };
            defaultValue: {
                type: import('vue').PropType<import('..').SelectValueT>;
            };
            size: {
                type: import('vue').PropType<import('..').SizeT>;
            };
            round: {
                type: import('vue').PropType<import('..').RoundT>;
            };
            color: {
                type: import('vue').PropType<import('..').Color2T>;
                default: string;
            };
            variant: {
                type: import('vue').PropType<import('..').VariantT>;
                default: string;
            };
            placeholder: {
                type: StringConstructor;
            };
            multiple: {
                type: BooleanConstructor;
            };
            maxTagCount: {
                type: NumberConstructor;
            };
            clearable: {
                type: BooleanConstructor;
            };
            disabled: {
                type: BooleanConstructor;
            };
            trigger: {
                type: import('vue').PropType<import('..').PopupTriggerT>;
                default: string;
            };
            optionPosition: {
                type: import('vue').PropType<import('..').PopupPositionT>;
                default: string;
            };
            optionWidthMode: {
                type: import('vue').PropType<import('..').OptionWidthModeT>;
                default: string;
            };
            optionWrapClass: {
                type: import('vue').PropType<string | {
                    [k: string]: boolean;
                } | Array<{
                    [k: string]: boolean;
                } | string>>;
            };
            unmountOnHide: {
                type: BooleanConstructor;
                default: boolean;
            };
            transition: {
                type: StringConstructor;
            };
            loading: {
                type: BooleanConstructor;
            };
            beforeSelect: {
                type: import('vue').PropType<(value: string | number, currentValue: import('..').SelectValueT) => Promise<boolean | string | number> | boolean | string | number>;
            };
            beforeOptionsShow: {
                type: import('vue').PropType<() => Promise<boolean> | boolean>;
            };
            beforeOptionsHide: {
                type: import('vue').PropType<() => Promise<boolean> | boolean>;
            };
            optionsWrapper: {
                type: import('vue').PropType<string | HTMLElement | null>;
                default: string;
            };
            foldLabel: {
                type: import('vue').PropType<(tags: Array<import('..').SelectOptionT>) => string>;
            };
            showFoldTags: {
                type: import('vue').PropType<boolean | "hover" | "click">;
                default: string;
            };
            optionTitle: {
                type: StringConstructor;
            };
            noResponsive: {
                type: BooleanConstructor;
            };
        }>> & Readonly<{
            onClear?: ((evt: Event) => any) | undefined;
            onChange?: ((value: import('..').SelectValueT) => any) | undefined;
            "onUpdate:modelValue"?: ((value: import('..').SelectValueT) => any) | undefined;
            "onOptions-visible-change"?: ((value: boolean) => any) | undefined;
        }>, {
            selectRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            isSelecting: import('vue').Ref<boolean, boolean>;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
            clear: (evt: Event) => any;
            change: (value: import('..').SelectValueT) => any;
            "update:modelValue": (value: import('..').SelectValueT) => any;
            "options-visible-change": (value: boolean) => any;
        }, string, {
            color: "normal" | "primary" | "success" | "warning" | "danger";
            disabled: boolean;
            multiple: boolean;
            trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
            unmountOnHide: boolean;
            variant: "solid" | "outline" | "text";
            loading: boolean;
            noResponsive: boolean;
            clearable: boolean;
            optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
            optionWidthMode: "width" | "auto" | "min-width";
            optionsWrapper: string | HTMLElement | null;
            showFoldTags: boolean | "click" | "hover";
        }, {}, 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: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: 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<{
        color: "normal" | "primary" | "success" | "warning" | "danger";
        disabled: boolean;
        multiple: boolean;
        trigger: "none" | "click" | "contextmenu" | "focus" | "click-outclick" | "hover" | "hover-outclick";
        unmountOnHide: boolean;
        variant: "solid" | "outline" | "text";
        loading: boolean;
        noResponsive: boolean;
        clearable: boolean;
        optionPosition: "left" | "right" | "top" | "bottom" | "br" | "rt" | "tr" | "rb" | "tl" | "bl" | "lt" | "lb";
        optionWidthMode: "width" | "auto" | "min-width";
        optionsWrapper: string | HTMLElement | null;
        showFoldTags: boolean | "click" | "hover";
    }> & Omit<Readonly<import('vue').ExtractPropTypes<{
        modelValue: {
            type: import('vue').PropType<import('..').SelectValueT>;
        };
        defaultValue: {
            type: import('vue').PropType<import('..').SelectValueT>;
        };
        size: {
            type: import('vue').PropType<import('..').SizeT>;
        };
        round: {
            type: import('vue').PropType<import('..').RoundT>;
        };
        color: {
            type: import('vue').PropType<import('..').Color2T>;
            default: string;
        };
        variant: {
            type: import('vue').PropType<import('..').VariantT>;
            default: string;
        };
        placeholder: {
            type: StringConstructor;
        };
        multiple: {
            type: BooleanConstructor;
        };
        maxTagCount: {
            type: NumberConstructor;
        };
        clearable: {
            type: BooleanConstructor;
        };
        disabled: {
            type: BooleanConstructor;
        };
        trigger: {
            type: import('vue').PropType<import('..').PopupTriggerT>;
            default: string;
        };
        optionPosition: {
            type: import('vue').PropType<import('..').PopupPositionT>;
            default: string;
        };
        optionWidthMode: {
            type: import('vue').PropType<import('..').OptionWidthModeT>;
            default: string;
        };
        optionWrapClass: {
            type: import('vue').PropType<string | {
                [k: string]: boolean;
            } | Array<{
                [k: string]: boolean;
            } | string>>;
        };
        unmountOnHide: {
            type: BooleanConstructor;
            default: boolean;
        };
        transition: {
            type: StringConstructor;
        };
        loading: {
            type: BooleanConstructor;
        };
        beforeSelect: {
            type: import('vue').PropType<(value: string | number, currentValue: import('..').SelectValueT) => Promise<boolean | string | number> | boolean | string | number>;
        };
        beforeOptionsShow: {
            type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
        beforeOptionsHide: {
            type: import('vue').PropType<() => Promise<boolean> | boolean>;
        };
        optionsWrapper: {
            type: import('vue').PropType<string | HTMLElement | null>;
            default: string;
        };
        foldLabel: {
            type: import('vue').PropType<(tags: Array<import('..').SelectOptionT>) => string>;
        };
        showFoldTags: {
            type: import('vue').PropType<boolean | "hover" | "click">;
            default: string;
        };
        optionTitle: {
            type: StringConstructor;
        };
        noResponsive: {
            type: BooleanConstructor;
        };
    }>> & Readonly<{
        onClear?: ((evt: Event) => any) | undefined;
        onChange?: ((value: import('..').SelectValueT) => any) | undefined;
        "onUpdate:modelValue"?: ((value: import('..').SelectValueT) => any) | undefined;
        "onOptions-visible-change"?: ((value: boolean) => any) | undefined;
    }>, "selectRef" | "isSelecting" | ("color" | "disabled" | "multiple" | "trigger" | "unmountOnHide" | "variant" | "loading" | "noResponsive" | "clearable" | "optionPosition" | "optionWidthMode" | "optionsWrapper" | "showFoldTags")> & import('vue').ShallowUnwrapRef<{
        selectRef: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        isSelecting: import('vue').Ref<boolean, boolean>;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: Readonly<{
            default?(): any;
            prefix?(): any;
            'tag-fold'?(): any;
            arrow?(props: {
                active: boolean;
            }): any;
            suffix?(props: {
                active: boolean;
            }): any;
            empty?(): any;
            action?(): any;
        }> & {
            default?(): any;
            prefix?(): any;
            'tag-fold'?(): any;
            arrow?(props: {
                active: boolean;
            }): any;
            suffix?(props: {
                active: boolean;
            }): any;
            empty?(): any;
            action?(): any;
        };
    }) | null;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};