import { type TableRecord, type TableRowState } from '../../types'; import { SelectionManagerBase } from './selection-manager-base'; /** * Selection manager for interactive selection when the selection mode of the table is * `TableRowSelectionMode.multiple`. */ export declare class MultiSelectionManager extends SelectionManagerBase { private shiftSelectStartRowId?; private previousShiftSelectRowEndId?; handleRowSelectionToggle(rowState: TableRowState, isSelecting: boolean, shiftKey: boolean): boolean; handleRowClick(rowState: TableRowState, shiftKey: boolean, ctrlKey: boolean): boolean; handleActionMenuOpening(rowState: TableRowState): boolean; reset(): void; private tryUpdateRangeSelection; private removePreviousRangeSelection; private addNewRangeSelection; private updateSelectionStateForRange; private updateSelectionStateForRow; private getRowIndexForId; }