import type { API, DynamicPlatformPlugin, HAP, Logging, PlatformAccessory, PlatformConfig } from "homebridge";
import { EspHomeClient } from "esphome-client";
import { RatgdoAccessory } from "./ratgdo-device.js";
import { FeatureOptions, MqttClient, type Nullable } from "homebridge-plugin-utils";
import { type RatgdoOptions } from "./ratgdo-options.js";
export declare class RatgdoPlatform implements DynamicPlatformPlugin {
    private readonly accessories;
    readonly api: API;
    private discoveredDevices;
    private listeners;
    readonly espHomeApi: {
        [index: string]: EspHomeClient;
    };
    private readonly heartbeatTimers;
    featureOptions: FeatureOptions;
    config: RatgdoOptions;
    readonly configOptions: string[];
    readonly configuredDevices: {
        [index: string]: RatgdoAccessory | undefined;
    };
    readonly hap: HAP;
    readonly log: Logging;
    readonly mqtt: Nullable<MqttClient>;
    constructor(log: Logging, config: PlatformConfig | undefined, api: API);
    configureAccessory(accessory: PlatformAccessory): void;
    private configureRatgdo;
    private discoverRatgdoDevice;
    private configureGdo;
    private beat;
    debug(message: string, ...parameters: unknown[]): void;
}
