import { Logger } from '@nestjs/common/services/logger.service'; import { Observable } from 'rxjs'; import { MqttEvents, MqttStatus } from '../events/mqtt.events'; import { MqttOptions, ReadPacket, WritePacket } from '../interfaces'; import { MqttRecordOptions } from '../record-builders/mqtt.record-builder'; import { ClientProxy } from './client-proxy'; type MqttClient = any; /** * @publicApi */ export declare class ClientMqtt extends ClientProxy { protected readonly options: Required['options']; protected readonly logger: Logger; protected readonly subscriptionsCount: Map; protected readonly url: string; protected mqttClient: MqttClient | null; protected connectionPromise: Promise | null; protected isInitialConnection: boolean; protected isReconnecting: boolean; protected pendingEventListeners: Array<{ event: keyof MqttEvents; callback: MqttEvents[keyof MqttEvents]; }>; constructor(options: Required['options']); getRequestPattern(pattern: string): string; getResponsePattern(pattern: string): string; close(): Promise; connect(): Promise; mergeCloseEvent(instance: MqttClient, source$: Observable): Observable; createClient(): MqttClient; registerErrorListener(client: MqttClient): void; registerOfflineListener(client: MqttClient): void; registerReconnectListener(client: MqttClient): void; registerDisconnectListener(client: MqttClient): void; registerCloseListener(client: MqttClient): void; registerConnectListener(client: MqttClient): void; on(event: EventKey, callback: EventCallback): void; unwrap(): T; createResponseCallback(): (channel: string, buffer: Buffer) => any; protected publish(partialPacket: ReadPacket, callback: (packet: WritePacket) => any): () => void; protected dispatchEvent(packet: ReadPacket): Promise; protected unsubscribeFromChannel(channel: string): void; protected initializeSerializer(options: MqttOptions['options']): void; protected mergePacketOptions(requestOptions?: MqttRecordOptions): MqttRecordOptions | undefined; } export {};