"""Infrastructure models package."""

from infrastructure.models.budget import (
    BudgetTracker,
    SpendRecord,
    estimate_cost_usd,
    get_budget_tracker,
)
from infrastructure.models.multimodal import (
    ModelCapability,
    ModelInfo,
    MultiModalManager,
    get_model_for_capability,
    get_multimodal_manager,
    model_supports_tools,
    model_supports_vision,
    pull_model_with_fallback,
)
from infrastructure.models.registry import (
    CustomModel,
    ModelFormat,
    ModelRegistry,
    ModelRole,
    model_registry,
)
from infrastructure.models.router import (
    TieredModelRouter,
    TierLabel,
    classify_tier,
    get_tiered_router,
)

__all__ = [
    # Registry
    "CustomModel",
    "ModelFormat",
    "ModelRegistry",
    "ModelRole",
    "model_registry",
    # Multi-modal
    "ModelCapability",
    "ModelInfo",
    "MultiModalManager",
    "get_model_for_capability",
    "get_multimodal_manager",
    "model_supports_tools",
    "model_supports_vision",
    "pull_model_with_fallback",
    # Tiered router
    "TierLabel",
    "TieredModelRouter",
    "classify_tier",
    "get_tiered_router",
    # Budget tracker
    "BudgetTracker",
    "SpendRecord",
    "estimate_cost_usd",
    "get_budget_tracker",
]
