import { RegisteredFocusTrap } from '../types/shadow/RegisteredFocusTrap'; /** * Stack-based focus trap registry for stacked dialogs/drawers. * * The most recently registered trap is the active one; Tab/Shift+Tab cycle * focus within its container, resolving the current focus across shadow roots * (so a widget rendered into a ShadowRoot traps correctly). A single global * keydown listener is attached lazily on first registration. */ export declare const focusTrapRegistry: { /** * Attaches the global Tab listener exactly once (no-op without a DOM). * @returns {void} Nothing. */ ensureTabListener(): void; /** * Registers a trap as the newest (de-duplicated by id) and ensures the * global Tab listener is attached. * @param {RegisteredFocusTrap} trap - The trap to register. * @returns {void} Nothing. */ register(trap: RegisteredFocusTrap): void; /** * Removes a trap by id. * @param {string} id - The trap id. * @returns {void} Nothing. */ unregister(id: string): void; /** * Returns the id of the current top-most trap, if any. * @returns {string | null} The top-most trap id, or null. */ getTopMostId(): string | null; }; //# sourceMappingURL=focusTrapRegistry.d.ts.map