//#region src/focus-scope/focus-scope.libs.d.ts type FocusableTarget = HTMLElement | { focus(): void; }; /** Focus first candidate that actually accepts focus. */ declare function focusFirst(candidates: HTMLElement[], { select }?: { select?: boolean | undefined; }): void; /** First and last visible tabbable elements inside a container. */ declare function getTabbableEdges(container: HTMLElement): readonly [HTMLElement | undefined, HTMLElement | undefined]; /** * Tabbable candidates via TreeWalker. Approximation: does not account for computed * visibility (use findVisible/isHidden for that). Relies on `.tabIndex` for runtime tabbability. */ declare function getTabbableCandidates(container: HTMLElement): HTMLElement[]; /** Focus with preventScroll; optionally select input contents. */ declare function focus(element?: FocusableTarget | null, { select }?: { select?: boolean | undefined; }): void; /** Strip anchors; prevents auto-focusing links on mount. */ declare function removeLinks(items: HTMLElement[]): HTMLElement[]; type FocusScopeAPI = { paused: boolean; pause(): void; resume(): void; }; declare const focusScopesStack: { add(focusScope: FocusScopeAPI): void; remove(focusScope: FocusScopeAPI): void; }; //#endregion export { type FocusScopeAPI, type FocusableTarget, focus, focusFirst, focusScopesStack, getTabbableCandidates, getTabbableEdges, removeLinks };