/** * Common device type definitions for all Tapo devices * Single responsibility: Device type classification and categorization */ /** * Tapo device categories */ export type TapoDeviceCategory = 'PLUG' | 'BULB' | 'HUB' | 'UNKNOWN'; /** * Supported Tapo device types */ export type TapoDeviceType = 'P100' | 'P105' | 'P110' | 'P110M' | 'P115' | 'P300' | 'P304' | 'TP15' | 'L510' | 'L520' | 'L530' | 'L535' | 'L610' | 'L900' | 'L920' | 'L930' | 'H100' | 'UNKNOWN'; /** * Device type to category mapping */ export declare const deviceTypeToCategory: Record; /** * Device models that support energy monitoring */ export declare const energyMonitoringModels: TapoDeviceType[]; /** * Get device category from device type */ export declare function getDeviceCategory(deviceType: TapoDeviceType): TapoDeviceCategory; /** * Check if device supports energy monitoring */ export declare function supportsEnergyMonitoring(deviceType: TapoDeviceType): boolean; /** * Get all device types by category */ export declare function getDeviceTypesByCategory(category: TapoDeviceCategory): TapoDeviceType[]; /** * Check if device type is known/supported */ export declare function isKnownDeviceType(deviceType: string): deviceType is TapoDeviceType;