import { Logger } from 'homebridge';
import { Equipment } from './equipment.js';
export declare const WATER_HEATER = "WH";
export declare const THERMOSTAT = "HVAC";
export declare class PyeconetError extends Error {
    constructor(message: string);
}
export declare class InvalidCredentialsError extends PyeconetError {
    constructor(message: string);
}
export declare class InvalidResponseFormat extends PyeconetError {
    constructor(message: string);
}
export declare class GenericHTTPError extends PyeconetError {
    constructor(message: string);
}
export declare class EconetApi {
    readonly log: Logger;
    private readonly email;
    private readonly verbose;
    private _userToken;
    private _accountId;
    private _equipment;
    private _mqttClient;
    constructor(log: Logger, email: string, verbose: boolean);
    get userToken(): string | null;
    get accountId(): string | null;
    static login(log: Logger, email: string, password: string, verbose: boolean): Promise<EconetApi>;
    private _authenticate;
    private _getClientId;
    subscribe(): void;
    publish(payload: {
        [key: string]: number;
    }, deviceId: string, serialNumber: string): void;
    unsubscribe(): void;
    private _getLocation;
    getEquipment(): Promise<void>;
    getEquipmentByType(types: string[]): Promise<Map<string, Equipment[]>>;
}
