import { App } from 'vue';
declare const OSearch: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<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;
    }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        [x: string]: any;
    } & {
        [x: string]: any;
    }, import('vue').PublicProps, {
        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;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
        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: import('vue').ComponentPublicInstance | null;
            $parent: import('vue').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: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: typeof import('vue').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: import('vue').ComponentPublicInstance | null;
            $parent: import('vue').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: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: typeof import('vue').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, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, 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;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<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;
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    [x: string]: any;
} & {
    [x: string]: any;
}, string, {
    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').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: {
        'prefix-of-search-prefix'?(_: {}): any;
        'prefix-of-search-suffix'?(_: {}): any;
    };
}) & {
    install(app: App): void;
};
export { OSearch };
export * from './types';
