import { Equipment } from './equipment.js';
import { Log } from '../tools/log.js';
export declare class EconetApi {
    readonly log: Log;
    private readonly email;
    private readonly password;
    readonly storageFilePath: string;
    private readonly debugMQTT;
    private _auth?;
    private retryIndex;
    readonly equipments: Map<string, Equipment>;
    private mqttClient;
    private shouldReconnect;
    private isReconnecting;
    private reconnectCount;
    private idleMQTTTimer;
    constructor(log: Log, email: string, password: string, storageFilePath: string, debugMQTT: boolean);
    static connect(log: Log, email: string, password: string, storageFilePath: string, debugMQTT: boolean): Promise<EconetApi>;
    teardown(): void;
    publish(payload: {
        [key: string]: number;
    }, deviceId: string, serialNumber: string): void;
    private get auth();
    private set auth(value);
    private httpRequest;
    private retryHTTPIfPossible;
    private authenticate;
    private mqttConnect;
    private mqttSubscribe;
    private mqttMessageReceived;
    private mqttConnectionClosed;
    private resetIdleMQTTTimer;
    private mqttReconnect;
    private getLocations;
    private saveMQTT;
    private logDebug;
    private desensitize;
}
