/** * HomeKit capability detection, expressed purely in terms of the * source-neutral capability vocabulary (`src/types/capabilities.ts`). * * This module has no dependency on Zigbee2MQTT's `exposes` shape or on * `ZigbeeDevice` — it is severed from any specific device source two phases * before the group 6 device-source refactor needs that same decoupling for * paired hardware (design.md D22, R1). */ import type { Capability } from "../../types/capabilities.js"; export interface DeviceCapabilities { /** Device has a controllable on/off state and brightness → Lightbulb */ isLight: boolean; hasBrightness: boolean; hasColorTemp: boolean; /** Device exposes CIE xy color (reported as color.x / color.y) */ hasColorXY: boolean; /** Device exposes hue/saturation color (reported as color.hue / color.saturation) */ hasColorHS: boolean; /** Device is a switch or outlet (on/off only, no brightness) */ isSwitch: boolean; hasOccupancy: boolean; hasContact: boolean; hasWaterLeak: boolean; hasTemperature: boolean; hasHumidity: boolean; hasBattery: boolean; /** Device exposes a writable numeric position (0-100), e.g. a cover/blind. */ hasPosition: boolean; } /** * Detects HomeKit-relevant capabilities from a device's capability schema, * expressed in the source-neutral vocabulary. */ export declare function detectCapabilities(capabilities: Capability[]): DeviceCapabilities; //# sourceMappingURL=capability-detection.d.ts.map