@convergence/convergence
Version:
Convergence JavaScript Client
25 lines (24 loc) • 916 B
TypeScript
import { Path, PathElement } from "../Path";
import { IConvergenceEvent } from "../../util/IConvergenceEvent";
import { ConvergenceEventEmitter } from "../../util/ConvergenceEventEmitter";
import { ObservableModel } from "./ObservableModel";
import { ObservableContainerElement } from "./ObservableContainerElement";
export interface ObservableElementEvents {
readonly VALUE: string;
readonly DETACHED: string;
readonly MODEL_CHANGED: string;
readonly REFERENCE: string;
}
export declare const ObservableElementEventConstants: ObservableElementEvents;
export interface ObservableElement<T> extends ConvergenceEventEmitter<IConvergenceEvent> {
id(): string;
type(): string;
path(): Path;
relativePath(): PathElement;
parent(): ObservableContainerElement<any>;
isDetached(): boolean;
isAttached(): boolean;
value(): T;
model(): ObservableModel;
toJSON(): any;
}