terra-draw
Version:
Frictionless map drawing across mapping provider
31 lines (30 loc) • 1.11 kB
TypeScript
import { TerraDrawModeUndoRedoInterface } from "./mode-undo-redo";
import { TerraDrawSessionUndoRedoInterface } from "./session-undo-redo";
import { HistoryChange, HistoryEvent } from "./undo-redo-types";
type TerraDrawUndoRedoCoordinatorOptions = {
modeLevel?: TerraDrawModeUndoRedoInterface;
sessionLevel?: TerraDrawSessionUndoRedoInterface;
shouldPreferMode: () => boolean;
onHistoryChange?: (historyChange: HistoryEvent) => void;
shouldEmitHistoryChange?: () => boolean;
};
export declare class TerraDrawUndoRedoCoordinator {
private modeLevel?;
private sessionLevel?;
private shouldPreferMode;
private onHistoryChange?;
private shouldEmitHistoryChange;
constructor(options: TerraDrawUndoRedoCoordinatorOptions);
emitStackHistoryChange(change: HistoryChange): void;
private hasSessionUndo;
private hasSessionRedo;
private activeStackForUndo;
private activeStackForRedo;
canUndo(): boolean;
canRedo(): boolean;
undo(): boolean;
redo(): boolean;
clearHistory(): void;
emitHistoryPushForCompletedAction(): void;
}
export {};