/** * DOM utility helpers for @bquery/ui components. */ /** Dispatch a custom event from a host element with bubbles + composed. */ export declare function dispatch(element: HTMLElement, name: string, detail?: T, options?: Partial>): boolean; /** Query a slot's assigned elements (flattened). */ export declare function getSlotted(shadow: ShadowRoot, slotName?: string): Element[]; /** Returns true if element is focusable. */ export declare function isFocusable(el: Element): el is HTMLElement; /** Get all focusable descendants within a container. */ export declare function getFocusableElements(container: Element): HTMLElement[]; /** Trap focus within a container element. Returns a cleanup function. */ export declare function trapFocus(container: HTMLElement): () => void; export declare function uniqueId(prefix?: string): string; export declare function getAnimationTimeoutMs(el: Element, fallbackDuration?: string): number; /** * Manages focus trapping, initial focus, and focus restoration for overlay * components (Dialog, Drawer). Call from `updated()`. */ export interface OverlayFocusState { _wasOpen?: boolean; _previousFocus?: HTMLElement | null; _focusRaf?: number; _releaseFocus?: () => void; } export declare function updateOverlayFocus(host: HTMLElement, state: OverlayFocusState, panelSelector: string): void; export declare function cleanupOverlayFocus(state: OverlayFocusState): void; //# sourceMappingURL=dom.d.ts.map