@convergence/convergence
Version:
Convergence JavaScript Client
47 lines (46 loc) • 2.65 kB
TypeScript
import { ConvergenceSession } from "../ConvergenceSession";
import { ConvergenceEventEmitter, IConvergenceEvent } from "../util";
import { RealTimeModel } from "./rt";
import { HistoricalModel } from "./historical";
import { ModelResult } from "./query";
import { ModelPermissionManager } from "./ModelPermissionManager";
import { ICreateModelOptions } from "./ICreateModelOptions";
import { IAutoCreateModelOptions } from "./IAutoCreateModelOptions";
import { PagedData } from "../util/";
import { IModelMetaData } from "../storage";
export interface IModelServiceEvents {
readonly OFFLINE_MODEL_SYNC_STARTED: "offline_model_sync_started";
readonly OFFLINE_MODEL_SYNC_COMPLETED: "offline_model_sync_completed";
readonly OFFLINE_MODEL_SYNC_ERROR: "offline_model_sync_error";
readonly OFFLINE_MODEL_STATUS_CHANGED: "offline_model_status_changed";
readonly OFFLINE_MODEL_UPDATED: "offline_model_updated";
readonly OFFLINE_MODEL_DELETED: "offline_model_deleted";
readonly OFFLINE_MODEL_PERMISSIONS_REVOKED: "offline_model_permissions_revoked";
readonly OFFLINE_MODELS_DOWNLOAD_PENDING: "offline_models_download_pending";
readonly OFFLINE_MODELS_DOWNLOAD_PROGRESS: "offline_models_download_progress";
readonly OFFLINE_MODELS_DOWNLOAD_COMPLETED: "offline_models_download_completed";
readonly OFFLINE_MODELS_SYNC_STARTED: "offline_models_sync_started";
readonly OFFLINE_MODELS_SYNC_PROGRESS: "offline_models_sync_progress";
readonly OFFLINE_MODELS_SYNC_COMPLETED: "offline_models_sync_completed";
readonly OFFLINE_MODELS_SYNC_ABORTED: "offline_models_sync_aborted";
}
export declare const ModelServiceEventConstants: IModelServiceEvents;
export declare class ModelService extends ConvergenceEventEmitter<IConvergenceEvent> {
static readonly Events: IModelServiceEvents;
session(): ConvergenceSession;
isResyncing(): boolean;
query(query: string): Promise<PagedData<ModelResult>>;
isOpen(id: string): boolean;
isOpening(id: string): boolean;
open(id: string): Promise<RealTimeModel>;
openAutoCreate(options: IAutoCreateModelOptions): Promise<RealTimeModel>;
create(options: ICreateModelOptions): Promise<string>;
remove(id: string): Promise<void>;
history(id: string): Promise<HistoricalModel>;
permissions(id: string): ModelPermissionManager;
subscribeOffline(modelId: string | string[]): Promise<void>;
unsubscribeOffline(modelId: string | string[]): Promise<void>;
setOfflineSubscription(modelIds: string[]): Promise<void>;
getOfflineSubscriptions(): Promise<string[]>;
getOfflineModelMetaData(): Promise<IModelMetaData[]>;
}