use serde::{Deserialize, Serialize};
use thiserror::Error;
#[derive(Error, Debug, Serialize, Deserialize)]
pub enum StorageError {
#[error("File not found: {0}")]
FileNotFound(String),
#[error("Invalid file format: {0}")]
InvalidFormat(String),
#[error("File too large: {0} bytes")]
FileTooLarge(u64),
#[error("Storage operation failed: {0}")]
OperationFailed(String),
#[error("Unauthorized access to storage")]
Unauthorized,
#[error("Storage quota exceeded")]
QuotaExceeded,
#[error("Network error: {0}")]
NetworkError(String),
#[error("Internal storage error: {0}")]
InternalError(String),
#[error("Invalid storage configuration: {0}")]
InvalidConfig(String),
}