import { UndoableAction } from './UndoableAction'; /** * Tracks undoable actions. Pushing an action past the redo point discards the * redo branch. Capped at `maxActions` (default 1000) so long sessions don't grow * without bound. `onStateChanged` lets the UI enable/disable undo/redo controls. */ export declare class UndoStack { private maxActions; private actions; private pointer; private busy; onStateChanged?: () => void; constructor(maxActions?: number); get canUndo(): boolean; get canRedo(): boolean; get actionCount(): number; push(action: UndoableAction): void; undo(): void; redo(): void; clear(): void; }