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 { static readonly Events: IModelServiceEvents; session(): ConvergenceSession; isResyncing(): boolean; query(query: string): Promise>; isOpen(id: string): boolean; isOpening(id: string): boolean; open(id: string): Promise; openAutoCreate(options: IAutoCreateModelOptions): Promise; create(options: ICreateModelOptions): Promise; remove(id: string): Promise; history(id: string): Promise; permissions(id: string): ModelPermissionManager; subscribeOffline(modelId: string | string[]): Promise; unsubscribeOffline(modelId: string | string[]): Promise; setOfflineSubscription(modelIds: string[]): Promise; getOfflineSubscriptions(): Promise; getOfflineModelMetaData(): Promise; }