export declare enum DeviceType {
    Camera = "camera",
    Hub = "hub",
    Light = "light",
    Siren = "siren",
    Switch = "switch",
    Sensor = "sensor",
    Thermostat = "thermostat",
    Button = "button",
    Generic = "generic"
}
export declare enum DeviceFeature {
    BatteryOperated = "battery-operated",
    Rebootable = "rebootable",
    NativeSnapshot = "native-snapshot",
    DoorbellButton = "doorbell-button",
    TwoWayAudio = "two-way-audio",
    PanTiltZoom = "pan-tilt-zoom",
    /**
     * Camera supports the on-firmware autotrack subsystem (subject-
     * following). Distinct from `PanTiltZoom` because not every PTZ
     * camera ships autotrack — the admin UI uses this flag to gate
     * the autotrack toggle / settings card without re-deriving from
     * the cap registry. Mirrors `ptz-autotrack` cap registration:
     * driver sets this feature when probe confirms the firmware
     * surface, and registers the cap in the same code path.
     */
    PtzAutotrack = "ptz-autotrack",
    /**
     * Accessory exposes a "trigger on motion" toggle — the parent camera's
     * motion detection automatically activates this device. Mirrors
     * `motion-trigger` cap registration: drivers set this feature in the
     * same code path that calls `ctx.registerNativeCap(motionTriggerCapability, ...)`.
     *
     * Used by admin UI (gate the in-hero `MotionTriggerToggle` against a
     * fast scalar without binding fetch), notifier rules, and `listAll`
     * filters that want "all devices with on-motion behaviour".
     */
    MotionTrigger = "motion-trigger"
}
export declare enum ChargingStatus {
    ChargingDC = "charging-dc",
    ChargingSolar = "charging-solar",
    NotCharging = "not-charging"
}
/**
 * Semantic role a device plays within its parent. Populated by driver
 * addons when creating accessory devices (Reolink siren/floodlight/
 * PIR/chime/autotrack/doorbell, ONVIF relay outputs, …). Used by the
 * admin UI to pick icons, labels, and widgets — a `Switch` with
 * `role: Floodlight` renders as a bulb with a brightness slider,
 * whereas a `Switch` with `role: Siren` renders as a klaxon.
 *
 * Undefined for top-level devices (cameras, NVRs, hubs). Persisted in
 * sqlite as a nullable TEXT column — old rows keep working unchanged.
 */
export declare enum DeviceRole {
    Siren = "siren",
    Floodlight = "floodlight",
    Spotlight = "spotlight",
    PirSensor = "pir-sensor",
    Chime = "chime",
    Autotrack = "autotrack",
    Nightvision = "nightvision",
    PrivacyMask = "privacy-mask",
    Doorbell = "doorbell"
}
//# sourceMappingURL=device-type.d.ts.map