import { type KeyboardEvent } from "react"; export type RovingTabIndexOptions = { /** * When true, the arrow keys follow the visual layout of a wrapping grid * instead of the DOM order: left/right move between columns and up/down * between rows. */ columns?: boolean; }; /** * Roving tabindex: the container holds a single tab stop, and the arrow keys * (plus Home/End) move focus between the items inside it. * * Spread `getItemProps(index)` on every focusable item and put `onKeyDown` on * their common ancestor. */ export declare function useRovingTabIndex(itemCount: number, { columns }?: RovingTabIndexOptions): { onKeyDown: (event: KeyboardEvent) => void; getItemProps: (index: number) => { "data-roving-item": string; tabIndex: number; onFocus: () => void; }; getSecondaryProps: (index: number) => { tabIndex: number; onFocus: () => void; }; };