import { TypedEvent } from '@node-projects/base-custom-webcomponent'; import { IService } from '../IService.js'; import { ChangeGroup } from './ChangeGroup.js'; import { IUndoChangeEvent, UndoChangeSource } from './IUndoChangeEvent.js'; import { ITransactionItem } from './ITransactionItem.js'; export interface IUndoService extends IService { openGroup(title: string, source?: UndoChangeSource): ChangeGroup; execute(item: ITransactionItem, source?: UndoChangeSource): void; canUndo(): boolean; canRedo(): boolean; clear(): any; clearTransactionstackIfNotEmpty(): any; undo(source?: UndoChangeSource): any; redo(source?: UndoChangeSource): any; redoTo(transactionItems: ITransactionItem[]): any; getUndoEntryNames(count?: number): Generator; getUndoEntries(count?: number): Generator; getRedoEntryNames(count?: number): Generator; getRedoEntries(count?: number): Generator; readonly undoCount: number; readonly redoCount: number; readonly onTransaction: TypedEvent; }