use thiserror::Error;
pub type Result<T> = std::result::Result<T, StandbyError>;
#[derive(Error, Debug)]
pub enum StandbyError {
#[error("Invalid time format: {0}")]
InvalidTimeFormat(String),
#[error("Time value out of range: {0}")]
TimeOutOfRange(String),
#[error("Signal error: {0}")]
SignalError(String),
#[error("Process error: {0}")]
ProcessError(String),
#[error("Command not found: {0}")]
CommandNotFound(String),
#[error("Invalid argument: {0}")]
InvalidArgument(String),
#[error("IO error: {0}")]
IoError(#[from] std::io::Error),
#[error("Internal error: {0}")]
Internal(String),
}