import TableRow from "../types/TableRow"; import RowSelectionChangeProps from "../types/RowSelectionChangeProps"; export interface RowSelectionManagerConfig { tableRows: TableRow[]; onRowSelectionChange?: (props: RowSelectionChangeProps) => void; enableRowSelection?: boolean; } export interface RowSelectionManagerState { selectedRows: Set; selectedRowCount: number; selectedRowsData: any[]; } type StateChangeCallback = (state: RowSelectionManagerState) => void; export declare class RowSelectionManager { private config; private state; private subscribers; constructor(config: RowSelectionManagerConfig); updateConfig(config: Partial): void; private updateDerivedState; subscribe(callback: StateChangeCallback): () => void; private notifySubscribers; isRowSelected(rowId: string): boolean; areAllRowsSelected(): boolean; getSelectedRows(): Set; getSelectedRowCount(): number; getSelectedRowsData(): any[]; setSelectedRows(selectedRows: Set): void; handleRowSelect(rowId: string, isSelected: boolean): void; handleSelectAll(isSelected: boolean): void; handleToggleRow(rowId: string): void; clearSelection(): void; getState(): RowSelectionManagerState; destroy(): void; } export {};