import React from 'react'; import './TableKeyboardNavigation.scss'; interface Scope { enabled: boolean; searches: Set; containerRef?: React.RefObject; adapters: Set; activeAdapter?: Adapter; listeners: Set<() => void>; announcementRef: React.RefObject; } interface Adapter { element: HTMLElement; scope: Scope; getFirst: () => number | undefined; getLast: () => number | undefined; getNext: (index: number, step: number) => number | undefined; getSelected: () => number | undefined; select: (index: number | undefined) => void; activate?: (index: number) => void; } export declare const TableKeyboardNavigationGroupContext: React.Context; export declare function TableKeyboardNavigationScope({ children, enabled, containerRef, inherit, resetKey, }: { children: React.ReactNode; enabled?: boolean; containerRef?: React.RefObject; inherit?: boolean; resetKey?: string; }): import("react/jsx-runtime").JSX.Element; export declare function useTableNavigationEnabled(): boolean; export declare function useTableSearch(ref: React.RefObject, enabled: boolean, value?: string): void; interface AdapterOptions { tableRef: React.RefObject; getFirst: Adapter['getFirst']; getLast: Adapter['getLast']; getNext: Adapter['getNext']; activate?: Adapter['activate']; resetDeps: React.DependencyList; isValidIndex?: (index: number) => boolean; getRowKey?: (index: number) => string | number | undefined; getRowLabel?: (index: number) => string | undefined; findRowIndex?: (key: string | number, previousIndex: number) => number | undefined; getRowLookupRevision?: (revision?: string) => string | undefined; isRowLookupPending?: (revision: string | undefined) => boolean; subscribe?: (listener: () => void) => () => void; } export declare function useTableKeyboardAdapter(options: AdapterOptions): { ref: (node: HTMLElement | null) => void; scrollRevision: number; selected: number | undefined; focusedIndex: number | undefined; onMouseMove: (event: React.MouseEvent) => void; }; export {};