pub mod content;
pub mod embedding_model;
pub mod error;
pub mod files_model;
pub mod generate;
pub mod image_model;
pub mod json_repair;
pub mod language_model;
pub mod language_model_message;
pub mod math;
pub mod message;
pub mod model_id;
pub mod options;
pub mod provider;
pub mod reranking_model;
pub mod result;
pub mod search_model;
pub mod shared;
pub mod speech_model;
pub mod stream_part;
pub mod tool;
pub mod transcription_model;
pub mod types;
pub mod util;
pub mod video_model;
pub mod prelude {
pub use crate::content::ContentPart;
pub use crate::embedding_model::{EmbeddingCallOptions, EmbeddingModel, EmbeddingResult};
pub use crate::error::AiMuxError;
pub use crate::files_model::{Files, UploadFileCallOptions, UploadFileResult};
pub use crate::generate::{
GenerateTextOptions, GenerateTextResult, StreamTextResult, generate_text, stream_text,
};
pub use crate::image_model::{ImageCallOptions, ImageModel, ImageResult};
pub use crate::language_model::LanguageModel;
pub use crate::language_model_message::LanguageModelPrompt;
pub use crate::message::{MessageContent, ModelMessage, ModelPrompt, Role};
pub use crate::model_id::ModelId;
pub use crate::options::{CallOptions, ResponseFormat, ToolChoice};
pub use crate::provider::Provider;
pub use crate::reranking_model::{RerankingCallOptions, RerankingModel, RerankingResult};
pub use crate::result::{GenerateResult, StreamResult};
pub use crate::search_model::{
SearchCallOptions, SearchModel, SearchResponse, SearchResult, SearchResultItem,
};
pub use crate::shared::{
AbortSignal, AspectRatio, FileBytes, FileData, SharedHeaders, SharedProviderMetadata,
SharedProviderOptions, SharedProviderReference, Size,
};
pub use crate::speech_model::{SpeechCallOptions, SpeechModel, SpeechResult};
pub use crate::stream_part::StreamPart;
pub use crate::tool::{FunctionTool, ProviderTool, Tool, ToolCall, ToolResult};
pub use crate::transcription_model::{
TranscriptionCallOptions, TranscriptionModel, TranscriptionResult,
};
pub use crate::types::{FinishReason, FinishReasonUnified, ReasoningEffort, Usage, Warning};
pub use crate::video_model::{VideoCallOptions, VideoModel, VideoResult};
}
pub use embedding_model::EmbeddingModel;
pub use error::AiMuxError;
pub use files_model::Files;
pub use image_model::ImageModel;
pub use language_model::LanguageModel;
pub use provider::Provider;
pub use reranking_model::RerankingModel;
pub use search_model::SearchModel;
pub use speech_model::SpeechModel;
pub use transcription_model::TranscriptionModel;
pub use video_model::VideoModel;