export declare type StackItem = { name: string; undo: () => void; redo: () => void; }; export declare type StackView = { name: string; type: "present" | "past" | "future"; }[]; export declare type RawStack = { past: StackItem[]; present: StackItem; future: StackItem[]; }; export declare class UndoStack { private readonly stack; private readonly _onUpdateStack; private _updateStack; constructor(); subscribe(f: () => void): void; unsubscribe(f: () => void): void; push(item: StackItem): void; undo(): void; redo(): void; getStack(): StackView; } //# sourceMappingURL=UndoStack.d.ts.map