import { ConvergenceSession } from "../../ConvergenceSession"; import { HistoricalObject } from "./HistoricalObject"; import { HistoricalElement } from "./HistoricalElement"; import { ObservableModel, ObservableModelEvents } from "../observable/ObservableModel"; import { Path, PathElement } from "../Path"; export interface HistoricalModelEvents extends ObservableModelEvents { readonly TARGET_VERSION_CHANGED: string; readonly TRANSITION_START: string; readonly TRANSITION_END: string; } export declare class HistoricalModel implements ObservableModel { static readonly Events: HistoricalModelEvents; session(): ConvergenceSession; collectionId(): string; modelId(): string; time(): Date; minTime(): Date; maxTime(): Date; createdTime(): Date; version(): number; minVersion(): number; maxVersion(): number; targetVersion(): number; isTransitioning(): boolean; root(): HistoricalObject; elementAt(path: Path): HistoricalElement; elementAt(...elements: PathElement[]): HistoricalElement; playTo(version: number): Promise; playToTime(time: Date): Promise; forward(delta?: number): Promise; backward(delta?: number): Promise; }