import { BDropdownProps } from '../../types/ComponentProps';
declare let __VLS_typeProps: Omit<BDropdownProps, 'modelValue'>;
type __VLS_PublicProps = {
    modelValue?: Exclude<BDropdownProps['modelValue'], undefined>;
} & typeof __VLS_typeProps;
declare function __VLS_template(): {
    slots: Readonly<{
        'button-content'?: (props: Record<string, never>) => any;
        default?: (props: {
            hide: () => void;
            show: () => void;
        }) => any;
        'toggle-text'?: (props: Record<string, never>) => any;
    }> & {
        'button-content'?: (props: Record<string, never>) => any;
        default?: (props: {
            hide: () => void;
            show: () => void;
        }) => any;
        'toggle-text'?: (props: Record<string, never>) => any;
    };
    refs: {
        _dropdown: ({
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: {
                readonly modelValue?: Exclude<BDropdownProps["modelValue"], undefined> | undefined;
                readonly disabled?: boolean | undefined;
                readonly id?: string | undefined;
                readonly size?: import('../..').Size | undefined;
                readonly text?: string | undefined;
                readonly variant?: (import('../..').ButtonVariant | null) | undefined;
                readonly role?: string | undefined;
                readonly placement?: import('../../../node_modules/@floating-ui/core').Placement | undefined;
                readonly teleportDisabled?: import('vue').TeleportProps["disabled"];
                readonly teleportTo?: import('vue').TeleportProps["to"];
                readonly noFade?: boolean | undefined;
                readonly show?: boolean | undefined;
                readonly isNav?: boolean | undefined;
                readonly lazy?: boolean | undefined;
                readonly ariaLabel?: string | undefined;
                readonly autoClose?: (boolean | "inside" | "outside") | undefined;
                readonly boundary?: (import('@floating-ui/vue').Boundary | import('../../../node_modules/@floating-ui/core').RootBoundary) | undefined;
                readonly boundaryPadding?: import('../../../node_modules/@floating-ui/core').Padding | undefined;
                readonly floatingMiddleware?: import('@floating-ui/vue').Middleware[] | undefined;
                readonly menuClass?: import('../../types/AnyValuedAttributes').ClassValue;
                readonly noCaret?: boolean | undefined;
                readonly noFlip?: boolean | undefined;
                readonly noShift?: boolean | undefined;
                readonly noSize?: boolean | undefined;
                readonly offset?: (number | string | Readonly<{
                    mainAxis?: number;
                    crossAxis?: number;
                    alignmentAxis?: number | null;
                }>) | undefined;
                readonly noWrapper?: boolean | undefined;
                readonly split?: boolean | undefined;
                readonly splitButtonType?: import('../..').ButtonType | undefined;
                readonly splitClass?: import('../../types/AnyValuedAttributes').ClassValue;
                readonly splitDisabled?: boolean | undefined;
                readonly splitHref?: string | undefined;
                readonly splitTo?: import('vue-router').RouteLocationRaw | undefined;
                readonly splitVariant?: (import('../..').ButtonVariant | null) | undefined;
                readonly strategy?: import('../../../node_modules/@floating-ui/core').Strategy | undefined;
                readonly toggleClass?: import('../../types/AnyValuedAttributes').ClassValue;
                readonly toggleText?: string | undefined;
                readonly wrapperClass?: import('../../types/AnyValuedAttributes').ClassValue;
                readonly initialAnimation?: boolean | undefined;
                readonly noAnimation?: boolean | undefined;
                readonly unmountLazy?: boolean | undefined;
                readonly transProps?: Readonly<import('vue').TransitionProps> | undefined;
                readonly visible?: boolean | undefined;
                readonly onShow?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                readonly onClick?: ((event: MouseEvent) => any) | undefined;
                readonly "onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
                readonly onToggle?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                readonly "onShow-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                readonly onHide?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                readonly "onHide-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                readonly "onToggle-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                readonly onShown?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                readonly onHidden?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
            $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: "show", value: import('../..').BvTriggerableEvent) => void) & ((event: "click", event: MouseEvent) => void) & ((event: "update:modelValue", modelValue: boolean) => void) & ((event: "toggle", value: import('../..').BvTriggerableEvent) => void) & ((event: "show-prevented", value: import('../..').BvTriggerableEvent) => void) & ((event: "hide", value: import('../..').BvTriggerableEvent) => void) & ((event: "hide-prevented", value: import('../..').BvTriggerableEvent) => void) & ((event: "toggle-prevented", value: import('../..').BvTriggerableEvent) => void) & ((event: "shown", value: import('../..').BvTriggerableEvent) => void) & ((event: "hidden", value: import('../..').BvTriggerableEvent) => void);
            $el: any;
            $options: import('vue').ComponentOptionsBase<Readonly<{
                modelValue?: Exclude<BDropdownProps["modelValue"], undefined>;
            } & Omit<BDropdownProps, "modelValue">> & Readonly<{
                onShow?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                onClick?: ((event: MouseEvent) => any) | undefined;
                "onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
                onToggle?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                "onShow-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                onHide?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                "onHide-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                "onToggle-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                onShown?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
                onHidden?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            }>, {
                hide: (trigger?: string) => void;
                show: () => void;
                toggle: () => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
                show: (value: import('../..').BvTriggerableEvent) => any;
                click: (event: MouseEvent) => any;
                "update:modelValue": (modelValue: boolean) => any;
                toggle: (value: import('../..').BvTriggerableEvent) => any;
                "show-prevented": (value: import('../..').BvTriggerableEvent) => any;
                hide: (value: import('../..').BvTriggerableEvent) => any;
                "hide-prevented": (value: import('../..').BvTriggerableEvent) => any;
                "toggle-prevented": (value: import('../..').BvTriggerableEvent) => any;
                shown: (value: import('../..').BvTriggerableEvent) => any;
                hidden: (value: import('../..').BvTriggerableEvent) => any;
            }, string, {
                disabled: boolean;
                id: string;
                size: import('../..').Size;
                text: string;
                variant: import('../..').ButtonVariant | null;
                role: string;
                placement: import('../../../node_modules/@floating-ui/core').Placement;
                teleportDisabled: boolean;
                teleportTo: string | import('vue').RendererElement | null;
                noFade: boolean;
                show: boolean;
                isNav: boolean;
                lazy: boolean;
                ariaLabel: string;
                autoClose: boolean | "inside" | "outside";
                boundary: import('@floating-ui/vue').Boundary | import('../../../node_modules/@floating-ui/core').RootBoundary;
                boundaryPadding: import('../../../node_modules/@floating-ui/core').Padding;
                floatingMiddleware: {
                    name: string;
                    options?: any;
                    fn: (state: import('@floating-ui/vue').MiddlewareState) => import('../../../node_modules/@floating-ui/core').MiddlewareReturn | Promise<import('../../../node_modules/@floating-ui/core').MiddlewareReturn>;
                }[];
                menuClass: import('../../types/AnyValuedAttributes').ClassValue;
                noCaret: boolean;
                noFlip: boolean;
                noShift: boolean;
                noSize: boolean;
                offset: number | string | Readonly<{
                    mainAxis?: number;
                    crossAxis?: number;
                    alignmentAxis?: number | null;
                }>;
                noWrapper: boolean;
                split: boolean;
                splitButtonType: import('../..').ButtonType;
                splitClass: import('../../types/AnyValuedAttributes').ClassValue;
                splitDisabled: boolean;
                splitHref: string;
                splitTo: import('vue-router').RouteLocationRaw;
                splitVariant: import('../..').ButtonVariant | null;
                strategy: import('../../../node_modules/@floating-ui/core').Strategy;
                toggleClass: import('../../types/AnyValuedAttributes').ClassValue;
                toggleText: string;
                wrapperClass: import('../../types/AnyValuedAttributes').ClassValue;
                initialAnimation: boolean;
                unmountLazy: boolean;
                transProps: Readonly<import('vue').TransitionProps>;
                visible: 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<{
            disabled: boolean;
            id: string;
            size: import('../..').Size;
            text: string;
            variant: import('../..').ButtonVariant | null;
            role: string;
            placement: import('../../../node_modules/@floating-ui/core').Placement;
            teleportDisabled: boolean;
            teleportTo: string | import('vue').RendererElement | null;
            noFade: boolean;
            show: boolean;
            isNav: boolean;
            lazy: boolean;
            ariaLabel: string;
            autoClose: boolean | "inside" | "outside";
            boundary: import('@floating-ui/vue').Boundary | import('../../../node_modules/@floating-ui/core').RootBoundary;
            boundaryPadding: import('../../../node_modules/@floating-ui/core').Padding;
            floatingMiddleware: {
                name: string;
                options?: any;
                fn: (state: import('@floating-ui/vue').MiddlewareState) => import('../../../node_modules/@floating-ui/core').MiddlewareReturn | Promise<import('../../../node_modules/@floating-ui/core').MiddlewareReturn>;
            }[];
            menuClass: import('../../types/AnyValuedAttributes').ClassValue;
            noCaret: boolean;
            noFlip: boolean;
            noShift: boolean;
            noSize: boolean;
            offset: number | string | Readonly<{
                mainAxis?: number;
                crossAxis?: number;
                alignmentAxis?: number | null;
            }>;
            noWrapper: boolean;
            split: boolean;
            splitButtonType: import('../..').ButtonType;
            splitClass: import('../../types/AnyValuedAttributes').ClassValue;
            splitDisabled: boolean;
            splitHref: string;
            splitTo: import('vue-router').RouteLocationRaw;
            splitVariant: import('../..').ButtonVariant | null;
            strategy: import('../../../node_modules/@floating-ui/core').Strategy;
            toggleClass: import('../../types/AnyValuedAttributes').ClassValue;
            toggleText: string;
            wrapperClass: import('../../types/AnyValuedAttributes').ClassValue;
            initialAnimation: boolean;
            unmountLazy: boolean;
            transProps: Readonly<import('vue').TransitionProps>;
            visible: boolean;
        }> & Omit<Readonly<{
            modelValue?: Exclude<BDropdownProps["modelValue"], undefined>;
        } & Omit<BDropdownProps, "modelValue">> & Readonly<{
            onShow?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            onClick?: ((event: MouseEvent) => any) | undefined;
            "onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
            onToggle?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            "onShow-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            onHide?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            "onHide-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            "onToggle-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            onShown?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
            onHidden?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
        }>, "toggle" | "hide" | ("disabled" | "id" | "size" | "text" | "variant" | "role" | "placement" | "teleportDisabled" | "teleportTo" | "noFade" | "show" | "isNav" | "lazy" | "ariaLabel" | "autoClose" | "boundary" | "boundaryPadding" | "floatingMiddleware" | "menuClass" | "noCaret" | "noFlip" | "noShift" | "noSize" | "offset" | "noWrapper" | "split" | "splitButtonType" | "splitClass" | "splitDisabled" | "splitHref" | "splitTo" | "splitVariant" | "strategy" | "toggleClass" | "toggleText" | "wrapperClass" | "initialAnimation" | "unmountLazy" | "transProps" | "visible")> & import('vue').ShallowUnwrapRef<{
            hide: (trigger?: string) => void;
            show: () => void;
            toggle: () => void;
        }> & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: Readonly<{
                'button-content'?: (props: Record<string, never>) => any;
                default?: (props: {
                    hide: () => void;
                    show: () => void;
                    visible: boolean;
                }) => any;
                'toggle-text'?: (props: Record<string, never>) => any;
            }> & {
                'button-content'?: (props: Record<string, never>) => any;
                default?: (props: {
                    hide: () => void;
                    show: () => void;
                    visible: boolean;
                }) => any;
                'toggle-text'?: (props: Record<string, never>) => any;
            };
        }) | null;
    };
    attrs: Partial<{}>;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {
    hide: () => void;
    show: () => void;
    toggle: () => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    show: (value: import('../..').BvTriggerableEvent) => any;
    click: (event: MouseEvent) => any;
    "update:modelValue": (modelValue: boolean) => any;
    toggle: (value: import('../..').BvTriggerableEvent) => any;
    "show-prevented": (value: import('../..').BvTriggerableEvent) => any;
    hide: (value: import('../..').BvTriggerableEvent) => any;
    "hide-prevented": (value: import('../..').BvTriggerableEvent) => any;
    "toggle-prevented": (value: import('../..').BvTriggerableEvent) => any;
    shown: (value: import('../..').BvTriggerableEvent) => any;
    hidden: (value: import('../..').BvTriggerableEvent) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
    onShow?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
    onClick?: ((event: MouseEvent) => any) | undefined;
    "onUpdate:modelValue"?: ((modelValue: boolean) => any) | undefined;
    onToggle?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
    "onShow-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
    onHide?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
    "onHide-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
    "onToggle-prevented"?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
    onShown?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
    onHidden?: ((value: import('../..').BvTriggerableEvent) => any) | undefined;
}>, {
    disabled: boolean;
    id: string;
    size: import('../..').Size;
    text: string;
    variant: import('../..').ButtonVariant | null;
    role: string;
    placement: import('../../../node_modules/@floating-ui/core').Placement;
    teleportDisabled: boolean;
    teleportTo: string | import('vue').RendererElement | null;
    isNav: boolean;
    lazy: boolean;
    ariaLabel: string;
    autoClose: boolean | "inside" | "outside";
    boundary: import('@floating-ui/vue').Boundary | import('../../../node_modules/@floating-ui/core').RootBoundary;
    boundaryPadding: import('../../../node_modules/@floating-ui/core').Padding;
    floatingMiddleware: {
        name: string;
        options?: any;
        fn: (state: import('@floating-ui/vue').MiddlewareState) => import('../../../node_modules/@floating-ui/core').MiddlewareReturn | Promise<import('../../../node_modules/@floating-ui/core').MiddlewareReturn>;
    }[];
    menuClass: import('../../types/AnyValuedAttributes').ClassValue;
    noCaret: boolean;
    noFlip: boolean;
    noShift: boolean;
    noSize: boolean;
    offset: number | string | Readonly<{
        mainAxis?: number;
        crossAxis?: number;
        alignmentAxis?: number | null;
    }>;
    noWrapper: boolean;
    split: boolean;
    splitButtonType: import('../..').ButtonType;
    splitClass: import('../../types/AnyValuedAttributes').ClassValue;
    splitDisabled: boolean;
    splitHref: string;
    splitTo: import('vue-router').RouteLocationRaw;
    splitVariant: import('../..').ButtonVariant | null;
    strategy: import('../../../node_modules/@floating-ui/core').Strategy;
    toggleClass: import('../../types/AnyValuedAttributes').ClassValue;
    toggleText: string;
    wrapperClass: import('../../types/AnyValuedAttributes').ClassValue;
    initialAnimation: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
