use serde::{Deserialize, Serialize};
#[derive(Debug, thiserror::Error, Serialize, Deserialize)]
pub enum Error {
#[error("Camera operation was cancelled by user")]
Cancelled,
#[error("Camera permission denied")]
PermissionDenied,
#[error("Failed to create temporary file: {0}")]
FileCreationFailed(String),
#[error("Failed to read captured photo: {0}")]
ReadFailed(String),
#[error("No camera available on this device")]
NoCameraAvailable,
#[error("Plugin not available: {0}")]
PluginNotAvailable(String),
#[error("Unknown error: {0}")]
Unknown(String),
}
pub type Result<T> = std::result::Result<T, Error>;