import { IconType, Option } from '../../..';
import { AlignedPlacement } from '../../Dropdown.vue';
interface PropTypes {
    options: Option[];
    placeholder?: string;
    disabled?: boolean;
    modelValue?: Option;
    searchable?: boolean;
    required?: boolean;
    label?: string;
    fullWidth?: boolean;
    multiselect?: boolean;
    icon?: IconType;
    hideLabel?: boolean;
    defaultValue?: Option;
    clearable?: boolean;
    placement?: AlignedPlacement;
    searchPlaceholder?: string;
    onSearch?: (search: string) => Promise<Option[]>;
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        last?(_: {}): any;
    };
    refs: {
        dropdown: ({
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: {
                readonly shown?: boolean | undefined;
                readonly value?: string | undefined;
                readonly thin?: boolean | undefined;
                readonly flat?: boolean | undefined;
                readonly disabled?: boolean | undefined;
                readonly icon?: IconType | undefined;
                readonly color?: import('../../..').ThemeType | undefined;
                readonly triggerClass?: string | undefined;
                readonly iconEnd?: IconType | undefined;
                readonly border?: boolean | undefined;
                readonly outline?: boolean | undefined;
                readonly round?: boolean | undefined;
                readonly placement?: AlignedPlacement | undefined;
                readonly disablePlacement?: boolean | undefined;
                readonly noAutoFocus?: boolean | undefined;
                readonly autoHide?: boolean | undefined;
                readonly triggers?: import('floating-vue').TriggerEvent[] | undefined;
                readonly onHide?: ((...args: any[]) => any) | undefined;
                readonly "onUpdate:shown"?: ((value: boolean) => any) | undefined;
                readonly onShow?: ((...args: any[]) => any) | undefined;
            } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            } & {
                ddownRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                    theme: {
                        type: StringConstructor;
                        default: any;
                    };
                    referenceNode: {
                        type: import('vue').PropType<() => Element>;
                        default: any;
                    };
                    shown: {
                        type: BooleanConstructor;
                        default: boolean;
                    };
                    showGroup: {
                        type: StringConstructor;
                        default: any;
                    };
                    ariaId: {
                        default: any;
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    positioningDisabled: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    placement: {
                        type: import('vue').PropType<import('floating-vue').Placement>;
                        default: any;
                    };
                    delay: {
                        type: import('vue').PropType<string | number | {
                            show: number;
                            hide: number;
                        }>;
                        default: any;
                    };
                    distance: {
                        type: (StringConstructor | NumberConstructor)[];
                        default: any;
                    };
                    skidding: {
                        type: (StringConstructor | NumberConstructor)[];
                        default: any;
                    };
                    triggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[]>;
                        default: any;
                    };
                    showTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                        default: any;
                    };
                    hideTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                        default: any;
                    };
                    popperTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[]>;
                        default: any;
                    };
                    popperShowTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                        default: any;
                    };
                    popperHideTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                        default: any;
                    };
                    container: {
                        type: any[];
                        default: any;
                    };
                    boundary: {
                        type: any[];
                        default: any;
                    };
                    strategy: {
                        type: import('vue').PropType<"absolute" | "fixed">;
                        default: any;
                    };
                    autoHide: {
                        type: import('vue').PropType<boolean | ((event: Event) => boolean)>;
                        default: any;
                    };
                    handleResize: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    instantMove: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    eagerMount: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    popperClass: {
                        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                        default: any;
                    };
                    computeTransformOrigin: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    autoMinSize: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    autoSize: {
                        type: import('vue').PropType<boolean | "min" | "max">;
                        default: any;
                    };
                    autoMaxSize: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    autoBoundaryMaxSize: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    preventOverflow: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    overflowPadding: {
                        type: (StringConstructor | NumberConstructor)[];
                        default: any;
                    };
                    arrowPadding: {
                        type: (StringConstructor | NumberConstructor)[];
                        default: any;
                    };
                    arrowOverflow: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    flip: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    shift: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    shiftCrossAxis: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    noAutoFocus: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    disposeTimeout: {
                        type: NumberConstructor;
                        default: any;
                    };
                }>> & {
                    onResize?: () => any;
                    onShow?: () => any;
                    onHide?: () => any;
                    "onUpdate:shown"?: (shown: boolean) => any;
                    "onApply-show"?: () => any;
                    "onApply-hide"?: () => any;
                    "onClose-group"?: () => any;
                    "onClose-directive"?: () => any;
                    "onAuto-hide"?: () => any;
                }, unknown, unknown, {
                    finalTheme(): string;
                }, {
                    getTargetNodes(): unknown[];
                }, {
                    computed: {
                        themeClass(): string[];
                    };
                } | {
                    methods: {
                        show(...args: any[]): any;
                        hide(...args: any[]): any;
                        dispose(...args: any[]): any;
                        onResize(...args: any[]): any;
                    };
                }, import('vue').ComponentOptionsMixin, {
                    show: () => true;
                    hide: () => true;
                    'update:shown': (shown: boolean) => true;
                    'apply-show': () => true;
                    'apply-hide': () => true;
                    'close-group': () => true;
                    'close-directive': () => true;
                    'auto-hide': () => true;
                    resize: () => true;
                }, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
                    placement: import('floating-vue').Placement;
                    strategy: "absolute" | "fixed";
                    disabled: boolean;
                    positioningDisabled: boolean;
                    delay: string | number | {
                        show: number;
                        hide: number;
                    };
                    distance: string | number;
                    skidding: string | number;
                    triggers: import('floating-vue').TriggerEvent[];
                    showTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                    hideTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                    popperTriggers: import('floating-vue').TriggerEvent[];
                    popperShowTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                    popperHideTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                    container: any;
                    boundary: any;
                    autoHide: boolean | ((event: Event) => boolean);
                    handleResize: boolean;
                    instantMove: boolean;
                    eagerMount: boolean;
                    popperClass: string | unknown[] | Record<string, any>;
                    computeTransformOrigin: boolean;
                    autoMinSize: boolean;
                    autoSize: boolean | "min" | "max";
                    autoMaxSize: boolean;
                    autoBoundaryMaxSize: boolean;
                    preventOverflow: boolean;
                    overflowPadding: string | number;
                    arrowPadding: string | number;
                    arrowOverflow: boolean;
                    flip: boolean;
                    shift: boolean;
                    shiftCrossAxis: boolean;
                    noAutoFocus: boolean;
                    disposeTimeout: number;
                    shown: boolean;
                    theme: string;
                    referenceNode: () => Element;
                    showGroup: string;
                    ariaId: any;
                }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                    P: {};
                    B: {};
                    D: {};
                    C: {
                        themeClass(): string[];
                    };
                    M: import('vue').MethodOptions;
                    Defaults: {};
                } & {
                    P: {};
                    B: {};
                    D: {};
                    C: {};
                    M: {};
                    Defaults: {};
                } & {
                    P: {};
                    B: {};
                    D: {};
                    C: import('vue').ComputedOptions;
                    M: {
                        show(...args: any[]): any;
                        hide(...args: any[]): any;
                        dispose(...args: any[]): any;
                        onResize(...args: any[]): any;
                    };
                    Defaults: {};
                }, Readonly<import('vue').ExtractPropTypes<{
                    theme: {
                        type: StringConstructor;
                        default: any;
                    };
                    referenceNode: {
                        type: import('vue').PropType<() => Element>;
                        default: any;
                    };
                    shown: {
                        type: BooleanConstructor;
                        default: boolean;
                    };
                    showGroup: {
                        type: StringConstructor;
                        default: any;
                    };
                    ariaId: {
                        default: any;
                    };
                    disabled: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    positioningDisabled: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    placement: {
                        type: import('vue').PropType<import('floating-vue').Placement>;
                        default: any;
                    };
                    delay: {
                        type: import('vue').PropType<string | number | {
                            show: number;
                            hide: number;
                        }>;
                        default: any;
                    };
                    distance: {
                        type: (StringConstructor | NumberConstructor)[];
                        default: any;
                    };
                    skidding: {
                        type: (StringConstructor | NumberConstructor)[];
                        default: any;
                    };
                    triggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[]>;
                        default: any;
                    };
                    showTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                        default: any;
                    };
                    hideTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                        default: any;
                    };
                    popperTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[]>;
                        default: any;
                    };
                    popperShowTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                        default: any;
                    };
                    popperHideTriggers: {
                        type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                        default: any;
                    };
                    container: {
                        type: any[];
                        default: any;
                    };
                    boundary: {
                        type: any[];
                        default: any;
                    };
                    strategy: {
                        type: import('vue').PropType<"absolute" | "fixed">;
                        default: any;
                    };
                    autoHide: {
                        type: import('vue').PropType<boolean | ((event: Event) => boolean)>;
                        default: any;
                    };
                    handleResize: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    instantMove: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    eagerMount: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    popperClass: {
                        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                        default: any;
                    };
                    computeTransformOrigin: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    autoMinSize: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    autoSize: {
                        type: import('vue').PropType<boolean | "min" | "max">;
                        default: any;
                    };
                    autoMaxSize: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    autoBoundaryMaxSize: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    preventOverflow: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    overflowPadding: {
                        type: (StringConstructor | NumberConstructor)[];
                        default: any;
                    };
                    arrowPadding: {
                        type: (StringConstructor | NumberConstructor)[];
                        default: any;
                    };
                    arrowOverflow: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    flip: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    shift: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    shiftCrossAxis: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    noAutoFocus: {
                        type: BooleanConstructor;
                        default: any;
                    };
                    disposeTimeout: {
                        type: NumberConstructor;
                        default: any;
                    };
                }>> & {
                    onResize?: () => any;
                    onShow?: () => any;
                    onHide?: () => any;
                    "onUpdate:shown"?: (shown: boolean) => any;
                    "onApply-show"?: () => any;
                    "onApply-hide"?: () => any;
                    "onClose-group"?: () => any;
                    "onClose-directive"?: () => any;
                    "onAuto-hide"?: () => any;
                }, {}, {}, {
                    themeClass(): string[];
                } & import('vue').ComputedOptions & {
                    finalTheme(): string;
                }, import('vue').MethodOptions & {
                    show(...args: any[]): any;
                    hide(...args: any[]): any;
                    dispose(...args: any[]): any;
                    onResize(...args: any[]): any;
                } & {
                    getTargetNodes(): unknown[];
                }, {
                    placement: import('floating-vue').Placement;
                    strategy: "absolute" | "fixed";
                    disabled: boolean;
                    positioningDisabled: boolean;
                    delay: string | number | {
                        show: number;
                        hide: number;
                    };
                    distance: string | number;
                    skidding: string | number;
                    triggers: import('floating-vue').TriggerEvent[];
                    showTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                    hideTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                    popperTriggers: import('floating-vue').TriggerEvent[];
                    popperShowTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                    popperHideTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                    container: any;
                    boundary: any;
                    autoHide: boolean | ((event: Event) => boolean);
                    handleResize: boolean;
                    instantMove: boolean;
                    eagerMount: boolean;
                    popperClass: string | unknown[] | Record<string, any>;
                    computeTransformOrigin: boolean;
                    autoMinSize: boolean;
                    autoSize: boolean | "min" | "max";
                    autoMaxSize: boolean;
                    autoBoundaryMaxSize: boolean;
                    preventOverflow: boolean;
                    overflowPadding: string | number;
                    arrowPadding: string | number;
                    arrowOverflow: boolean;
                    flip: boolean;
                    shift: boolean;
                    shiftCrossAxis: boolean;
                    noAutoFocus: boolean;
                    disposeTimeout: number;
                    shown: boolean;
                    theme: string;
                    referenceNode: () => Element;
                    showGroup: string;
                    ariaId: any;
                }> | null;
                triggerRef: 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: "hide", ...args: any[]) => void) & ((event: "update:shown", value: boolean) => void) & ((event: "show", ...args: any[]) => void);
            $el: any;
            $options: import('vue').ComponentOptionsBase<Readonly<{
                shown?: boolean;
            } & {
                value?: string;
                thin?: boolean;
                flat?: boolean;
                disabled?: boolean;
                icon?: IconType;
                color?: import('../../..').ThemeType;
                triggerClass?: string;
                iconEnd?: IconType;
                border?: boolean;
                outline?: boolean;
                round?: boolean;
                placement?: AlignedPlacement;
                disablePlacement?: boolean;
                noAutoFocus?: boolean;
                autoHide?: boolean;
                triggers?: import('floating-vue').TriggerEvent[];
            }> & Readonly<{
                onHide?: ((...args: any[]) => any) | undefined;
                "onUpdate:shown"?: ((value: boolean) => any) | undefined;
                onShow?: ((...args: any[]) => any) | undefined;
            }>, {
                show: () => any;
                hide: () => void;
                shown: import('vue').ModelRef<boolean, string, boolean, boolean>;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                hide: (...args: any[]) => void;
                show: (...args: any[]) => void;
                "update:shown": (value: boolean) => void;
            }, string, {}, {}, 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<{}> & Omit<Readonly<{
            shown?: boolean;
        } & {
            value?: string;
            thin?: boolean;
            flat?: boolean;
            disabled?: boolean;
            icon?: IconType;
            color?: import('../../..').ThemeType;
            triggerClass?: string;
            iconEnd?: IconType;
            border?: boolean;
            outline?: boolean;
            round?: boolean;
            placement?: AlignedPlacement;
            disablePlacement?: boolean;
            noAutoFocus?: boolean;
            autoHide?: boolean;
            triggers?: import('floating-vue').TriggerEvent[];
        }> & Readonly<{
            onHide?: ((...args: any[]) => any) | undefined;
            "onUpdate:shown"?: ((value: boolean) => any) | undefined;
            onShow?: ((...args: any[]) => any) | undefined;
        }>, "hide" | "shown" | "show"> & import('vue').ShallowUnwrapRef<{
            show: () => any;
            hide: () => void;
            shown: import('vue').ModelRef<boolean, string, boolean, boolean>;
        }> & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: {
                trigger?(_: {
                    show: () => any;
                    hide: () => void;
                }): any;
                default?(_: {
                    hide: any;
                    show: any;
                }): any;
            };
        }) | null;
        searchInput: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./TextInput.vue').TextInputProps> & Readonly<{
            "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
            onDebounce?: ((...args: any[]) => any) | undefined;
        }>, {
            focus: () => void | undefined;
            hasFocus: () => boolean;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            "update:modelValue": (...args: any[]) => void;
            debounce: (...args: any[]) => void;
        }, import('vue').PublicProps, {
            type: string;
            modelValue: string | number;
        }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
            input: HTMLTextAreaElement;
        }, HTMLDivElement, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('./TextInput.vue').TextInputProps> & Readonly<{
            "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
            onDebounce?: ((...args: any[]) => any) | undefined;
        }>, {
            focus: () => void | undefined;
            hasFocus: () => boolean;
        }, {}, {}, {}, {
            type: string;
            modelValue: string | number;
        }> | null;
        selectOptions: HTMLDivElement;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<PropTypes, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:modelValue": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<PropTypes> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {
    placement: AlignedPlacement;
    placeholder: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    dropdown: ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: {
            readonly shown?: boolean | undefined;
            readonly value?: string | undefined;
            readonly thin?: boolean | undefined;
            readonly flat?: boolean | undefined;
            readonly disabled?: boolean | undefined;
            readonly icon?: IconType | undefined;
            readonly color?: import('../../..').ThemeType | undefined;
            readonly triggerClass?: string | undefined;
            readonly iconEnd?: IconType | undefined;
            readonly border?: boolean | undefined;
            readonly outline?: boolean | undefined;
            readonly round?: boolean | undefined;
            readonly placement?: AlignedPlacement | undefined;
            readonly disablePlacement?: boolean | undefined;
            readonly noAutoFocus?: boolean | undefined;
            readonly autoHide?: boolean | undefined;
            readonly triggers?: import('floating-vue').TriggerEvent[] | undefined;
            readonly onHide?: ((...args: any[]) => any) | undefined;
            readonly "onUpdate:shown"?: ((value: boolean) => any) | undefined;
            readonly onShow?: ((...args: any[]) => any) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        } & {
            ddownRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                theme: {
                    type: StringConstructor;
                    default: any;
                };
                referenceNode: {
                    type: import('vue').PropType<() => Element>;
                    default: any;
                };
                shown: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                showGroup: {
                    type: StringConstructor;
                    default: any;
                };
                ariaId: {
                    default: any;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                positioningDisabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                placement: {
                    type: import('vue').PropType<import('floating-vue').Placement>;
                    default: any;
                };
                delay: {
                    type: import('vue').PropType<string | number | {
                        show: number;
                        hide: number;
                    }>;
                    default: any;
                };
                distance: {
                    type: (StringConstructor | NumberConstructor)[];
                    default: any;
                };
                skidding: {
                    type: (StringConstructor | NumberConstructor)[];
                    default: any;
                };
                triggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[]>;
                    default: any;
                };
                showTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                    default: any;
                };
                hideTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                    default: any;
                };
                popperTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[]>;
                    default: any;
                };
                popperShowTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                    default: any;
                };
                popperHideTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                    default: any;
                };
                container: {
                    type: any[];
                    default: any;
                };
                boundary: {
                    type: any[];
                    default: any;
                };
                strategy: {
                    type: import('vue').PropType<"absolute" | "fixed">;
                    default: any;
                };
                autoHide: {
                    type: import('vue').PropType<boolean | ((event: Event) => boolean)>;
                    default: any;
                };
                handleResize: {
                    type: BooleanConstructor;
                    default: any;
                };
                instantMove: {
                    type: BooleanConstructor;
                    default: any;
                };
                eagerMount: {
                    type: BooleanConstructor;
                    default: any;
                };
                popperClass: {
                    type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                    default: any;
                };
                computeTransformOrigin: {
                    type: BooleanConstructor;
                    default: any;
                };
                autoMinSize: {
                    type: BooleanConstructor;
                    default: any;
                };
                autoSize: {
                    type: import('vue').PropType<boolean | "min" | "max">;
                    default: any;
                };
                autoMaxSize: {
                    type: BooleanConstructor;
                    default: any;
                };
                autoBoundaryMaxSize: {
                    type: BooleanConstructor;
                    default: any;
                };
                preventOverflow: {
                    type: BooleanConstructor;
                    default: any;
                };
                overflowPadding: {
                    type: (StringConstructor | NumberConstructor)[];
                    default: any;
                };
                arrowPadding: {
                    type: (StringConstructor | NumberConstructor)[];
                    default: any;
                };
                arrowOverflow: {
                    type: BooleanConstructor;
                    default: any;
                };
                flip: {
                    type: BooleanConstructor;
                    default: any;
                };
                shift: {
                    type: BooleanConstructor;
                    default: any;
                };
                shiftCrossAxis: {
                    type: BooleanConstructor;
                    default: any;
                };
                noAutoFocus: {
                    type: BooleanConstructor;
                    default: any;
                };
                disposeTimeout: {
                    type: NumberConstructor;
                    default: any;
                };
            }>> & {
                onResize?: () => any;
                onShow?: () => any;
                onHide?: () => any;
                "onUpdate:shown"?: (shown: boolean) => any;
                "onApply-show"?: () => any;
                "onApply-hide"?: () => any;
                "onClose-group"?: () => any;
                "onClose-directive"?: () => any;
                "onAuto-hide"?: () => any;
            }, unknown, unknown, {
                finalTheme(): string;
            }, {
                getTargetNodes(): unknown[];
            }, {
                computed: {
                    themeClass(): string[];
                };
            } | {
                methods: {
                    show(...args: any[]): any;
                    hide(...args: any[]): any;
                    dispose(...args: any[]): any;
                    onResize(...args: any[]): any;
                };
            }, import('vue').ComponentOptionsMixin, {
                show: () => true;
                hide: () => true;
                'update:shown': (shown: boolean) => true;
                'apply-show': () => true;
                'apply-hide': () => true;
                'close-group': () => true;
                'close-directive': () => true;
                'auto-hide': () => true;
                resize: () => true;
            }, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
                placement: import('floating-vue').Placement;
                strategy: "absolute" | "fixed";
                disabled: boolean;
                positioningDisabled: boolean;
                delay: string | number | {
                    show: number;
                    hide: number;
                };
                distance: string | number;
                skidding: string | number;
                triggers: import('floating-vue').TriggerEvent[];
                showTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                hideTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                popperTriggers: import('floating-vue').TriggerEvent[];
                popperShowTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                popperHideTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                container: any;
                boundary: any;
                autoHide: boolean | ((event: Event) => boolean);
                handleResize: boolean;
                instantMove: boolean;
                eagerMount: boolean;
                popperClass: string | unknown[] | Record<string, any>;
                computeTransformOrigin: boolean;
                autoMinSize: boolean;
                autoSize: boolean | "min" | "max";
                autoMaxSize: boolean;
                autoBoundaryMaxSize: boolean;
                preventOverflow: boolean;
                overflowPadding: string | number;
                arrowPadding: string | number;
                arrowOverflow: boolean;
                flip: boolean;
                shift: boolean;
                shiftCrossAxis: boolean;
                noAutoFocus: boolean;
                disposeTimeout: number;
                shown: boolean;
                theme: string;
                referenceNode: () => Element;
                showGroup: string;
                ariaId: any;
            }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {
                    themeClass(): string[];
                };
                M: import('vue').MethodOptions;
                Defaults: {};
            } & {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            } & {
                P: {};
                B: {};
                D: {};
                C: import('vue').ComputedOptions;
                M: {
                    show(...args: any[]): any;
                    hide(...args: any[]): any;
                    dispose(...args: any[]): any;
                    onResize(...args: any[]): any;
                };
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                theme: {
                    type: StringConstructor;
                    default: any;
                };
                referenceNode: {
                    type: import('vue').PropType<() => Element>;
                    default: any;
                };
                shown: {
                    type: BooleanConstructor;
                    default: boolean;
                };
                showGroup: {
                    type: StringConstructor;
                    default: any;
                };
                ariaId: {
                    default: any;
                };
                disabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                positioningDisabled: {
                    type: BooleanConstructor;
                    default: any;
                };
                placement: {
                    type: import('vue').PropType<import('floating-vue').Placement>;
                    default: any;
                };
                delay: {
                    type: import('vue').PropType<string | number | {
                        show: number;
                        hide: number;
                    }>;
                    default: any;
                };
                distance: {
                    type: (StringConstructor | NumberConstructor)[];
                    default: any;
                };
                skidding: {
                    type: (StringConstructor | NumberConstructor)[];
                    default: any;
                };
                triggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[]>;
                    default: any;
                };
                showTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                    default: any;
                };
                hideTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                    default: any;
                };
                popperTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[]>;
                    default: any;
                };
                popperShowTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                    default: any;
                };
                popperHideTriggers: {
                    type: import('vue').PropType<import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[])>;
                    default: any;
                };
                container: {
                    type: any[];
                    default: any;
                };
                boundary: {
                    type: any[];
                    default: any;
                };
                strategy: {
                    type: import('vue').PropType<"absolute" | "fixed">;
                    default: any;
                };
                autoHide: {
                    type: import('vue').PropType<boolean | ((event: Event) => boolean)>;
                    default: any;
                };
                handleResize: {
                    type: BooleanConstructor;
                    default: any;
                };
                instantMove: {
                    type: BooleanConstructor;
                    default: any;
                };
                eagerMount: {
                    type: BooleanConstructor;
                    default: any;
                };
                popperClass: {
                    type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
                    default: any;
                };
                computeTransformOrigin: {
                    type: BooleanConstructor;
                    default: any;
                };
                autoMinSize: {
                    type: BooleanConstructor;
                    default: any;
                };
                autoSize: {
                    type: import('vue').PropType<boolean | "min" | "max">;
                    default: any;
                };
                autoMaxSize: {
                    type: BooleanConstructor;
                    default: any;
                };
                autoBoundaryMaxSize: {
                    type: BooleanConstructor;
                    default: any;
                };
                preventOverflow: {
                    type: BooleanConstructor;
                    default: any;
                };
                overflowPadding: {
                    type: (StringConstructor | NumberConstructor)[];
                    default: any;
                };
                arrowPadding: {
                    type: (StringConstructor | NumberConstructor)[];
                    default: any;
                };
                arrowOverflow: {
                    type: BooleanConstructor;
                    default: any;
                };
                flip: {
                    type: BooleanConstructor;
                    default: any;
                };
                shift: {
                    type: BooleanConstructor;
                    default: any;
                };
                shiftCrossAxis: {
                    type: BooleanConstructor;
                    default: any;
                };
                noAutoFocus: {
                    type: BooleanConstructor;
                    default: any;
                };
                disposeTimeout: {
                    type: NumberConstructor;
                    default: any;
                };
            }>> & {
                onResize?: () => any;
                onShow?: () => any;
                onHide?: () => any;
                "onUpdate:shown"?: (shown: boolean) => any;
                "onApply-show"?: () => any;
                "onApply-hide"?: () => any;
                "onClose-group"?: () => any;
                "onClose-directive"?: () => any;
                "onAuto-hide"?: () => any;
            }, {}, {}, {
                themeClass(): string[];
            } & import('vue').ComputedOptions & {
                finalTheme(): string;
            }, import('vue').MethodOptions & {
                show(...args: any[]): any;
                hide(...args: any[]): any;
                dispose(...args: any[]): any;
                onResize(...args: any[]): any;
            } & {
                getTargetNodes(): unknown[];
            }, {
                placement: import('floating-vue').Placement;
                strategy: "absolute" | "fixed";
                disabled: boolean;
                positioningDisabled: boolean;
                delay: string | number | {
                    show: number;
                    hide: number;
                };
                distance: string | number;
                skidding: string | number;
                triggers: import('floating-vue').TriggerEvent[];
                showTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                hideTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                popperTriggers: import('floating-vue').TriggerEvent[];
                popperShowTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                popperHideTriggers: import('floating-vue').TriggerEvent[] | ((triggers: import('floating-vue').TriggerEvent[]) => import('floating-vue').TriggerEvent[]);
                container: any;
                boundary: any;
                autoHide: boolean | ((event: Event) => boolean);
                handleResize: boolean;
                instantMove: boolean;
                eagerMount: boolean;
                popperClass: string | unknown[] | Record<string, any>;
                computeTransformOrigin: boolean;
                autoMinSize: boolean;
                autoSize: boolean | "min" | "max";
                autoMaxSize: boolean;
                autoBoundaryMaxSize: boolean;
                preventOverflow: boolean;
                overflowPadding: string | number;
                arrowPadding: string | number;
                arrowOverflow: boolean;
                flip: boolean;
                shift: boolean;
                shiftCrossAxis: boolean;
                noAutoFocus: boolean;
                disposeTimeout: number;
                shown: boolean;
                theme: string;
                referenceNode: () => Element;
                showGroup: string;
                ariaId: any;
            }> | null;
            triggerRef: 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: "hide", ...args: any[]) => void) & ((event: "update:shown", value: boolean) => void) & ((event: "show", ...args: any[]) => void);
        $el: any;
        $options: import('vue').ComponentOptionsBase<Readonly<{
            shown?: boolean;
        } & {
            value?: string;
            thin?: boolean;
            flat?: boolean;
            disabled?: boolean;
            icon?: IconType;
            color?: import('../../..').ThemeType;
            triggerClass?: string;
            iconEnd?: IconType;
            border?: boolean;
            outline?: boolean;
            round?: boolean;
            placement?: AlignedPlacement;
            disablePlacement?: boolean;
            noAutoFocus?: boolean;
            autoHide?: boolean;
            triggers?: import('floating-vue').TriggerEvent[];
        }> & Readonly<{
            onHide?: ((...args: any[]) => any) | undefined;
            "onUpdate:shown"?: ((value: boolean) => any) | undefined;
            onShow?: ((...args: any[]) => any) | undefined;
        }>, {
            show: () => any;
            hide: () => void;
            shown: import('vue').ModelRef<boolean, string, boolean, boolean>;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
            hide: (...args: any[]) => void;
            show: (...args: any[]) => void;
            "update:shown": (value: boolean) => void;
        }, string, {}, {}, 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<{}> & Omit<Readonly<{
        shown?: boolean;
    } & {
        value?: string;
        thin?: boolean;
        flat?: boolean;
        disabled?: boolean;
        icon?: IconType;
        color?: import('../../..').ThemeType;
        triggerClass?: string;
        iconEnd?: IconType;
        border?: boolean;
        outline?: boolean;
        round?: boolean;
        placement?: AlignedPlacement;
        disablePlacement?: boolean;
        noAutoFocus?: boolean;
        autoHide?: boolean;
        triggers?: import('floating-vue').TriggerEvent[];
    }> & Readonly<{
        onHide?: ((...args: any[]) => any) | undefined;
        "onUpdate:shown"?: ((value: boolean) => any) | undefined;
        onShow?: ((...args: any[]) => any) | undefined;
    }>, "hide" | "shown" | "show"> & import('vue').ShallowUnwrapRef<{
        show: () => any;
        hide: () => void;
        shown: import('vue').ModelRef<boolean, string, boolean, boolean>;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            trigger?(_: {
                show: () => any;
                hide: () => void;
            }): any;
            default?(_: {
                hide: any;
                show: any;
            }): any;
        };
    }) | null;
    searchInput: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./TextInput.vue').TextInputProps> & Readonly<{
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        onDebounce?: ((...args: any[]) => any) | undefined;
    }>, {
        focus: () => void | undefined;
        hasFocus: () => boolean;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
        "update:modelValue": (...args: any[]) => void;
        debounce: (...args: any[]) => void;
    }, import('vue').PublicProps, {
        type: string;
        modelValue: string | number;
    }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
        input: HTMLTextAreaElement;
    }, HTMLDivElement, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('./TextInput.vue').TextInputProps> & Readonly<{
        "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
        onDebounce?: ((...args: any[]) => any) | undefined;
    }>, {
        focus: () => void | undefined;
        hasFocus: () => boolean;
    }, {}, {}, {}, {
        type: string;
        modelValue: string | number;
    }> | null;
    selectOptions: HTMLDivElement;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=SelectInput.vue.d.ts.map