// SPDX-License-Identifier: GPL-3.0-or-later

pub mod backlight;
pub mod ddc_ffi;
pub mod manager;
pub mod provider;

/// The type of display detected.
#[derive(Debug, Clone, PartialEq)]
pub enum DisplayType {
    /// External monitor via DDC/CI
    Ddc,
    /// Internal laptop backlight via /sys/class/backlight
    Backlight,
}

/// Unified display information.
#[derive(Debug, Clone)]
pub struct DisplayInfo {
    /// 1-based display index for CLI reference
    pub index: usize,
    /// Display name (model name for DDC, identifier for backlight)
    pub name: String,
    /// Type of display
    pub display_type: DisplayType,
    /// Current brightness as percentage (0.0-100.0)
    pub brightness_pct: f64,
    /// Raw current brightness value from hardware
    pub raw_current: u64,
    /// Raw maximum brightness value from hardware
    pub raw_max: u64,
}
