///
import type { IGetRecordsRo } from '@teable/openapi';
import type { Record as IRecord } from '../../../model';
import type { IGridRef } from '../../grid/Grid';
import type { ICell, ICellItem, IGridColumn, IInnerCell } from '../../grid/interface';
import { CombinedSelection } from '../../grid/managers';
interface IUseGridSelectionProps {
recordMap: Record;
columns: (IGridColumn & {
id: string;
})[];
viewQuery?: Pick;
gridRef: React.RefObject;
}
export interface IActiveCell {
recordId: string;
fieldId: string;
rowIndex: number;
columnIndex: number;
}
export declare const useGridSelection: (props: IUseGridSelectionProps) => {
activeCell: IActiveCell | undefined;
presortRecord: IRecord | undefined;
presortRecordData: {
rowIndex: number;
recordId: string;
} | undefined;
onSelectionChanged: (selection: CombinedSelection) => void;
onPresortCellEdited: (cell: ICellItem, newVal: IInnerCell) => IRecord | undefined;
getPresortCellContent: (cell: ICellItem) => ICell;
setPresortRecordData: import("react").Dispatch>;
};
export {};