import GcPdfViewer from "../.."; import { ClientMessageType, ClientMessage, ClientRequestType } from "./ClientMessage"; import { ISupportApi } from "../ISupportApi"; import { LogLevel } from "../../SharedDocuments/types"; /** * Represent a persistent connection between client and server using Web Sockets. * */ export declare class PersistentConnection { private _host; private _supportApi; private _clientId; private _reconnectInterval?; private _webSocketUrl?; private _isLegacyServer?; private _connection; private _legacyServerHub; private _pendingResponseHash; private _connected; private _legacyServerPromise; private _netCoreServerPromise; /** * PersistentConnection class constructor. * @param _host * @param _clientID * @param apiUrl */ constructor(_host: GcPdfViewer, _supportApi: ISupportApi, _clientId: string, _reconnectInterval?: number | undefined, _webSocketUrl?: string | undefined, _isLegacyServer?: boolean | undefined); get logLevel(): LogLevel; get clientId(): string; get isConnected(): boolean; /** * Start persistent Web Socket connection. * */ start(): Promise; /** * Stop persistent Web Socket connection. * */ stop(): void; /** * Send message without waiting for response. * @param messageData */ sendMessage(type: ClientMessageType, messageData: Partial): Promise; /** * Send request message and wait for response. * @param messageData */ sendRequest(type: ClientRequestType, messageData?: Partial): Promise; logError(method: string, message: string): void; logDebug(method: string, message: string): void; private onServerMessage; initLegacyServer(): Promise; initNetCoreServer(): Promise; private initNetCoreServerInternal; private initLegacyServerInternal; }