import type { ListTable, PivotTable } from '@visactor/vtable'; import type { FilterState, FilterAction, FilterConfig, FilterListener, FilterStateSnapshot } from './types'; import { FilterActionType } from './types'; import type { FilterEngine } from './filter-engine'; export declare class FilterStateManager { private state; private engine; private listeners; private table; constructor(table: ListTable | PivotTable, engine: FilterEngine); getFilterState(fieldId?: string | number): FilterConfig; getActiveFilterFields(): (string | number)[]; getAllFilterStates(): FilterState; getSnapshot(): FilterStateSnapshot; applySnapshot(snapshot: FilterStateSnapshot, actionType?: FilterActionType): void; shiftFieldsOnAddColumns(columnIndex: number, columnCount: number): void; shiftFieldsOnDeleteColumns(deleteColIndexs: number[]): void; reapplyCurrentFilters(): void; dispatch(action: FilterAction): void; subscribe(listener: FilterListener): () => void; private notifyListeners; private reduce; private applyFilters; private shouldApplyFilter; }