import type { API, DynamicPlatformPlugin, HAP, Logging, PlatformAccessory, PlatformConfig } from "homebridge";
import { type Dispatcher } from "undici";
import { FeatureOptions } from "homebridge-plugin-utils";
import { type HydrawiseOptions } from "./hydrawise-options.js";
import { MqttClient, type Nullable } from "homebridge-plugin-utils";
import { HydrawiseController } from "./hydrawise-controller.js";
export declare class HydrawisePlatform implements DynamicPlatformPlugin {
    private readonly accessories;
    private account;
    readonly api: API;
    private dispatcher?;
    readonly featureOptions: FeatureOptions;
    config: HydrawiseOptions;
    readonly configuredDevices: {
        [index: string]: HydrawiseController | undefined;
    };
    readonly hap: HAP;
    readonly log: Logging;
    readonly mqtt: Nullable<MqttClient>;
    constructor(log: Logging, config: PlatformConfig | undefined, api: API);
    configureAccessory(accessory: PlatformAccessory): void;
    private configureHydrawise;
    private configureController;
    private removeAccessory;
    private initNetworking;
    retrieve(endpoint: string, params?: Record<string, string>): Promise<Nullable<Dispatcher.ResponseData<unknown>>>;
    debug(message: string, ...parameters: unknown[]): void;
}
