/** * Long-poll client for Philips TV /notifychange endpoint. * Matches the official Philips Smart TV app behavior: * POSTs to /6/notifychange and blocks until the TV reports state changes. * * This client maintains its own digest auth independently from PhilipsTVClient * to avoid blocking the request queue. */ import { EventEmitter } from 'events'; export interface NotifyChangeClientConfig { ip: string; username: string; password: string; } export declare class NotifyChangeClient extends EventEmitter { private readonly config; private readonly debug; private running; private abortController; private consecutiveFailures; private reconnectDelay; /** Protocol that last worked (null = unknown, probe both) */ private workingProtocol; /** Independent digest auth session (separate from PhilipsTVClient) */ private readonly authSession; constructor(config: NotifyChangeClientConfig, debug: (message: string) => void); start(): void; stop(): void; private pollLoop; private longPoll; private doLongPollRequest; private handleDigestChallenge; private safeParseJson; private sleep; }