import { IGridCollection } from './GridCollection'; import { Key } from '@react-types/shared'; import { MultipleSelectionState } from '../selection/types'; import { MultipleSelectionStateProps } from '../selection/useMultipleSelectionState'; import { SelectionManager } from '../selection/SelectionManager'; export interface GridState> { collection: C; /** A set of keys for rows that are disabled. */ disabledKeys: Set; /** A selection manager to read and update row selection state. */ selectionManager: SelectionManager; /** Whether keyboard navigation is disabled, such as when the arrow keys should be handled by a component within a cell. */ isKeyboardNavigationDisabled: boolean; } export interface GridStateOptions> extends MultipleSelectionStateProps { collection: C; disabledKeys?: Iterable; focusMode?: 'row' | 'cell'; /** @private - do not use unless you know what you're doing. */ UNSAFE_selectionState?: MultipleSelectionState; } /** * Provides state management for a grid component. Handles row selection and focusing a grid cell's focusable child if applicable. */ export declare function useGridState>(props: GridStateOptions): GridState;