import { InstanceServiceContainer } from '../InstanceServiceContainer.js'; import { ITransactionItem } from './ITransactionItem.js'; import { ChangeGroup } from "./ChangeGroup.js"; import { IUndoService } from './IUndoService.js'; import { IDesignerCanvas } from '../../widgets/designerView/IDesignerCanvas.js'; import { TypedEvent } from '@node-projects/base-custom-webcomponent'; import { IUndoChangeEvent, UndoChangeSource } from './IUndoChangeEvent.js'; export declare class UndoService implements IUndoService { private _undoStack; private _redoStack; private _transactionStack; private _instanceServiceContainer; private _storeRedoBranches; constructor(designerCanvas: IDesignerCanvas | InstanceServiceContainer, storeRedoBranches?: boolean); openGroup(title: string, source?: UndoChangeSource): ChangeGroup; private commitTransactionItem; private abortTransactionItem; execute(item: ITransactionItem, source?: UndoChangeSource): void; clear(): void; clearTransactionstackIfNotEmpty(): void; undo(source?: UndoChangeSource): void; redo(source?: UndoChangeSource): void; redoTo(transactionItems: ITransactionItem[]): void; canUndo(): boolean; canRedo(): boolean; get undoCount(): number; get redoCount(): number; getUndoEntryNames(count?: number): Generator; getUndoEntries(count?: number): Generator; getRedoEntryNames(count?: number): Generator; getRedoEntries(count?: number): Generator; /** Event emitted when a transaction occurs, needed for remote collaboration */ readonly onTransaction: TypedEvent; private emitTransaction; }