@docsvision/webclient
Version:
Type definitions for DocsVision WebClient scripts and extensions.
26 lines (25 loc) • 1.56 kB
TypeScript
import { IRealTimeCommunicationMessage } from "@docsvision/webclient/System/IRealTimeCommunicationMessage";
import { RealtimeServerSender } from "@docsvision/webclient/System/RealtimeServerSender";
import { RealtimeSubscriber } from "@docsvision/webclient/System/RealtimeSubscriber";
import { NotyDef } from '@docsvision/webclient/System/PopupNotification';
export interface IRealtimeCommunicationService {
sendToServer<T>(message: IRealTimeCommunicationMessage<T>): void;
sendBetweenTabs<T>(message: IRealTimeCommunicationMessage<T>, targetTabs?: string[], sync?: boolean): void;
sendToTab<T>(tabId: string, message: IRealTimeCommunicationMessage<T>): void;
sendToMasterTab<T>(message: IRealTimeCommunicationMessage<T>): void;
hasSubscribers(messageType: string): boolean;
subscribe<T>(messageType: string, callback: RealtimeSubscriber<T>): void;
unsubscribe<T>(messageType: string, callback: RealtimeSubscriber<T>): void;
setServerSender(messageType: string, processor: RealtimeServerSender<any>): void;
getServerSender(messageType: string): void;
initialized(): boolean;
readonly isMasterTab: boolean;
readonly currentTabId: string;
readonly masterTabId: string | undefined;
readonly sessionId: string;
popupNotification?: NotyDef;
}
export declare type $RealtimeCommunicationService = {
realtimeCommunicationService: IRealtimeCommunicationService;
};
export declare const $RealtimeCommunicationService: string | ((model?: $RealtimeCommunicationService) => IRealtimeCommunicationService);