/** * Night Mode Service Handler * * Implements a HomeKit Switch service for Dyson night mode. * Night mode runs the fan quietly with a dimmed display. */ import type { API, Logging, PlatformAccessory, Service } from 'homebridge'; import type { DysonLinkDevice } from '../../devices/dysonLinkDevice.js'; /** * Configuration for NightModeService */ export interface NightModeServiceConfig { accessory: PlatformAccessory; device: DysonLinkDevice; api: API; log: Logging; /** Primary service to link this service to */ primaryService?: Service; } /** * NightModeService handles the Switch HomeKit service for night mode * * Maps HomeKit characteristics to Dyson device state: * - On (boolean) ↔ nightMode (boolean) */ export declare class NightModeService { private readonly service; private readonly device; private readonly log; private readonly api; private readonly boundHandleStateChange; constructor(config: NightModeServiceConfig); /** * Get the underlying HomeKit service */ getService(): Service; /** * Clean up event listeners */ destroy(): void; /** * Handle On GET request * Returns true if night mode is enabled */ private handleOnGet; /** * Handle On SET request * @param value - true to enable night mode, false to disable */ private handleOnSet; /** * Handle device state changes * Updates HomeKit characteristic to reflect current device state */ private handleStateChange; /** * Update characteristic from current device state * Call this after connecting to sync HomeKit with device */ updateFromState(): void; } //# sourceMappingURL=nightModeService.d.ts.map