import type { Table as TanStackTable } from '@tanstack/table-core'; import { TableRowSelectionMode } from '../types'; import type { TableRecord, TableRowState, TableNode } from '../types'; /** * Manages the behavior associated with interactive row selection for the table, including * handling when the selection mode of the table is changed. */ export declare class InteractiveSelectionManager { private readonly tanStackTable; private selectionManager; private actionMenusPreserveSelection; constructor(tanStackTable: TanStackTable>, selectionMode: TableRowSelectionMode, actionMenusPreserveSelection: boolean); handleRowSelectionToggle(rowState: TableRowState | undefined, isSelecting: boolean, shiftKey: boolean): boolean; handleRowClick(rowState: TableRowState | undefined, shiftKey: boolean, ctrlKey: boolean): boolean; handleActionMenuOpening(rowState: TableRowState | undefined): boolean; handleSelectionModeChanged(selectionMode: TableRowSelectionMode): void; handleActionMenusPreserveSelectionChanged(actionMenusPreserveSelection: boolean): void; handleSelectionReset(): void; getCurrentSelectedRecordIds(): string[]; private createSelectionManager; }