import { API, DynamicPlatformPlugin, Logger, LogLevel, PlatformAccessory, PlatformConfig } from 'homebridge';
import { IErrorDetail } from 'ts-interface-checker';
import { AEGAccessory } from './accessory.js';
import { AEGRobot } from './aeg-robot.js';
import { Config } from './config-types.js';
import { PrefixLogger } from './logger.js';
interface AccessoryLinkage {
    accessory: PlatformAccessory;
    implementation?: AEGAccessory;
}
export declare class AEGPlatform implements DynamicPlatformPlugin {
    readonly platformConfig: PlatformConfig;
    readonly hb: API;
    readonly makeUUID: typeof import("hap-nodejs/dist/lib/util/uuid.js").generate;
    readonly log: PrefixLogger;
    config: Config;
    readonly accessories: Map<string, AccessoryLinkage>;
    constructor(log: Logger, platformConfig: PlatformConfig, hb: API);
    configureAccessory(accessory: PlatformAccessory): void;
    finishedLaunching(): Promise<void>;
    checkConfig(): void;
    logCheckerValidation(level: LogLevel, errors: IErrorDetail[] | null): void;
    addConfiguredAccessories(): Promise<void>;
    addRobotAccessory(robotPromise: Promise<AEGRobot>): Promise<void>;
    removeUnconfiguredAccessories(): void;
    setAccessoryErrors(cause: unknown): void;
}
export {};
//# sourceMappingURL=platform.d.ts.map