import type { DataRecord } from './DataRecord.js'; export declare enum DataGridSelectability { Single = "single", Multiple = "multiple" } export declare enum DataGridSelectionBehaviorOnDataChange { /** Resets the selection of all data */ Reset = "reset", /** Tries to find the previously selected data to maintain the selection */ Maintain = "maintain", /** Prevents the selection from changing */ Prevent = "prevent" } interface SelectableComponent { selectability?: DataGridSelectability; readonly dataRecords: Array>; selectedData: Array; isDataSelectable?(data: TData): boolean; readonly selectionChange?: EventDispatcher>; readonly selectionBehaviorOnDataChange?: DataGridSelectionBehaviorOnDataChange; readonly hasContextMenu?: boolean; } export declare class DataGridSelectionController { readonly host: SelectableComponent; private lastActiveSelection?; constructor(host: SelectableComponent); get selectability(): DataGridSelectability | undefined; get hasSelection(): boolean; private get data(); private get selectableData(); private get selectedData(); private set selectedData(value); private get previouslySelectedData(); isSelectable(data: TData): boolean; isSelected(data: TData): boolean; handleDataChange(behavior: DataGridSelectionBehaviorOnDataChange): void; selectPreviouslySelectedData(): void; setSelection(data: TData, selected: boolean, preservePreviousSelections?: boolean): void; selectAll(): void; deselectAll(): void; select(data: Array): void; } export {}; //# sourceMappingURL=DataGridSelectionController.d.ts.map