import { ChangeSet, ChangeDesc, Transaction, EditorSelection } from "../../state/src"; declare class Item { readonly map: ChangeSet; readonly inverted: ChangeSet | null; readonly selection: EditorSelection | null; constructor(map: ChangeSet, inverted?: ChangeSet | null, selection?: EditorSelection | null); readonly isChange: boolean; } export declare const enum ItemFilter { OnlyChanges = 0, Any = 1 } declare type Branch = ReadonlyArray; export declare const enum PopTarget { Done = 0, Undone = 1 } export declare class HistoryState { readonly done: Branch; readonly undone: Branch; private readonly prevTime; private readonly prevUserEvent; private constructor(); resetTime(): HistoryState; addChanges(changes: ChangeSet, inverted: ChangeSet | null, selection: EditorSelection, time: number, userEvent: string | undefined, newGroupDelay: number, maxLen: number): HistoryState; addMapping(map: ChangeSet, maxLen: number): HistoryState; canPop(done: PopTarget, only: ItemFilter): boolean; pop(done: PopTarget, only: ItemFilter, transaction: Transaction, maxLen: number): { transaction: Transaction; state: HistoryState; }; eventCount(done: PopTarget, only: ItemFilter): number; static empty: HistoryState; } export {};