export type RovingOrientation = 'horizontal' | 'vertical'; export type RovingNavResult = { handled: false; } | { handled: true; index: number; item: HTMLElement; }; /** * Apply the APG roving-tabindex pattern: one item is tabbable, the rest are `-1`. */ export declare function applyRovingTabindex(items: HTMLElement[], activeIndex: number): void; /** * Focus `items[index]` and update tabindexes. Returns the focused item, or null. */ export declare function focusRovingItem(items: HTMLElement[], index: number): HTMLElement | null; /** * Handle arrow / Home / End navigation for a flat roving-tabindex collection. * Does not activate the item — callers decide whether to select on move. */ export declare function navigateRovingTabindex(options: { items: HTMLElement[]; current: HTMLElement | null; key: string; orientation?: RovingOrientation; wrap?: boolean; }): RovingNavResult;