//! Error types for Qrusty API client

use std::time::Duration;
use thiserror::Error;

#[derive(Debug, Error)]
pub enum QrustyClientError {
    #[error("HTTP error: {0}")]
    Http(#[from] reqwest::Error),
    #[error("Invalid response: {0}")]
    InvalidResponse(String),
    #[error("Request failed after retries: {0}")]
    RetryFailed(String),
    #[error("Request timed out after {0:?}")]
    RequestTimeout(Duration),
    #[error("Other error: {0}")]
    Other(String),
}
