import type { Row, Table } from '@tanstack/table-core'; import type { TableState, TableStore } from './use-table.js'; interface SelectableRow { id: string; getCanSelect: () => boolean; getCanMultiSelect: () => boolean; } interface SelectionRow extends SelectableRow { original: T; } type SelectionVisibilityStore = Pick, 'multiRowSelectionEnabled' | 'rowSelectionEnabled' | 'getSelectedRows'>; type RowSelectionStore = Pick, 'multiRowSelectionEnabled' | 'rowSelectionEnabled'>; interface RangeSelectionOptions> { row: TRow; rows: TRow[]; anchorId: string | null; } export interface RangeSelection { rows: TRow[]; nextAnchorId: string; } interface RangeSelectionMouseEvent { shiftKey: boolean; currentTarget: HTMLElement; preventDefault: () => void; } export declare const areSelectionCheckboxesVisible: (store: SelectionVisibilityStore) => boolean; export declare const isRowSelectionPredicateRejected: (row: Row, store: TableStore) => boolean; export declare const isRowMultiSelectionPredicateRejected: (row: Row, store: TableStore) => boolean; export declare const isRowBulkSelectable: (row: SelectableRow) => boolean; /** * Whether a bulk-eligible row is currently selected. * * Used to reveal the selection checkboxes and the header selected-count control only once a row that participates in * bulk selection has been selected. Rows rejected by the multi-row selection predicate are selected exclusively and * therefore do not activate bulk selection. */ export declare const hasActiveBulkSelection: (table: Pick, 'getSelectedRowModel'>) => boolean; export declare const getSelectableRowsInRange: (rows: TRow[], anchorId: string, targetId: string) => TRow[] | null; export declare const getRangeSelection: >({ row, rows, anchorId, }: RangeSelectionOptions) => RangeSelection; export declare const selectRange: >(currentSelection: TableState['rowSelection'], rows: TRow[]) => TableState['rowSelection']; export declare const preventRangeSelectionTextSelection: (event: RangeSelectionMouseEvent, row: SelectableRow, store: RowSelectionStore) => void; export {}; //# sourceMappingURL=tableSelectionUtils.d.ts.map