export interface UseTableKeyboardNavigationOptions {
    /** Number of items in the list */
    itemCount: number;
    /** Initial active index (-1 = none) */
    initialIndex?: number;
    /** Wrap around at boundaries */
    wrap?: boolean;
    /** Callback when Enter pressed on active row */
    onSelect?: (index: number) => void;
    /** When true, registers keyboard handlers globally on the document */
    global?: boolean;
}
export interface UseTableKeyboardNavigationReturn {
    /** Currently active index (-1 if none) */
    activeIndex: number;
    /** Set active index programmatically */
    setActiveIndex: React.Dispatch<React.SetStateAction<number>>;
    /** Returns props to spread on the Tbody element. Returns null when global is true. */
    getKeyboardProps: () => {
        onKeyDown: (e: React.KeyboardEvent) => void;
        tabIndex: number;
    } | null;
}
export declare function useTableKeyboardNavigation({ itemCount, initialIndex, wrap, onSelect, global, }: UseTableKeyboardNavigationOptions): UseTableKeyboardNavigationReturn;
