import type { Categories, Characteristic, CharacteristicValue, HapStatusError, Logger, Nullable, PlatformAccessory, Service, WithUUID } from "homebridge"; import type { TplinkSmarthomeConfig } from "../config.js"; import type { TplinkSmarthomeAccessoryContext, TplinkSmarthomePlatform } from "../TplinkSmarthomePlatform.js"; import type { TplinkDeviceLike } from "../util/types.js"; export declare abstract class HomekitDevice { readonly platform: TplinkSmarthomePlatform; readonly config: TplinkSmarthomeConfig; readonly tplinkDevice: TplinkDeviceLike; readonly category: Categories; readonly log: Logger; homebridgeAccessory: PlatformAccessory; private lsc; /** * Creates an instance of HomeKitDevice. */ constructor(platform: TplinkSmarthomePlatform, config: TplinkSmarthomeConfig, homebridgeAccessory: PlatformAccessory | undefined, tplinkDevice: TplinkDeviceLike, category: Categories); get id(): string; get name(): string; get manufacturer(): string; get model(): string; get serialNumber(): string; get firmwareRevision(): string; get hardwareRevision(): string; abstract identify(): void; updateValue(service: Service, characteristic: Characteristic, value: Nullable | Error | HapStatusError): void; addService(serviceConstructor: typeof this.platform.Service.Outlet | typeof this.platform.Service.Lightbulb | typeof this.platform.Service.Switch, name: string): Service; protected logRejection(reason: unknown): void; protected removeServiceIfExists(service: WithUUID): void; protected removeCharacteristicIfExists(service: Service, characteristic: WithUUID Characteristic>): void; } //# sourceMappingURL=HomekitDevice.d.ts.map