import type { EventBus } from '../event-bus/event-bus'; import type { Column, ColumnState } from '../types/column.types'; import type { RowNode } from '../types/row.types'; import type { FilterModel, QuickFilterConfig } from '../types/filter.types'; import type { SortConfig, PaginationConfig, CellRange } from '../types/grid.types'; export interface GridStoreState { allRows: RowNode[]; visibleRows: RowNode[]; renderedRows: RowNode[]; totalRowCount: number; columns: Column[]; columnStates: Map; pinnedLeftColumns: Column[]; pinnedRightColumns: Column[]; centerColumns: Column[]; sortConfig: SortConfig[]; filterModel: FilterModel; quickFilterConfig: QuickFilterConfig | null; filterActive: boolean; pagination: PaginationConfig; groupedColumnIds: string[]; expandedGroupKeys: Set; expandedRowIds: Set; expandedTreeNodeIds: Set; selectedRowIds: Set; activeRowId: string | null; isAllSelected: boolean; isIndeterminate: boolean; cellRanges: CellRange[]; activeCell: { rowIndex: number; colIndex: number; } | null; loading: boolean; error: string | null; scrollTop: number; scrollLeft: number; viewportHeight: number; viewportWidth: number; firstRenderedRowIndex: number; lastRenderedRowIndex: number; fullScreen: boolean; editingCellId: string | null; } type Subscriber = (value: GridStoreState[K], prev: GridStoreState[K]) => void; export declare class GridStore { private eventBus; private state; private subscribers; constructor(eventBus: EventBus); get(key: K): GridStoreState[K]; set(key: K, value: GridStoreState[K]): void; update(key: K, updater: (current: GridStoreState[K]) => GridStoreState[K]): void; batch(updates: Partial): void; watch(key: K, subscriber: Subscriber): () => void; snapshot(): Readonly; private notifySubscribers; private createInitialState; destroy(): void; } export {}; //# sourceMappingURL=grid-store.d.ts.map