import type { Table as TanStackTable, Row as TanStackRow } from '@tanstack/table-core'; import { type TableNode, type TableRecord, type TableRowState } from '../../types'; /** * Abstract base class for handling behavior associated with interactive row selection of the table. */ export declare abstract class SelectionManagerBase { protected tanStackTable: TanStackTable>; protected actionMenusPreserveSelection: boolean; constructor(tanStackTable: TanStackTable>, actionMenusPreserveSelection: boolean); abstract handleRowSelectionToggle(rowState: TableRowState, isSelecting: boolean, shiftKey: boolean): boolean; abstract handleRowClick(rowState: TableRowState, shiftKey: boolean, ctrlKey: boolean): boolean; abstract handleActionMenuOpening(rowState: TableRowState): boolean; updateActionMenusPreserveSelection(actionMenusPreserveSelection: boolean): void; reset(): void; protected toggleIsRowSelected(rowState: TableRowState, isSelecting?: boolean): void; protected selectSingleRow(rowState: TableRowState): boolean; protected deselectAllLeafRows(rowId: string): void; protected getAllLeafRowIds(id: string): string[]; protected getAllOrderedRows(): TanStackRow>[]; private getOrderedRows; }