import { API, DynamicPlatformPlugin, Logger, LogLevel, PlatformAccessory, PlatformConfig } from 'homebridge';
import NodePersist from 'node-persist';
import { IErrorDetail } from 'ts-interface-checker';
import { HomeConnectAPI } from './api.js';
import { ApplianceBase } from './appliance-generic.js';
import { ConfigSchemaData } from './homebridge-ui/schema-data.js';
import { PrefixLogger } from './logger.js';
import { ConfigAppliances, ConfigPlugin } from './config-types.js';
import { HomeAppliance } from './api-types.js';
interface AccessoryLinkage {
    accessory: PlatformAccessory;
    implementation?: ApplianceBase;
}
export declare class HomeConnectPlatform implements DynamicPlatformPlugin {
    readonly platformConfig: PlatformConfig;
    readonly hb: API;
    readonly makeUUID: (data: string) => string;
    readonly log: PrefixLogger;
    configPlugin: ConfigPlugin;
    configAppliances: ConfigAppliances;
    readonly accessories: Map<string, AccessoryLinkage>;
    persist?: NodePersist.LocalStorage;
    schema?: ConfigSchemaData;
    homeconnect?: HomeConnectAPI;
    constructor(log: Logger, platformConfig: PlatformConfig, hb: API);
    configureAccessory(accessory: PlatformAccessory): void;
    finishedLaunching(): Promise<void>;
    checkConfig(): [ConfigPlugin, ConfigAppliances];
    logCheckerValidation(level: LogLevel, errors?: IErrorDetail[] | null): void;
    preparePersistentStorage(): Promise<NodePersist.LocalStorage>;
    updateAppliances(): Promise<never>;
    addRemoveAccessories(appliances: HomeAppliance[]): Promise<void>;
}
export {};
//# sourceMappingURL=platform.d.ts.map