import { Unsubscribe } from 'nanoevents'; import { Annotation } from '../model'; import { Store } from './Store'; import { ChangeSet } from './StoreObserver'; export interface UndoStack { canRedo(): boolean; canUndo(): boolean; destroy(): void; getHistory(): History; on>(event: E, callback: UndoStackEvents[E]): Unsubscribe; undo(): void; redo(): void; } export interface UndoStackEvents { redo(change: ChangeSet): void; undo(change: ChangeSet): void; } export interface History { changes: ChangeSet[]; pointer: number; } export declare const createUndoStack: (store: Store, history?: History) => UndoStack; //# sourceMappingURL=UndoStack.d.ts.map