@convergence/convergence
Version:
Convergence JavaScript Client
26 lines (25 loc) • 1.1 kB
TypeScript
import { ConvergenceEventEmitter, IConvergenceEvent } from "../../util";
import { Path, PathElement } from "../Path";
import { ModelReference, ReferenceFilter } from "../reference";
import { RealTimeModel } from "./RealTimeModel";
import { ObservableElement, ObservableElementEvents } from "../observable/ObservableElement";
import { RealTimeContainerElement } from "./RealTimeContainerElement";
export interface RealTimeElementEvents extends ObservableElementEvents {
}
export declare abstract class RealTimeElement<T = any> extends ConvergenceEventEmitter<IConvergenceEvent> implements ObservableElement<T> {
static readonly Events: RealTimeElementEvents;
model(): RealTimeModel;
id(): string;
type(): string;
path(): Path;
parent(): RealTimeContainerElement;
relativePath(): PathElement;
removeFromParent(): void;
isDetached(): boolean;
isAttached(): boolean;
value(): T;
value(value: T): void;
toJSON(): any;
reference(sessionId: string, key: string): ModelReference;
references(referenceFilter?: ReferenceFilter): ModelReference[];
}