/** * focus — focus management as RETAINED STATE, keyed by a stable component * identity. Tab order and keyboard routing. */ import { type Disposable } from '../events/index.js'; import type { KeyEvent } from '../input/index.js'; export interface Focusable { readonly key: string; readonly tabIndex: number; readonly disabled?: boolean; onKey?(e: KeyEvent): boolean; } export interface FocusManager { register(entry: Focusable): Disposable; focus(key: string): void; focusNext(): void; focusPrev(): void; blur(): void; isFocused(key: string): boolean; readonly activeKey: string | undefined; onChange(cb: (key: string | undefined) => void): Disposable; routeKey(e: KeyEvent): boolean; } export declare function createFocusManager(): FocusManager; //# sourceMappingURL=index.d.ts.map