"""Services package."""

from src.services.pii_detector import PIIDetector, pii_detector, PIIDetectionResult
from src.services.cost_calculator import CostCalculator, cost_calculator
from src.services.ingest_service import IngestService, ingest_service
from src.services.report_service import ReportService, report_service
from src.services.auth_service import (
    register_user,
    authenticate_user,
    change_password,
    reset_password_request,
    reset_password,
    get_user_by_id,
    get_user_by_email,
    create_tokens_for_user,
    AuthenticationError,
    EmailAlreadyExistsError,
    InvalidCredentialsError,
    UserNotFoundError,
    InvalidPasswordError,
    InvalidTokenError,
)
from src.services.apikey_service import (
    create_api_key,
    validate_api_key,
    list_api_keys,
    get_api_key,
    revoke_api_key,
    rotate_api_key,
    update_api_key,
    APIKeyError,
    APIKeyNotFoundError,
    APIKeyRevokedError,
    APIKeyExpiredError,
)

__all__ = [
    "PIIDetector",
    "pii_detector",
    "PIIDetectionResult",
    "CostCalculator",
    "cost_calculator",
    "IngestService",
    "ingest_service",
    "ReportService",
    "report_service",
    "register_user",
    "authenticate_user",
    "change_password",
    "reset_password_request",
    "reset_password",
    "get_user_by_id",
    "get_user_by_email",
    "create_tokens_for_user",
    "create_api_key",
    "validate_api_key",
    "list_api_keys",
    "get_api_key",
    "revoke_api_key",
    "rotate_api_key",
    "update_api_key",
    "AuthenticationError",
    "EmailAlreadyExistsError",
    "InvalidCredentialsError",
    "UserNotFoundError",
    "InvalidPasswordError",
    "InvalidTokenError",
    "APIKeyError",
    "APIKeyNotFoundError",
    "APIKeyRevokedError",
    "APIKeyExpiredError",
]
