import type { AutoPlacementOptions, FlipOptions, OffsetOptions, ShiftOptions, SizeOptions } from '../../types/floating-ui'; import { Side, Strategy } from '../../constants'; declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots; default: null; }; role: { type: PropType<`${import("../../constants").DropdownRole}`>; default: import("../../constants").DropdownRole; validator: (value: import("../../constants").DropdownRole) => boolean; }; modifiers: { type: PropType; default: undefined; }; placement: { type: PropType<`${Side}` | `${import("../../constants").Placement}`>; default: Side; validator: (value: Side & import("../../constants").Placement) => boolean; }; strategy: { type: PropType<`${Strategy}`>; default: undefined; validator: (value: Strategy) => boolean; }; transitionName: { type: StringConstructor; default: undefined; }; offset: { type: PropType; default: number; }; shift: { type: PropType; default: boolean; }; flip: { type: PropType; default: boolean; }; size: { type: PropType; default: () => { padding: number; }; }; autoPlacement: { type: PropType; default: boolean; }; arrow: { type: BooleanConstructor; default: boolean; }; keepOpen: { type: BooleanConstructor; default: boolean; }; autofocusFirst: { type: BooleanConstructor; default: boolean; }; triggerWidth: { type: BooleanConstructor; default: boolean; }; id: (NumberConstructor | StringConstructor)[]; }>, { /** Toggle the dropdown */ toggle: () => void; /** Show the dropdown */ show: () => void; /** Hide the dropdown */ hide: () => void; /** * Initialize the dropdown * @param {HTMLElement} el - The dropdown reference element to attach to */ init: (el: HTMLElement) => void; /** Focus the first focusable element */ focusFirst: () => void; /** Focus the first focusable element in the list */ focusFirstListElement: () => void; /** Focus the next focusable element */ focusNext: () => void; /** Focus the previous focusable element */ focusPrev: () => void; /** The dropdown has custom position */ customPosition: globalThis.Ref; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:modelValue": (...args: any[]) => void; beforeEnter: (...args: any[]) => void; afterLeave: (...args: any[]) => void; beforeExpand: (...args: any[]) => void; beforeCollapse: (...args: any[]) => void; afterExpand: (...args: any[]) => void; afterCollapse: (...args: any[]) => void; "before-enter": (...args: any[]) => void; "after-leave": (...args: any[]) => void; enter: (...args: any[]) => void; afterEnter: (...args: any[]) => void; enterCancelled: (...args: any[]) => void; beforeLeave: (...args: any[]) => void; leave: (...args: any[]) => void; leaveCancelled: (...args: any[]) => void; }, string, import("vue").PublicProps, Readonly; default: null; }; role: { type: PropType<`${import("../../constants").DropdownRole}`>; default: import("../../constants").DropdownRole; validator: (value: import("../../constants").DropdownRole) => boolean; }; modifiers: { type: PropType; default: undefined; }; placement: { type: PropType<`${Side}` | `${import("../../constants").Placement}`>; default: Side; validator: (value: Side & import("../../constants").Placement) => boolean; }; strategy: { type: PropType<`${Strategy}`>; default: undefined; validator: (value: Strategy) => boolean; }; transitionName: { type: StringConstructor; default: undefined; }; offset: { type: PropType; default: number; }; shift: { type: PropType; default: boolean; }; flip: { type: PropType; default: boolean; }; size: { type: PropType; default: () => { padding: number; }; }; autoPlacement: { type: PropType; default: boolean; }; arrow: { type: BooleanConstructor; default: boolean; }; keepOpen: { type: BooleanConstructor; default: boolean; }; autofocusFirst: { type: BooleanConstructor; default: boolean; }; triggerWidth: { type: BooleanConstructor; default: boolean; }; id: (NumberConstructor | StringConstructor)[]; }>> & Readonly<{ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; onBeforeEnter?: ((...args: any[]) => any) | undefined; onAfterLeave?: ((...args: any[]) => any) | undefined; onBeforeExpand?: ((...args: any[]) => any) | undefined; onBeforeCollapse?: ((...args: any[]) => any) | undefined; onAfterExpand?: ((...args: any[]) => any) | undefined; onAfterCollapse?: ((...args: any[]) => any) | undefined; "onBefore-enter"?: ((...args: any[]) => any) | undefined; "onAfter-leave"?: ((...args: any[]) => any) | undefined; onEnter?: ((...args: any[]) => any) | undefined; onAfterEnter?: ((...args: any[]) => any) | undefined; onEnterCancelled?: ((...args: any[]) => any) | undefined; onBeforeLeave?: ((...args: any[]) => any) | undefined; onLeave?: ((...args: any[]) => any) | undefined; onLeaveCancelled?: ((...args: any[]) => any) | undefined; }>, { modelValue: boolean; reference: HTMLElement | null; placement: "top" | "right" | "bottom" | "left" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end"; strategy: "absolute" | "fixed"; size: boolean | SizeOptions; shift: boolean | ShiftOptions; modifiers: string | string[]; role: "listbox" | "menu"; flip: boolean | FlipOptions; transitionName: string; offset: string | OffsetOptions; autoPlacement: boolean | AutoPlacementOptions; arrow: boolean; keepOpen: boolean; autofocusFirst: boolean; triggerWidth: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, { default?: (props: { init: (el: HTMLElement) => void; show: () => void; hide: () => void; toggle: () => void; expanded: boolean; aria: { 'aria-controls': string; 'aria-haspopup': boolean; 'aria-expanded': boolean; }; }) => any; } & { before?: (props: { show: () => void; hide: () => void; toggle: () => void; expanded: boolean; }) => any; } & { items?: (props: { show: () => void; hide: () => void; toggle: () => void; expanded: boolean; role: import("../../constants").DropdownItemRole; }) => any; } & { after?: (props: { show: () => void; hide: () => void; toggle: () => void; expanded: boolean; }) => any; }>; type __VLS_WithSlots = T & { new (): { $slots: S; }; };