type Focusable = { focus?: () => void; } | null; export interface RovingFocusOptions { /** Number of items in the group. */ count: number; /** Index of the active/selected item (the single tab stop). */ active: number; /** Move activation (and focus) to `index` when an arrow/Home/End lands on it. */ onActivate: (index: number) => void; /** Which arrows move: horizontal (Left/Right), vertical (Up/Down), or both. Default horizontal. */ orientation?: "horizontal" | "vertical" | "both"; /** Flip the horizontal arrows for right-to-left locales (ArrowLeft advances). */ rtl?: boolean; /** Wrap past the ends (default true). */ loop?: boolean; } export interface RovingItemProps { /** Native focusability: in the D-pad/hardware-keyboard order only when active. */ focusable: boolean; /** Web tab order: 0 for the active item, -1 for the rest (react-native-web's * Pressable reads `tabIndex` directly and ignores `focusable`). */ tabIndex: number; /** Ref that captures the item's host node so arrows can move focus to it. */ ref: (node: Focusable) => void; /** Web-only key handler; never fires on native. */ onKeyDown: (event: { key: string; preventDefault: () => void; }) => void; } export declare function useRovingFocus(options: RovingFocusOptions): { getItemProps: (index: number) => RovingItemProps; /** Move DOM focus to an item by index (e.g. focus the first item when a menu opens). */ focusItem: (index: number) => void; }; export {}; //# sourceMappingURL=use-roving-focus.d.ts.map