/** * Configuration for the focus trap helper */ export interface FocusTrapConfig { /** Element that focus is trapped within */ trapElement: HTMLElement; } /** * Focus trap helper for BootstrapSheet. * * Keeps keyboard focus inside the trap element while it is active: cycles * Tab/Shift+Tab between the first and last focusable descendants, tracks * DOM changes that affect focusability via a MutationObserver, and restores * focus to the previously focused element when the sheet closes. */ export default class FocusTrap { #private; constructor(config: FocusTrapConfig); /** * Remember the currently focused element so it can be restored later */ capture(): void; /** * Start trapping focus: track focusable elements and cycle Tab keys */ activate(): void; /** * Stop trapping focus: detach the keydown handler and the observer */ deactivate(): void; /** * Focus the first focusable element, or the trap element itself */ focusInitial(): void; /** * Restore focus to the element that was focused before activation */ restore(): void; } /** * Inert manager for BootstrapSheet. * * Hides everything outside the sheet from assistive technology while the * sheet is open. Uses the native `inert` attribute when supported, falling * back to `aria-hidden` otherwise, and restores the previous state on remove. * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert} */ export declare class InertManager { #private; /** * Apply inert (or aria-hidden) to everything outside the given elements. * * Walks from each excluded element up to ``, hiding its siblings at * every level. Hiding only the children of `` would be enough for a * sheet authored as a direct child of ``, but not for one nested in an * app root or a wrapper component: there the wrapper itself would be hidden, * and since `inert` is inherited, the sheet would go inert along with it. * @param excluded - Elements to leave interactive (e.g. sheet and backdrop) */ apply(excluded: readonly (Element | null | undefined)[]): void; /** * Restore the previous accessibility state of all hidden nodes */ remove(): void; } //# sourceMappingURL=focus-trap.d.ts.map