export type PrimitiveUndoableSnapshot = HTMLElement | SVGElement | string;
export type UndoableSnapshot = PrimitiveUndoableSnapshot | Promise | undefined;
export interface Undoable {
undo(): void;
redo(): void;
getUndoName(): string;
getVisualSnapshot(): UndoableSnapshot;
equals(undoable: Undoable): boolean;
}
export declare function isUndoableType(obj: unknown): obj is Undoable;