@convergence/convergence
Version:
Convergence JavaScript Client
31 lines (30 loc) • 1.03 kB
TypeScript
import { IConvergenceEvent, ConvergenceEventEmitter } from "../../util";
import { ReferenceType } from "./ReferenceType";
import { DomainUser } from "../../identity";
import { RealTimeElement, RealTimeModel } from "../rt";
export interface ModelReferenceTypes {
[key: string]: ReferenceType;
readonly INDEX: ReferenceType;
readonly RANGE: ReferenceType;
readonly PROPERTY: ReferenceType;
readonly ELEMENT: ReferenceType;
}
export interface ModelReferenceEvents {
readonly SET: string;
readonly CLEARED: string;
readonly DISPOSED: string;
}
export declare abstract class ModelReference<V = any> extends ConvergenceEventEmitter<IConvergenceEvent> {
static readonly Events: ModelReferenceEvents;
static readonly Types: ModelReferenceTypes;
type(): ReferenceType;
key(): string;
source(): RealTimeElement | RealTimeModel;
isLocal(): boolean;
user(): DomainUser;
sessionId(): string;
isDisposed(): boolean;
value(): V;
values(): V[];
isSet(): boolean;
}