"""
Centralized configuration package for RoboSystems Service.

This package provides a single source of truth for all configuration settings,
including rate limits, credits, constants, and external services.

Note: Billing and repository configurations are now model-based (see unified_billing.py and UserRepository model).
"""

# Core configuration modules
from .billing import (
  DEFAULT_GRAPH_BILLING_PLANS,
  AIBillingConfig,
  BillingConfig,
)
from .constants import PrefixConstants, URIConstants, XBRLConstants
from .credits import CreditConfig
from .env import EnvConfig, env
from .operators import (
  BedrockModel,
  ExecutionProfile,
  ModelConfig,
  OperatorConfig,
  OperatorExecutionMode,
)
from .query_queue import QueryQueueConfig
from .rate_limits import EndpointCategory, RateLimitConfig, RateLimitPeriod
from .validation import EnvValidator

__all__ = [
  "DEFAULT_GRAPH_BILLING_PLANS",
  "AIBillingConfig",
  "BedrockModel",
  # Billing exports
  "BillingConfig",
  # Credit exports
  "CreditConfig",
  "EndpointCategory",
  # Environment exports
  "EnvConfig",
  # Validation exports
  "EnvValidator",
  "ExecutionProfile",
  "ModelConfig",
  # AI Operator exports
  "OperatorConfig",
  "OperatorExecutionMode",
  "PrefixConstants",
  # Query configuration exports
  "QueryQueueConfig",
  # Rate limit exports
  "RateLimitConfig",
  "RateLimitPeriod",
  # Constants exports
  "URIConstants",
  "XBRLConstants",
  "env",
]
