import { CellPosition } from '../../../../internal/types'; export type DTFocusState = { /** * The currently focused cell or null if no cell is focused */ focusedCell: CellPosition | null; /** * The last focused cell when the table was blurred or { rowIndex: 0, columnIndex: 0 } if never focused */ focusRestorePoint: CellPosition; /** * Whether the focus has been disrupted by a sub component */ hasFocusBeenDisrupted: boolean; }; export type DTFocusStateContextValue = { getFocusedCell: () => CellPosition | null; }; export type DTFocusCellAction = { type: "FOCUS_CELL"; payload: { cellPosition: CellPosition; }; }; export type DTFocusTableAction = { type: "FOCUS_TABLE"; }; export type DTFocusMoveAction = { type: "MOVE_FOCUS"; payload: { direction: "up" | "down" | "left" | "right"; }; }; export type DTFocusJumpAction = { type: "JUMP_FOCUS"; payload: { direction: "up" | "down" | "left" | "right"; }; }; export type DTFocusCellManuallyAction = { type: "FOCUS_CELL_MANUALLY"; payload: { cellPosition: CellPosition; }; }; export type DTBlurAction = { type: "BLUR"; }; export type DTFocusSubComponentAction = { type: "FOCUS_SUB_COMPONENT"; }; export type DTFocusSubComponentBlurAction = { type: "BLUR_SUB_COMPONENT"; }; export type DTFocusAction = DTFocusCellAction | DTFocusTableAction | DTFocusMoveAction | DTFocusJumpAction | DTBlurAction | DTFocusSubComponentAction | DTFocusSubComponentBlurAction | DTFocusCellManuallyAction; export declare const DTFocusStateContext: import('react').Context; export declare const DTFocusDispatchContext: import('react').Context>;