# app/modules/billing/services/__init__.py
"""
Billing module services.

Provides subscription management, Stripe integration, and admin operations.
"""

from app.modules.billing.services.subscription_service import (
    SubscriptionService,
    subscription_service,
)
from app.modules.billing.services.stripe_service import (
    StripeService,
    stripe_service,
)
from app.modules.billing.services.admin_subscription_service import (
    AdminSubscriptionService,
    admin_subscription_service,
)
from app.modules.billing.services.billing_service import (
    BillingService,
    billing_service,
)
from app.modules.billing.exceptions import (
    BillingServiceError,
    PaymentSystemNotConfiguredError,
    TierNotFoundError,
    StripePriceNotConfiguredError,
    NoActiveSubscriptionError,
    SubscriptionNotCancelledError,
)
from app.modules.billing.services.feature_service import (
    FeatureService,
    feature_service,
    FeatureInfo,
    FeatureUpgradeInfo,
    FeatureCode,
)
from app.modules.billing.services.capacity_forecast_service import (
    CapacityForecastService,
    capacity_forecast_service,
)
from app.modules.billing.services.platform_pricing_service import (
    PlatformPricingService,
    platform_pricing_service,
)

__all__ = [
    "SubscriptionService",
    "subscription_service",
    "StripeService",
    "stripe_service",
    "AdminSubscriptionService",
    "admin_subscription_service",
    "BillingService",
    "billing_service",
    "BillingServiceError",
    "PaymentSystemNotConfiguredError",
    "TierNotFoundError",
    "StripePriceNotConfiguredError",
    "NoActiveSubscriptionError",
    "SubscriptionNotCancelledError",
    "FeatureService",
    "feature_service",
    "FeatureInfo",
    "FeatureUpgradeInfo",
    "FeatureCode",
    "CapacityForecastService",
    "capacity_forecast_service",
    "PlatformPricingService",
    "platform_pricing_service",
]
