#![doc = include_str!("../README.md")]
mod client;
mod config;
mod error;
mod retry;
mod transport;
mod types;
#[cfg(feature = "blocking")]
pub mod blocking;
pub use client::{Client, ClientBuilder, Models};
pub use config::{LogLevel, RequestOptions};
pub use error::{ApiError, ApiErrorKind, Error};
pub use reqwest::header::{HeaderMap, HeaderName, HeaderValue};
pub use reqwest::StatusCode;
pub use retry::{parse_retry_after, RetryPolicy, RetryPredicate};
pub use tokio_util::sync::CancellationToken;
pub use types::*;
pub type AsyncTypeSafeClient = Client;
#[cfg(feature = "blocking")]
pub type TypeSafeClient = blocking::Client;
pub const DEFAULT_BASE_URL: &str = "https://api.typesafe.ai";
pub const DEFAULT_MODEL: &str = "jev-latest";
pub const DEFAULT_TIMEOUT: std::time::Duration = std::time::Duration::from_secs(10);
pub const VERSION: &str = env!("CARGO_PKG_VERSION");