import { Editor, CaretPos, BlockData, ContainerElement, BlockElement } from "../interface"; import RichTextDocument from "../text/RichTextDocument"; declare class Action { containerId: string; beforeCaretPos: CaretPos; afterCaretPos: CaretPos; constructor(editor: Editor, container: ContainerElement); undo(editor: Editor): boolean; redo(editor: Editor): boolean; combinable(other: Action): boolean; combine(other: Action): void; } declare class UndoState { editor: Editor; private actions; private undoCursor; private currentGroup; private caretPos; private groupCounter; constructor(editor: Editor); rememberCaretPos(): void; lastCaretPos(): CaretPos; reset(): void; prepareSveUndoState(): void; addAction(action: Action): void; onUpdateBlockTextAction(container: ContainerElement, block: BlockElement, oldData: RichTextDocument): void; onUpdateBlockDataAction(container: ContainerElement, block: BlockElement, oldData: BlockData): void; onReplaceBlockAction(container: ContainerElement, blockId: string, oldData: BlockData, newData: BlockData): void; onCreateBlockAction(container: ContainerElement, block: BlockElement, index: number, data: BlockData): void; onDeleteBlockAction(container: ContainerElement, index: number): void; beginGroup(): void; endGroup(): void; hasGroup(): boolean; private fixSelection; undo(): boolean; redo(): boolean; canUndo(): boolean; canRedo(): boolean; } export default UndoState;