import { PlatformAccessory, Service, WithUUID } from 'homebridge'; import { VirtualAccessoriesPlatform } from '../platform.js'; import { AccessoryConfiguration } from '../configuration/configurationAccessory.js'; import { VirtualLogger } from '../utils/virtualLogger.js'; import { CharacteristicUtils } from '../characteristicsUtils.js'; /** * Abstract Accessory */ export declare abstract class Accessory extends CharacteristicUtils { readonly platform: VirtualAccessoriesPlatform; readonly accessory: PlatformAccessory; readonly accessoryConfiguration: AccessoryConfiguration; readonly log: VirtualLogger; protected serviceType: WithUUID; protected accessoryName: string; protected defaultState: number | boolean; protected storagePath: string; protected accessoryInformationService?: Service; constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration, serviceType: WithUUID, createService?: boolean); isExternalAccessory(): boolean; updateInformationServiceConfiguredName(): void; private readonly EMPTY_ACCESSORY_STATE; protected isEmptyAccessoryState(json: any): boolean; protected loadAccessoryState(storagePath: string): any; private saveAccessoryState; protected deleteState(storagePath: string): void; protected saveState(): void; getServiceType(): WithUUID; getServiceTypeName(serviceType: WithUUID): string; protected abstract getJsonState(): string; }