import { EventEmittingClass } from './utils'; import { VanillaMirror } from './vanilla-mirror'; type Patch = { length1: number; length2: number; start1: number; start2: number; diffs: [-1 | 0 | 1, string][]; }; declare class State { private undoManager; patches: Patch[]; constructor(undoManager: UndoManager); addToUndoStack(): void; addToRedoStack(): void; } declare class StateMgr { private undoManager; currentTime: number; lastTime: number; lastMode: 'typing' | 'single'; currentMode: 'typing' | 'single'; constructor(undoManager: UndoManager); isBufferState(): boolean; setDefaultMode(mode: "typing" | "single"): void; resetMode(): void; saveMode(): void; } export declare class UndoManager extends EventEmittingClass { private editor; diffMatchPatch: any; selectionMgr: any; undoStack: State[]; redoStack: State[]; currentState: State; previousPatches: Patch[]; currentPatches: Patch[]; stateMgr: StateMgr; get canUndo(): boolean; get canRedo(): boolean; options: { undoStackMaxSize: number; bufferStateUntilIdle: number; }; constructor(editor: VanillaMirror, options?: { undoStackMaxSize: number; bufferStateUntilIdle: number; }); setCurrentMode(mode: any): void; setDefaultMode: any; addDiffs(oldContent: string, newContent: any, diffs: any): void; saveCurrentPatches(): void; saveState: () => void; restoreState(patchesParam: Patch[], isForward?: boolean): void; undo(): void; redo(): void; } export {}; //# sourceMappingURL=undo-manager.d.ts.map