import { ColumnGlideLast, GlideProps, HighlightActiveType, ObjectForExtending, CellsSelectionMode } from '../../types'; import { GridSelection } from '@glideappsfinal/glide-data-grid'; type HeaderClickEvent = Parameters>[1]; interface UseTableSelectionSystemParams { columns: readonly ColumnGlideLast[]; selection: GridSelection; cellsSelectionMode: CellsSelectionMode; highlightActiveType: HighlightActiveType; enableColumnSelection: boolean; enableRowSelection: boolean; enableSelectAll: boolean; leadingServiceColumnsCount: number; dataRowCount: number; handleGridSelectionChange: (next: GridSelection) => void; handleSelectionCleared: () => void; onSelectionEmit?: (next: GridSelection) => void; highlightActiveRow?: number; onHighlightActiveRowChange?: (row: number | undefined) => void; isHighlightActiveRowControlled?: boolean; } export declare function useTableSelectionSystem({ columns, selection, cellsSelectionMode, highlightActiveType, enableColumnSelection, enableRowSelection, enableSelectAll, leadingServiceColumnsCount, dataRowCount, handleGridSelectionChange, handleSelectionCleared, onSelectionEmit, highlightActiveRow, onHighlightActiveRowChange, isHighlightActiveRowControlled, }: UseTableSelectionSystemParams): { selectedColumnIndexes: number[]; selectedColumnKeysAll: string[]; selectColumnsByKeys: (keys: string[]) => void; selectedColumnSet: Set; headerSelectedRowIndexes: number[]; activeRow: number | undefined; numberingColumnIndex: number; drawFocusRing: boolean; selectColumnFromHeader: (columnIndex: number, event: HeaderClickEvent) => void; handleGridSelectionWithColumnReset: (raw: GridSelection) => void; handleSelectionClearedWithColumns: () => void; }; export {};