pub use service::ImageProcessingService;
mod service;
#[derive(Debug, thiserror::Error)]
pub enum ImageProcessingError {
#[error("Failed to load image: {0}")]
LoadFailed(String),
#[error("Failed to process image: {0}")]
ProcessingFailed(String),
#[error("Invalid image format: {0}")]
InvalidFormat(String),
#[error("Image dimensions too large: {width}x{height}")]
DimensionsTooLarge { width: u32, height: u32 },
}
#[derive(Debug, Clone)]
pub struct ImageProcessingResult {
pub original_data: Vec<u8>,
pub processed_data: Vec<u8>,
pub processing_time_ms: u64,
pub applied_operations: Vec<String>,
}