type UndoRedoHistoryEntry = { featureCoordinates: Coordinates; currentCoordinate: number; }; type UndoStepResult = { undoneEntry: UndoRedoHistoryEntry; previousEntry: UndoRedoHistoryEntry | undefined; }; type UndoRedoBehaviorOptions = { maxStackSize?: number; }; export declare class UndoRedoBehavior { private undoHistory; private redoHistory; private cloneCoordinatesFunction; private maxStackSize; constructor(options?: UndoRedoBehaviorOptions); setMaxStackSize(maxStackSize: number): void; private trimHistoryToMax; private pushUndoEntry; private pushRedoEntry; private cloneRecursively; cloneCoordinates(coordinates: Coordinates): Coordinates; private cloneEntry; clear(): void; undoSize(): number; redoSize(): number; recordSnapshot(entry: UndoRedoHistoryEntry): void; beginUndo(): UndoStepResult | undefined; takeRedo(): UndoRedoHistoryEntry | undefined; commitRedo(entry: UndoRedoHistoryEntry): void; } export {};