import { TapoCredentials } from '../types'; import { BaseDevice } from './base-device'; import { ProtocolType } from '../core/protocol-selector'; import { LightEffect } from '../controllers/lighting-controller'; /** * Bulb device implementation using composition pattern * Single responsibility: Bulb-specific device behavior */ export declare class BulbDevice extends BaseDevice { private auth?; private klapAuth?; constructor(ip: string, credentials: TapoCredentials, deviceModel: string); /** * Initialize session based on selected protocol */ protected initializeSession(protocol: ProtocolType): Promise; /** * Initialize KLAP session */ private initializeKlapSession; /** * Initialize Passthrough session */ private initializePassthroughSession; /** * Set light effect (if supported) */ setLightEffect(effect: LightEffect): Promise; /** * Get predefined light effects */ getPredefinedEffects(): LightEffect[]; /** * Turn off light effect */ turnOffLightEffect(): Promise; /** * Get bulb-specific status */ getBulbStatus(): Promise<{ isOn: boolean; brightness?: number; colorMode?: 'white' | 'color'; hue?: number; saturation?: number; colorTemp?: number; hasEffectActive?: boolean; }>; /** * Determine current color mode */ private determineColorMode; /** * Check if there's an active light effect */ private hasActiveEffect; /** * Set bulb to white mode with specific temperature */ setWhiteMode(temperature?: number, brightness?: number): Promise; /** * Set bulb to color mode with specific color */ setColorMode(hue: number, saturation?: number, brightness?: number): Promise; }