import React, { KeyboardEvent, RefObject } from 'react';
type CellDefType = {
    cellRowIndex: number;
    cellColumnIndex: number;
    cellRef: RefObject<any>;
    cellAction?: (...args: any[]) => void;
};
type TableReactKeyboardNavigationContextType = {
    focusedCell: string;
    registerCell: (options: CellDefType) => void;
    onTableKeyDownHandler: (e: KeyboardEvent) => void;
    setFocusedCell: (newId: string) => void;
    registerCustomCellAction: (cellId: string, actionFn: (...args: any[]) => void) => void;
};
export declare const TableKeyboardNavigationContext: React.Context<TableReactKeyboardNavigationContextType | null>;
export declare function getCellId({ cellRowIndex, cellColumnIndex, }: {
    cellRowIndex: number;
    cellColumnIndex: number;
}): string;
export declare function useTableKeyboardNavigation({ tableRef, columnsCount, rowsCount, }: {
    tableRef: RefObject<any>;
    columnsCount: number;
    rowsCount: number;
}): TableReactKeyboardNavigationContextType;
export {};
