import BrokerMessage from '../domain/BrokerMessage'; export interface MessageListener { onMessage(brokerClient: BrokerClient, message: BrokerMessage): void; } export default class BrokerClient { private brokerSocket; private brokerURL; private connectionName; private apiKey; private connected; private connectPromise?; private pingTask?; private messageMap; private fragmentedMessages; private messageListener?; private timeoutDuration?; constructor(brokerURL: string, connectionName: string, apiKey: string, messageListener?: MessageListener); private _normalizeBrokerUrl; private _clearState; getFullConnectionName(): string; connect(timeoutDuration?: number): Promise; private _sendPing; private _doReceive; private _doSend; send(msg: BrokerMessage, timeoutDuration?: number): Promise; sendAndGetResponse(msg: BrokerMessage, timeoutDuration?: number): Promise; close(code: number, reason: string): void; }