import { Subject } from 'rxjs'; import { TableChanges, Args, TableChangeWritter } from 'fittable-core/operations'; export declare class OperationStackExecutor { private readonly createchangeWritter; readonly beforeRun$: Subject; readonly afterRun$: Subject; readonly beforeUndo$: Subject; readonly afterUndo$: Subject; readonly beforeRedo$: Subject; readonly afterRedo$: Subject; private readonly operationStack; private activeOperationIndex; constructor(createchangeWritter: (change: Args) => TableChangeWritter); run(changes: TableChanges): this; canUndo(): boolean; undo(): this; canRedo(): boolean; redo(): this; private createOperation; private getActiveTableChanges; clearOperations(): this; }