/// import Status from "./Status"; import { EventEmitter } from "events"; import { Logger } from "../log/Logger"; export interface InfobipGateway { status: Status; connect(isReconnect: boolean): void; disconnect(): void; send(message: any): void; setLogger(logger: Logger): void; } export declare class InfobipGatewayImpl implements InfobipGateway { private eventEmitter; private logger; private token; status: Status; private ws; private retry; private heartbeat; private heartbeatCheck; private heartbeatStartTime; private readonly deviceInfo; private portunusHost; private portunusInstanceHash; private decodedToken; constructor(eventEmitter: EventEmitter, logger: Logger, token: string); connect(isReconnect?: boolean): Promise; disconnect(): void; send(data: any): void; setLogger(logger: Logger): void; private encodeDeviceInfo; private generatePortunusHost; private evaluatePortunusHost; private checkIfAvailable; private generatePortunusUrl; private logSendingMessage; private onOpen; private onMessage; private sendHeartbeatResponse; private logReceivedMessage; private onClose; private cleanup; private onError; private scheduleHeartbeat; private scheduleHeartbeatCheck; private initRetry; private generateDeviceInfo; private base64EncodeUrl; private cancelHeartbeatCheck; private measureHeartbeatRate; }