import type { PlatformAccessory } from 'homebridge'; import type { PhilipsAmbilightTVPlatform } from './platform.js'; export declare class PhilipsAmbilightTVAccessory { private readonly platform; private readonly accessory; private readonly tvService; private readonly speakerService; private readonly tvClient; private readonly config; private readonly ambilightService; private readonly inputSourceManager; private readonly sourceSwitchService; private readonly statePollManager; private readonly stateSensorService; private readonly ambilightHueSwitchService; private isPoweredOn; private isMuted; private powerSynced; constructor(platform: PhilipsAmbilightTVPlatform, accessory: PlatformAccessory); private get Service(); private get Characteristic(); private communicationError; private configureAccessoryInfo; private configureTelevisionService; private configureSpeakerService; /** * (Re)build the source-switch services from the current visible inputs. * Called once at setup and again whenever the input list changes (e.g. apps * discovered after the TV wakes) so the switch count always matches the * user's visible selection. */ private refreshSourceSwitches; private handleGetPower; private handleSetPower; private handleVolumeChange; private handleSetMute; private onPowerChange; /** * On power-on, reconcile the input list and then apply the TV's current * source right away. The source switches were just reset by the preceding * power-off, so without this the correct switch/input only lights up on the * next poll cycle (up to the polling interval away). */ private syncActiveSourceOnPowerOn; /** * Route a reported current app through the input manager, which resolves * system packages (launcher → Home, playtv → Watch TV/HDMI) and suppresses * reports that contradict a manual switch still in flight. Only an accepted * report reaches the source switches, so wheel, switches and TV stay aligned * instead of the switches bouncing back mid-switch. Returns the accepted * source id, or null when the report was suppressed or unusable. */ private applyInputReport; private onAmbilightUpdate; private onMuteChange; private log; cleanup(): void; }