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, CapabilityAssignment, ComplianceLevel,
CostClass, CostTier, DataSovereignty, Jurisdiction, LatencyClass, ModelSelectorTrait,
ProviderAssignment, ProviderRequest, RequiredCapabilities, SelectionCriteria, TaskComplexity,
};