import type { ProtectCamera, ProtectChime, ProtectDoorbell, ProtectLight, ProtectSensor, ProtectViewer } from "./devices/index.js"; import type { ProtectCameraConfig, ProtectChimeConfig, ProtectLightConfig, ProtectSensorConfig, ProtectViewerConfig } from "unifi-protect"; export declare function exhaustiveGuard(_value: never): void; export interface ProtectDeviceTypes { camera: ProtectCamera; chime: ProtectChime; light: ProtectLight; sensor: ProtectSensor; viewer: ProtectViewer; } export declare const ProtectDeviceCategories: string[]; export type ProtectDeviceConfigTypes = ProtectCameraConfig | ProtectChimeConfig | ProtectLightConfig | ProtectSensorConfig | ProtectViewerConfig; export type ProtectDevices = ProtectCamera | ProtectChime | ProtectDoorbell | ProtectLight | ProtectSensor | ProtectViewer; export declare enum ProtectReservedNames { CONTACT_AUTHSENSOR = "ContactAuthSensor", CONTACT_MOTION_SMARTDETECT = "ContactMotionSmartDetect", CONTACT_MOTION_SMARTDETECT_LICENSE = "ContactMotionSmartDetectLicense", CONTACT_SENSOR = "ContactSensor", CONTACT_SENSOR_ALARM_SOUND = "ContactAlarmSound", LEAKSENSOR_EXTERNAL = "External", LEAKSENSOR_INTERNAL = "Internal", LIGHTBULB_DOORBELL_VOLUME = "ChimeVolume", LIGHTBULB_NIGHTVISION = "NightVision", LIGHTBULB_PACKAGE_FLASHLIGHT = "PackageCamera.Flashlight", LOCK_ACCESS = "Access", SWITCH_DOORBELL_CHIME_BUZZER = "DoorbellChime.buzzer", SWITCH_DOORBELL_CHIME_DIGITAL = "DoorbellChime.digital", SWITCH_DOORBELL_CHIME_MECHANICAL = "DoorbellChime.mechanical", SWITCH_DOORBELL_CHIME_NONE = "DoorbellChime.none", SWITCH_DOORBELL_CHIME_SPEAKER = "DoorbellChime.speaker", SWITCH_DOORBELL_MUTE = "DoorbellMute", SWITCH_DOORBELL_TRIGGER = "DoorbellTrigger", SWITCH_HKSV_RECORDING = "HKSVRecordingSwitch", SWITCH_MOTION_SENSOR = "MotionSensorSwitch", SWITCH_MOTION_TRIGGER = "MotionSensorTrigger", SWITCH_STATUS_LED = "StatusLedSwitch", SWITCH_UFP_RECORDING_ALWAYS = "UFPRecordingSwitch.always", SWITCH_UFP_RECORDING_DETECTIONS = "UFPRecordingSwitch.detections", SWITCH_UFP_RECORDING_NEVER = "UFPRecordingSwitch.never" }