import { HistoricalElement } from "./HistoricalElement"; import { HistoricalContainerElement } from "./HistoricalContainerElement"; import { ObservableObject, ObservableObjectEvents } from "../observable/ObservableObject"; import { Path, PathElement } from "../Path"; export interface HistoricalObjectEvents extends ObservableObjectEvents { } export declare class HistoricalObject extends HistoricalElement<{ [key: string]: any; }> implements HistoricalContainerElement<{ [key: string]: any; }>, ObservableObject { static readonly Events: HistoricalObjectEvents; get(key: string): HistoricalElement; keys(): string[]; hasKey(key: string): boolean; forEach(callback: (model: HistoricalElement, key?: string) => void): void; elementAt(path: Path): HistoricalElement; elementAt(...elements: PathElement[]): HistoricalElement; }