import { ReflectiveInjector } from "injection-js"; import { IModule, ModuleConfiguration } from "../core/module"; import { IFormData } from "../fileops/fileops.interfaces"; import { Channel } from "./channel"; import { IWebSocket, IWebSocketBuilder } from "./realTime.interfaces"; import { watch } from "./watch"; export declare const customEventCode = 4999; declare module "../dataops/dataset" { interface Dataset { webSocket: IWebSocket; watch: typeof watch; } } declare module "../fileops/fileset" { interface Fileset, T, D, F> { webSocket: IWebSocket; watch: typeof watch; } } export declare class RealTimeModule implements IModule { private websocketBuilder; private injector; private websocket; private dispatcher; private tokenManager; private tokensGivenOnInit; private reconnectTimeout; constructor(websocketBuilder: IWebSocketBuilder); init(coreInjector: ReflectiveInjector): Promise; private connectWhenTokenIsAvailable; getConfig(): { [moduleName: string]: ModuleConfiguration; }; channel(name: string): Channel; terminate(): Promise; private listenToEvents; private refreshToken; private throwUmsErrorIfNeeded; private connect; private reconnect; private closeConnection; }