import type { Undoable } from "./Undoable"; import type { UndoHistoryBase } from "./UndoHistoryBase"; import type { Observable } from "rxjs"; export declare abstract class UndoHistory implements UndoHistoryBase { abstract add(undoable: Undoable): void; abstract clear(): void; abstract undo(): void; abstract redo(): void; abstract getUndo(): ReadonlyArray; abstract getRedo(): ReadonlyArray; abstract undosObservable(): Observable; abstract redosObservable(): Observable; abstract getLastUndo(): Undoable | undefined; abstract getLastRedo(): Undoable | undefined; abstract getLastUndoMessage(): string | undefined; abstract getLastRedoMessage(): string | undefined; abstract getLastOrEmptyUndoMessage(): string; abstract getLastOrEmptyRedoMessage(): string; abstract getSizeMax(): number; abstract setSizeMax(max: number): void; abstract get considersEqualCmds(): boolean; abstract size(): [undos: number, redos: number]; abstract sizeObservable(): Observable<[undos: number, redos: number]>; }