///
import { Logger } from '@nestjs/common/services/logger.service';
import { Observable } from 'rxjs';
import { MqttClient } from '../external/mqtt-client.interface';
import { MqttOptions, ReadPacket, WritePacket } from '../interfaces';
import { MqttRecordOptions } from '../record-builders/mqtt.record-builder';
import { ClientProxy } from './client-proxy';
/**
* @publicApi
*/
export declare class ClientMqtt extends ClientProxy {
protected readonly options: MqttOptions['options'];
protected readonly logger: Logger;
protected readonly subscriptionsCount: Map;
protected readonly url: string;
protected mqttClient: MqttClient;
protected connection: Promise;
constructor(options: MqttOptions['options']);
getRequestPattern(pattern: string): string;
getResponsePattern(pattern: string): string;
close(): void;
connect(): Promise;
mergeCloseEvent(instance: MqttClient, source$: Observable): Observable;
createClient(): MqttClient;
handleError(client: MqttClient): void;
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;
}