import { HomebridgePluginLogging } from "./util.js";
export declare class MqttClient {
    private brokerUrl;
    private isConnected;
    private reconnectInterval;
    private log;
    private mqtt;
    private subscriptions;
    private topicPrefix;
    constructor(brokerUrl: string, topicPrefix: string, log: HomebridgePluginLogging, reconnectInterval?: number);
    private configure;
    publish(id: string, topic: string, message: string): void;
    subscribe(id: string, topic: string, callback: (cbBuffer: Buffer) => void): void;
    subscribeGet(id: string, topic: string, type: string, getValue: () => string, log?: HomebridgePluginLogging): void;
    subscribeSet(id: string, topic: string, type: string, setValue: (value: string, rawValue: string) => Promise<void> | void, log?: HomebridgePluginLogging): void;
    unsubscribe(id: string, topic: string): void;
    private expandTopic;
}
