pub mod backend;
pub mod capability;
pub mod chat;
pub mod error;
pub mod selection;
pub use backend::{Backend, BackendKind};
pub use capability::Capability;
pub use chat::{
BoxFuture, ChatBackend, ChatMessage, ChatRequest, ChatResponse, ChatRole, DynChatBackend,
FinishReason, LlmError, ResponseFormat, TokenUsage, ToolCall, ToolDefinition,
};
pub use error::{BackendError, BackendErrorKind};
pub use selection::{
AgentRequirements, BackendRequirements, BackendSelector, ComplianceLevel, CostClass, CostTier,
DataSovereignty, Jurisdiction, LatencyClass, ModelSelectorTrait, RequiredCapabilities,
SelectionCriteria, TaskComplexity,
};