import { Ref } from 'vue'; export interface UseFocusTrapOptions { /** Ref to the trap's container element. Focusable elements are queried within it. */ containerRef: Ref; /** Reactive flag — the trap activates when this becomes `true` and releases when it becomes `false`. */ active: Ref; /** Restore focus to the element that was focused before activation, when the trap releases. Default `true`. */ restoreFocus?: boolean; } export interface UseFocusTrapReturn { /** Focusable descendants of the container, in DOM order, excluding roving-tabindex (`tabindex="-1"`) elements. */ getFocusableElements: () => HTMLElement[]; } /** * Traps Tab focus within a container while `active` is true: Tab wraps from the last * focusable element back to the first (and Shift+Tab from the first to the last), the * first focusable element (or the container itself, if none) receives focus when the * trap activates, an `[autofocus]` descendant taking precedence, and focus returns to * whatever was focused beforehand when it releases. * Used by BaseModal and WellEditPopupInternal. */ export declare function useFocusTrap(options: UseFocusTrapOptions): UseFocusTrapReturn;