UNPKG

homebridge-homeconnect

Version:

A Homebridge plugin that connects Home Connect appliances to Apple HomeKit

1,153 lines 89.8 kB
import { ApplianceBase, ApplianceGeneric } from './appliance-generic.js';
declare const ApplianceFreezer_base: {
    new (...args: any[]): {
        initHasChildLock(): Promise<void>;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
        powerService: import("hap-nodejs").Service;
    };
} & {
    new (...args: any[]): {
        readonly modeService: Partial<Record<import("./api-value.js").SettingKey, import("hap-nodejs").Service>>;
        readonly modes: Partial<Record<import("./api-value.js").SettingKey, string>>;
        initHasModes(): Promise<void>;
        hasMode(settingKey: import("./api-value.js").SettingKey, name: string): void;
        addModeSwitch(key: import("./api-value.js").SettingKey, name: string): import("hap-nodejs").Service;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        lightService: import("hap-nodejs").Service[];
        initHasLight(): Promise<void>;
        addLightIfSupported(type: string, keys: {
            on: "BSH.Common.Setting.AmbientLightEnabled" | "Cooking.Common.Setting.Lighting" | "Refrigeration.Common.Setting.Light.External.Power" | "Refrigeration.Common.Setting.Light.Internal.Power";
            brightness: "BSH.Common.Setting.AmbientLightBrightness" | "Cooking.Common.Setting.LightingBrightness" | "Refrigeration.Common.Setting.Light.External.Brightness" | "Refrigeration.Common.Setting.Light.Internal.Brightness";
        } & {
            custom?: "BSH.Common.Setting.AmbientLightCustomColor" | undefined;
            colourtempenum?: "Cooking.Hood.Setting.ColorTemperature" | undefined;
            colourtempperc?: "Cooking.Hood.Setting.ColorTemperaturePercent" | undefined;
            colour?: "BSH.Common.Setting.AmbientLightColor" | undefined;
        }): Promise<import("hap-nodejs").Service | undefined>;
        refreshLight(type: string, keys: {
            on: "BSH.Common.Setting.AmbientLightEnabled" | "Cooking.Common.Setting.Lighting" | "Refrigeration.Common.Setting.Light.External.Power" | "Refrigeration.Common.Setting.Light.Internal.Power";
            brightness: "BSH.Common.Setting.AmbientLightBrightness" | "Cooking.Common.Setting.LightingBrightness" | "Refrigeration.Common.Setting.Light.External.Brightness" | "Refrigeration.Common.Setting.Light.Internal.Brightness";
        } & {
            custom?: "BSH.Common.Setting.AmbientLightCustomColor" | undefined;
            colourtempenum?: "Cooking.Hood.Setting.ColorTemperature" | undefined;
            colourtempperc?: "Cooking.Hood.Setting.ColorTemperaturePercent" | undefined;
            colour?: "BSH.Common.Setting.AmbientLightColor" | undefined;
        }, settings: import("./has-light.js").LightSettings, active?: boolean): Promise<void>;
        addLight(type: string, settings: import("./has-light.js").LightSettings): import("hap-nodejs").Service;
        updateLightHC(type: string, settings: import("./has-light.js").LightSettings, service: import("hap-nodejs").Service, value: import("./has-light.js").UpdateLightHCValue): Promise<void>;
        addLightOn(type: string, settings: import("./has-light.js").LightSettings<"on">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightOn(type: string, settings: import("./has-light.js").LightSettings<"on">, on: boolean): Promise<void>;
        addLightBrightness(type: string, settings: import("./has-light.js").LightSettings<"brightness"> | import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightBrightness(type: string, settings: import("./has-light.js").LightSettings<"brightness">, brightness: number): Promise<void>;
        addLightColourTemp(type: string, settings: import("./has-light.js").LightSettings<"colourtempperc"> | import("./has-light.js").LightSettings<"colourtempenum">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightColourTemp(type: string, settings: import("./has-light.js").LightSettings<"colourtempperc"> | import("./has-light.js").LightSettings<"colourtempenum">, mirek: number): Promise<void>;
        addLightColour(type: string, settings: import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightColour(type: string, settings: import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, hue?: number, saturation?: number, value?: number): Promise<void>;
        toRGB(hue: number, saturation: number, value: number): string;
        fromRGB(rgbHex: string): import("./has-light.js").HSV;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly eventService: import("hap-nodejs").Service[];
        labelService?: import("hap-nodejs").Service;
        readonly events: import("./has-events.js").EventDescription[];
        initHasEvents(): Promise<void>;
        hasEvent(event: keyof import("./api-value-types.js").EventEventValues, name: string): void;
        addProgrammableSwitchService({ event, name }: import("./has-events.js").EventDescription): import("hap-nodejs").Service;
        addLabelService(): import("hap-nodejs").Service;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly doorService: Partial<Record<import("./has-door.js").DoorStatusKey, import("hap-nodejs").Service>>;
        readonly doors: Partial<Record<import("./has-door.js").DoorStatusKey, string>>;
        initHasDoor(): Promise<void>;
        hasDoor(statusKey: import("./has-door.js").DoorStatusKey, name: string): void;
        addDoor(key: import("./has-door.js").DoorStatusKey, name: string, subtype?: string): import("hap-nodejs").Service;
        addDoorControl(service: import("hap-nodejs").Service, supportsOpen: boolean, supportsPartly: boolean): void;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly powerService: import("hap-nodejs").Service;
        defaultOffValue?: import("./api-value-types.js").PowerState;
        initHasPower(): Promise<void>;
        updatePowerHK(): void;
        hasPowerOff(offValue: import("./api-value-types.js").PowerState): void;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & typeof ApplianceBase;
export declare class ApplianceFreezer extends ApplianceFreezer_base {
    constructor(...args: ConstructorParameters<typeof ApplianceGeneric>);
}
declare const ApplianceFridgeFreezer_base: {
    new (...args: any[]): {
        initHasChildLock(): Promise<void>;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
        powerService: import("hap-nodejs").Service;
    };
} & {
    new (...args: any[]): {
        readonly modeService: Partial<Record<import("./api-value.js").SettingKey, import("hap-nodejs").Service>>;
        readonly modes: Partial<Record<import("./api-value.js").SettingKey, string>>;
        initHasModes(): Promise<void>;
        hasMode(settingKey: import("./api-value.js").SettingKey, name: string): void;
        addModeSwitch(key: import("./api-value.js").SettingKey, name: string): import("hap-nodejs").Service;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        lightService: import("hap-nodejs").Service[];
        initHasLight(): Promise<void>;
        addLightIfSupported(type: string, keys: {
            on: "BSH.Common.Setting.AmbientLightEnabled" | "Cooking.Common.Setting.Lighting" | "Refrigeration.Common.Setting.Light.External.Power" | "Refrigeration.Common.Setting.Light.Internal.Power";
            brightness: "BSH.Common.Setting.AmbientLightBrightness" | "Cooking.Common.Setting.LightingBrightness" | "Refrigeration.Common.Setting.Light.External.Brightness" | "Refrigeration.Common.Setting.Light.Internal.Brightness";
        } & {
            custom?: "BSH.Common.Setting.AmbientLightCustomColor" | undefined;
            colourtempenum?: "Cooking.Hood.Setting.ColorTemperature" | undefined;
            colourtempperc?: "Cooking.Hood.Setting.ColorTemperaturePercent" | undefined;
            colour?: "BSH.Common.Setting.AmbientLightColor" | undefined;
        }): Promise<import("hap-nodejs").Service | undefined>;
        refreshLight(type: string, keys: {
            on: "BSH.Common.Setting.AmbientLightEnabled" | "Cooking.Common.Setting.Lighting" | "Refrigeration.Common.Setting.Light.External.Power" | "Refrigeration.Common.Setting.Light.Internal.Power";
            brightness: "BSH.Common.Setting.AmbientLightBrightness" | "Cooking.Common.Setting.LightingBrightness" | "Refrigeration.Common.Setting.Light.External.Brightness" | "Refrigeration.Common.Setting.Light.Internal.Brightness";
        } & {
            custom?: "BSH.Common.Setting.AmbientLightCustomColor" | undefined;
            colourtempenum?: "Cooking.Hood.Setting.ColorTemperature" | undefined;
            colourtempperc?: "Cooking.Hood.Setting.ColorTemperaturePercent" | undefined;
            colour?: "BSH.Common.Setting.AmbientLightColor" | undefined;
        }, settings: import("./has-light.js").LightSettings, active?: boolean): Promise<void>;
        addLight(type: string, settings: import("./has-light.js").LightSettings): import("hap-nodejs").Service;
        updateLightHC(type: string, settings: import("./has-light.js").LightSettings, service: import("hap-nodejs").Service, value: import("./has-light.js").UpdateLightHCValue): Promise<void>;
        addLightOn(type: string, settings: import("./has-light.js").LightSettings<"on">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightOn(type: string, settings: import("./has-light.js").LightSettings<"on">, on: boolean): Promise<void>;
        addLightBrightness(type: string, settings: import("./has-light.js").LightSettings<"brightness"> | import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightBrightness(type: string, settings: import("./has-light.js").LightSettings<"brightness">, brightness: number): Promise<void>;
        addLightColourTemp(type: string, settings: import("./has-light.js").LightSettings<"colourtempperc"> | import("./has-light.js").LightSettings<"colourtempenum">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightColourTemp(type: string, settings: import("./has-light.js").LightSettings<"colourtempperc"> | import("./has-light.js").LightSettings<"colourtempenum">, mirek: number): Promise<void>;
        addLightColour(type: string, settings: import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightColour(type: string, settings: import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, hue?: number, saturation?: number, value?: number): Promise<void>;
        toRGB(hue: number, saturation: number, value: number): string;
        fromRGB(rgbHex: string): import("./has-light.js").HSV;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly eventService: import("hap-nodejs").Service[];
        labelService?: import("hap-nodejs").Service;
        readonly events: import("./has-events.js").EventDescription[];
        initHasEvents(): Promise<void>;
        hasEvent(event: keyof import("./api-value-types.js").EventEventValues, name: string): void;
        addProgrammableSwitchService({ event, name }: import("./has-events.js").EventDescription): import("hap-nodejs").Service;
        addLabelService(): import("hap-nodejs").Service;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly doorService: Partial<Record<import("./has-door.js").DoorStatusKey, import("hap-nodejs").Service>>;
        readonly doors: Partial<Record<import("./has-door.js").DoorStatusKey, string>>;
        initHasDoor(): Promise<void>;
        hasDoor(statusKey: import("./has-door.js").DoorStatusKey, name: string): void;
        addDoor(key: import("./has-door.js").DoorStatusKey, name: string, subtype?: string): import("hap-nodejs").Service;
        addDoorControl(service: import("hap-nodejs").Service, supportsOpen: boolean, supportsPartly: boolean): void;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly powerService: import("hap-nodejs").Service;
        defaultOffValue?: import("./api-value-types.js").PowerState;
        initHasPower(): Promise<void>;
        updatePowerHK(): void;
        hasPowerOff(offValue: import("./api-value-types.js").PowerState): void;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & typeof ApplianceBase;
export declare class ApplianceFridgeFreezer extends ApplianceFridgeFreezer_base {
    constructor(...args: ConstructorParameters<typeof ApplianceGeneric>);
}
declare const ApplianceRefrigerator_base: {
    new (...args: any[]): {
        initHasChildLock(): Promise<void>;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
        powerService: import("hap-nodejs").Service;
    };
} & {
    new (...args: any[]): {
        readonly modeService: Partial<Record<import("./api-value.js").SettingKey, import("hap-nodejs").Service>>;
        readonly modes: Partial<Record<import("./api-value.js").SettingKey, string>>;
        initHasModes(): Promise<void>;
        hasMode(settingKey: import("./api-value.js").SettingKey, name: string): void;
        addModeSwitch(key: import("./api-value.js").SettingKey, name: string): import("hap-nodejs").Service;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        lightService: import("hap-nodejs").Service[];
        initHasLight(): Promise<void>;
        addLightIfSupported(type: string, keys: {
            on: "BSH.Common.Setting.AmbientLightEnabled" | "Cooking.Common.Setting.Lighting" | "Refrigeration.Common.Setting.Light.External.Power" | "Refrigeration.Common.Setting.Light.Internal.Power";
            brightness: "BSH.Common.Setting.AmbientLightBrightness" | "Cooking.Common.Setting.LightingBrightness" | "Refrigeration.Common.Setting.Light.External.Brightness" | "Refrigeration.Common.Setting.Light.Internal.Brightness";
        } & {
            custom?: "BSH.Common.Setting.AmbientLightCustomColor" | undefined;
            colourtempenum?: "Cooking.Hood.Setting.ColorTemperature" | undefined;
            colourtempperc?: "Cooking.Hood.Setting.ColorTemperaturePercent" | undefined;
            colour?: "BSH.Common.Setting.AmbientLightColor" | undefined;
        }): Promise<import("hap-nodejs").Service | undefined>;
        refreshLight(type: string, keys: {
            on: "BSH.Common.Setting.AmbientLightEnabled" | "Cooking.Common.Setting.Lighting" | "Refrigeration.Common.Setting.Light.External.Power" | "Refrigeration.Common.Setting.Light.Internal.Power";
            brightness: "BSH.Common.Setting.AmbientLightBrightness" | "Cooking.Common.Setting.LightingBrightness" | "Refrigeration.Common.Setting.Light.External.Brightness" | "Refrigeration.Common.Setting.Light.Internal.Brightness";
        } & {
            custom?: "BSH.Common.Setting.AmbientLightCustomColor" | undefined;
            colourtempenum?: "Cooking.Hood.Setting.ColorTemperature" | undefined;
            colourtempperc?: "Cooking.Hood.Setting.ColorTemperaturePercent" | undefined;
            colour?: "BSH.Common.Setting.AmbientLightColor" | undefined;
        }, settings: import("./has-light.js").LightSettings, active?: boolean): Promise<void>;
        addLight(type: string, settings: import("./has-light.js").LightSettings): import("hap-nodejs").Service;
        updateLightHC(type: string, settings: import("./has-light.js").LightSettings, service: import("hap-nodejs").Service, value: import("./has-light.js").UpdateLightHCValue): Promise<void>;
        addLightOn(type: string, settings: import("./has-light.js").LightSettings<"on">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightOn(type: string, settings: import("./has-light.js").LightSettings<"on">, on: boolean): Promise<void>;
        addLightBrightness(type: string, settings: import("./has-light.js").LightSettings<"brightness"> | import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightBrightness(type: string, settings: import("./has-light.js").LightSettings<"brightness">, brightness: number): Promise<void>;
        addLightColourTemp(type: string, settings: import("./has-light.js").LightSettings<"colourtempperc"> | import("./has-light.js").LightSettings<"colourtempenum">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightColourTemp(type: string, settings: import("./has-light.js").LightSettings<"colourtempperc"> | import("./has-light.js").LightSettings<"colourtempenum">, mirek: number): Promise<void>;
        addLightColour(type: string, settings: import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, updateLightHC: (value: import("./has-light.js").UpdateLightHCValue) => void | Promise<void>): void;
        setLightColour(type: string, settings: import("./has-light.js").LightSettings<"colour" | "custom">, service: import("hap-nodejs").Service, hue?: number, saturation?: number, value?: number): Promise<void>;
        toRGB(hue: number, saturation: number, value: number): string;
        fromRGB(rgbHex: string): import("./has-light.js").HSV;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly eventService: import("hap-nodejs").Service[];
        labelService?: import("hap-nodejs").Service;
        readonly events: import("./has-events.js").EventDescription[];
        initHasEvents(): Promise<void>;
        hasEvent(event: keyof import("./api-value-types.js").EventEventValues, name: string): void;
        addProgrammableSwitchService({ event, name }: import("./has-events.js").EventDescription): import("hap-nodejs").Service;
        addLabelService(): import("hap-nodejs").Service;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly doorService: Partial<Record<import("./has-door.js").DoorStatusKey, import("hap-nodejs").Service>>;
        readonly doors: Partial<Record<import("./has-door.js").DoorStatusKey, string>>;
        initHasDoor(): Promise<void>;
        hasDoor(statusKey: import("./has-door.js").DoorStatusKey, name: string): void;
        addDoor(key: import("./has-door.js").DoorStatusKey, name: string, subtype?: string): import("hap-nodejs").Service;
        addDoorControl(service: import("hap-nodejs").Service, supportsOpen: boolean, supportsPartly: boolean): void;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly powerService: import("hap-nodejs").Service;
        defaultOffValue?: import("./api-value-types.js").PowerState;
        initHasPower(): Promise<void>;
        updatePowerHK(): void;
        hasPowerOff(offValue: import("./api-value-types.js").PowerState): void;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & typeof ApplianceBase;
export declare class ApplianceRefrigerator extends ApplianceRefrigerator_base {
    constructor(...args: ConstructorParameters<typeof ApplianceGeneric>);
}
declare const ApplianceWineCooler_base: {
    new (...args: any[]): {
        initHasChildLock(): Promise<void>;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
        powerService: import("hap-nodejs").Service;
    };
} & {
    new (...args: any[]): {
        readonly modeService: Partial<Record<import("./api-value.js").SettingKey, import("hap-nodejs").Service>>;
        readonly modes: Partial<Record<import("./api-value.js").SettingKey, string>>;
        initHasModes(): Promise<void>;
        hasMode(settingKey: import("./api-value.js").SettingKey, name: string): void;
        addModeSwitch(key: import("./api-value.js").SettingKey, name: string): import("hap-nodejs").Service;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly doorService: Partial<Record<import("./has-door.js").DoorStatusKey, import("hap-nodejs").Service>>;
        readonly doors: Partial<Record<import("./has-door.js").DoorStatusKey, string>>;
        initHasDoor(): Promise<void>;
        hasDoor(statusKey: import("./has-door.js").DoorStatusKey, name: string): void;
        addDoor(key: import("./has-door.js").DoorStatusKey, name: string, subtype?: string): import("hap-nodejs").Service;
        addDoorControl(service: import("hap-nodejs").Service, supportsOpen: boolean, supportsPartly: boolean): void;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & {
    new (...args: any[]): {
        readonly powerService: import("hap-nodejs").Service;
        defaultOffValue?: import("./api-value-types.js").PowerState;
        initHasPower(): Promise<void>;
        updatePowerHK(): void;
        hasPowerOff(offValue: import("./api-value-types.js").PowerState): void;
        readonly Service: typeof import("hap-nodejs").Service;
        readonly Characteristic: typeof import("hap-nodejs").Characteristic;
        readonly config: import("./config-types.js").ApplianceConfig;
        readonly schema: import("./homebridge-ui/schema-data.js").ConfigSchemaData;
        readonly optionalFeatures: import("./homebridge-ui/schema-data.js").SchemaOptionalFeature[];
        readonly cache: import("./persist-cache.js").PersistCache;
        readonly cachedOperation: Record<string, string>;
        readonly cachedPromise: Map<string, Promise<unknown>>;
        readonly asyncInitTasks: {
            name: string;
            promise: Promise<void>;
        }[];
        serviceNames: import("./service-name.js").ServiceNames;
        readonly accessoryInformationService: import("hap-nodejs").Service;
        readonly obsoleteServices: import("hap-nodejs").Service[];
        readonly log: import("homebridge").Logger;
        readonly platform: import("./platform.js").HomeConnectPlatform;
        readonly device: import("./homeconnect-device.js").HomeConnectDevice;
        readonly accessory: import("homebridge").PlatformAccessory;
        asyncInitialise(name: string, promise: Promise<void>): void;
        waitAsyncInitialisation(): Promise<void>;
        makeService(serviceConstructor: typeof import("hap-nodejs").Service & {
            new (displayName?: string, subtype?: string): import("hap-nodejs").Service;
            UUID: string;
        }, suffix?: string, subtype?: string): import("hap-nodejs").Service;
        cleanupServices(): void;
        cleanupOldVersions(): void;
        unregister(): void;
        identify(): Promise<void>;
        hasOptionalFeature(service: string, name: string, group?: string, enableByDefault?: boolean): boolean;
        setOptionalFeatures(): void;
        getCached<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        doCachedOperation<Type>(key: string, operation: () => Promise<Type>): Promise<Type>;
        makeSerialised<Value extends import("./serialised.js").SerialisedValue, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>, defaultValue?: Value): (value?: Value) => Promise<Returns>;
        makeSerialisedObject<Value extends object, Returns = void>(operation: import("./serialised.js").SerialisedOperation<Value, Returns>): (value?: Value) => Promise<Returns>;
        onSet<Type>(handler: import("./appliance-generic.js").OnSetHandler<Type>, assertIsType: (value: unknown) => asserts value is Type): import("hap-nodejs").CharacteristicSetHandler;
        onSetBoolean(handler: import("./appliance-generic.js").OnSetHandler<boolean>): import("hap-nodejs").CharacteristicSetHandler;
        onSetNumber(handler: import("./appliance-generic.js").OnSetHandler<number>): import("hap-nodejs").CharacteristicSetHandler;
        onSetString(handler: import("./appliance-generic.js").OnSetHandler<string>): import("hap-nodejs").CharacteristicSetHandler;
        trap<Type>(when: string, promise: Promise<Type> | Type, canThrow?: boolean): Promise<Type | undefined>;
    };
} & typeof ApplianceBase;
export declare class ApplianceWineCooler extends ApplianceWineCooler_base {
}
export {};
//# sourceMappingURL=appliance-cooling.d.ts.map