//! Compile-time contract every platform backend must implement.
//!
//! Cameras never holds a `Box<dyn Backend>`; instead the active backend is selected at
//! compile time via a `cfg`-gated type alias. The trait exists only so the compiler can
//! verify that every platform module implements the same surface: adding a method here
//! forces every backend to provide it.
use crateCamera;
use crateError;
use crateDeviceMonitor;
use crate;
/// The contract every platform backend implements.
///
/// Users should not consume this trait directly; call the free functions at the crate
/// root ([`crate::devices`], [`crate::probe`], [`crate::open`], [`crate::monitor()`])
/// which dispatch through the active backend.