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;