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

use anyhow::Result;

/// Info about a detected backlight display.
#[derive(Debug, Clone)]
pub struct BacklightDisplayInfo {
    pub name: String,
    pub current: u32,
    pub max: u32,
}

/// Provider trait for internal backlight operations.
pub trait BacklightProvider {
    fn detect(&self) -> Result<Vec<BacklightDisplayInfo>>;
    fn set_brightness(&self, name: &str, raw_value: u32) -> Result<()>;
}
