import { MqttClient } from 'mqtt';
import * as models from '../../models';
export declare class MQTTRequestClient extends models.AbstractRequestClient<MqttClient | undefined> {
    private readonly request;
    private readonly context;
    private responseTemplate;
    private promises;
    constructor(request: models.Request, context: models.ProcessorContext);
    get reportMessage(): string;
    get supportsStreaming(): boolean;
    private _nativeClient;
    get nativeClient(): MqttClient | undefined;
    private get publishTopics();
    private get subscribeTopics();
    connect(): Promise<MqttClient | undefined>;
    send(body?: unknown): Promise<void>;
    disconnect(err?: Error): void;
    private registerEvents;
    private getClientOptions;
    private subscribe;
    private publish;
    private toQoS;
}
