import { ComponentPublicInstance, Ref } from 'vue'; export type UseDropdownPopupOptions = { readonly anchorRef: Readonly>; readonly popupRef: Readonly>; readonly focusElement: Readonly>; readonly disabled?: Readonly>; readonly readonly?: Readonly>; readonly onOpen?: () => void; readonly onClose?: () => void; }; export type UseDropdownPopupReturn = { readonly isOpen: Ref; readonly open: () => void; readonly close: () => void; readonly toggle: () => void; readonly focusAnchor: () => void; readonly onKeyDownBase: (evt: KeyboardEvent) => boolean; }; /** * Shared dropdown-popup infrastructure for select-like components. Manages: * - open/close state * - click-outside (close when clicking outside popup + anchor) * - focus-back-to-anchor on close * - focus-the-inner-focus-element on open * - Escape/Tab keyboard handling */ export default function useDropdownPopup(options: UseDropdownPopupOptions): UseDropdownPopupReturn;