import { Transport, TransportType } from './Transport'; import { CallRequestDTO } from '../CallRequestDTO'; import { CallResponseDTO } from '../CallResponseDTO'; import { RPCClientIdentity } from '../RPCClientIdentity'; import { UnsubscribeCallback } from '../types'; import { RPCClientOptions, CallOptions } from '../RPCClient'; interface WebSocketTransportOptions { host: string; identity?: RPCClientIdentity; onConnectionStatusChange?: (connected: boolean) => void; rpcOptions: RPCClientOptions; } export declare class WebSocketTransport implements Transport { readonly options: WebSocketTransportOptions; private connectedToRemote; private readonly host; private identity?; private identityConfirmationPromise?; private resolveIdentityConfirmation?; private pendingPromisesForResponse; private reconnectAttempt; private reconnectTimeoutId?; private serverMessageHandlers; private websocket?; private websocketId?; readonly name = "WebSocketTransport"; readonly type = TransportType['websocket']; constructor(options: WebSocketTransportOptions); isConnected: () => boolean; connect: () => void; disconnect: () => void; sendClientMessageToServer: (msg: any) => void; sendRequest: (call: CallRequestDTO, opts: CallOptions) => Promise; setIdentity: (identity?: RPCClientIdentity) => Promise; subscribeToServerMessages: (handler: (msg: any) => void) => UnsubscribeCallback; unsubscribeFromServerMessages: (handler: (msg: any) => void) => void; clearAllServerMessageHandlers: () => void; destroy: () => void; private _connect; private _disconnect; private handleServerMessage; private handleWebSocketMsg; private resetConnection; private sendCall; private setConnectedToRemote; private calculateReconnectDelay; private scheduleReconnect; } export {}; //# sourceMappingURL=WebSocketTransport.d.ts.map