"""SDK Tools - wrapper resources using generated API clients."""

from .vision import (
    VisionResource,
    AsyncVisionResource,
    VisionAnalyzeRequestRequest,
    VisionAnalyzeResponse,
    OCRRequestRequest,
    OCRResponse,
    VisionModelsResponse,
    OCRRequestRequestMode,
    VisionAnalyzeRequestRequestModelQuality,
)
from .cdn import (
    CDNResource,
    AsyncCDNResource,
    CDNFileList,
    CDNFileDetail,
    CDNFileUploadRequest,
    CDNFileUploadResponse,
    CDNUploadAsyncResponse,
    CDNJobStatus,
    PaginatedCDNFileListList,
)
from .shortlinks import (
    ShortlinksResource,
    AsyncShortlinksResource,
    ShortLinkList,
    ShortLinkDetail,
    ShortLinkCreate,
    ShortLinkCreateRequest,
    PaginatedShortLinkListList,
)
from .keys import (
    KeysResource,
    AsyncKeysResource,
    SDKAPIKeyList,
    SDKAPIKeyDetail,
    SDKAPIKeyCreate,
    SDKAPIKeyCreateRequest,
    PaginatedSDKAPIKeyListList,
    SDKAPIKeyCreatePermission,
)
from .cleaner import (
    CleanerResource,
    AsyncCleanerResource,
    CleanRequestRequest,
    CleanResponse,
    CleaningRequestDetail,
    CleaningStats,
    CleanRequestRequestOutputFormat,
    CleaningRequestDetailStatus,
    # Async job types
    CleanAsyncResponse,
    JobStatus,
    PatternsResponse,
    CleanAsyncRequestRequestOutputFormat,
)
from .models import (
    ModelsResource,
    AsyncModelsResource,
    LLMModelList,
    LLMModelDetail,
    PaginatedLLMModelListList,
    ProvidersResponse,
    StatsResponse,
    CostCalculationRequestRequest,
    CostCalculationResponse,
)
from .search import (
    SearchResource,
    AsyncSearchResource,
    SearchResponse,
    Citation,
    UserLocation,
    SearchRequestList,
    SearchQueryRequest,
    URLFetchRequest,
    UserLocationRequest,
    # Async job types
    SearchAsyncRequestRequest,
    SearchAsyncResponse,
    SearchJobStatus,
    RankedResults,
    # Mode-based API types
    SearchModeResponse,
    SearchMode,
    MetricsSummary,
    QueryDecomposition,
)
from .embeddings import (
    EmbeddingsResource,
    AsyncEmbeddingsResource,
    EmbeddingResponse,
    EmbeddingData,
    EmbeddingUsage,
)
from .audio import (
    AudioResource,
    AsyncAudioResource,
    # STT providers
    OpenAISTT,
    AsyncOpenAISTT,
    DeepgramClient,
    DeepgramSession,
    DeepgramConnectionError,
    DeepgramStreamError,
    create_deepgram_client,
    # TTS providers
    OpenAITTS,
    AsyncOpenAITTS,
)
from .image_gen import (
    ImageGenResource,
    AsyncImageGenResource,
    ImageGenerateRequestRequest,
    ImageGenerateResponse,
    AsyncGenerateResponse,
    JobStatus as ImageGenJobStatus,
    ImageGenerationList,
    ImageGenerationDetail,
    ImageGenOptions,
    ChoiceItem,
    ImageGenerateRequestRequestQuality,
    ImageGenerateRequestRequestStyle,
    ImageGenerateResponseStatus,
)
from .payments import (
    PaymentsResource,
    AsyncPaymentsResource,
    Balance,
    Currency,
    CurrencyEstimateResponse,
    PaymentDetail,
    PaymentStatus,
    PaymentCreateResponse,
    Transaction,
    WithdrawalDetail,
    WithdrawalCreateResponse,
)
from .proxies import (
    ProxiesResource,
    AsyncProxiesResource,
    Proxy,
    ProxyRequest,
    PaginatedProxyList,
    ProxyAssignment,
    ProxyAssignmentRequest,
    PaginatedProxyAssignmentList,
    ProxyRotation,
    ProxyRotationRequest,
    PaginatedProxyRotationList,
    ProxyTest,
    ProxyTestRequest,
    PaginatedProxyTestList,
    ProxyType,
    ProxyMode,
    ProxyStatus,
    ProxyTestType,
)
from .translator import (
    TranslatorResource,
    AsyncTranslatorResource,
    TranslationError,
)
from .translator.cache import TranslationCacheManager
from .translator.detectors import ScriptDetector, LanguageDetector
from .translator.utils import TextUtils, PromptBuilder

__all__ = [
    # Vision
    "VisionResource",
    "AsyncVisionResource",
    "VisionAnalyzeRequestRequest",
    "VisionAnalyzeResponse",
    "OCRRequestRequest",
    "OCRResponse",
    "VisionModelsResponse",
    "OCRRequestRequestMode",
    "VisionAnalyzeRequestRequestModelQuality",
    # CDN
    "CDNResource",
    "AsyncCDNResource",
    "CDNFileList",
    "CDNFileDetail",
    "CDNFileUploadRequest",
    "CDNFileUploadResponse",
    "CDNUploadAsyncResponse",
    "CDNJobStatus",
    "PaginatedCDNFileListList",
    # Shortlinks
    "ShortlinksResource",
    "AsyncShortlinksResource",
    "ShortLinkList",
    "ShortLinkDetail",
    "ShortLinkCreate",
    "ShortLinkCreateRequest",
    "PaginatedShortLinkListList",
    # Keys
    "KeysResource",
    "AsyncKeysResource",
    "SDKAPIKeyList",
    "SDKAPIKeyDetail",
    "SDKAPIKeyCreate",
    "SDKAPIKeyCreateRequest",
    "PaginatedSDKAPIKeyListList",
    "SDKAPIKeyCreatePermission",
    # Cleaner
    "CleanerResource",
    "AsyncCleanerResource",
    "CleanRequestRequest",
    "CleanResponse",
    "CleaningRequestDetail",
    "CleaningStats",
    "CleanRequestRequestOutputFormat",
    "CleaningRequestDetailStatus",
    # Cleaner async job types
    "CleanAsyncResponse",
    "JobStatus",
    "PatternsResponse",
    "CleanAsyncRequestRequestOutputFormat",
    # Models
    "ModelsResource",
    "AsyncModelsResource",
    "LLMModelList",
    "LLMModelDetail",
    "PaginatedLLMModelListList",
    "ProvidersResponse",
    "StatsResponse",
    "CostCalculationRequestRequest",
    "CostCalculationResponse",
    # Search
    "SearchResource",
    "AsyncSearchResource",
    "SearchResponse",
    "Citation",
    "UserLocation",
    "SearchRequestList",
    "SearchQueryRequest",
    "URLFetchRequest",
    "UserLocationRequest",
    # Search async job types
    "SearchAsyncRequestRequest",
    "SearchAsyncResponse",
    "SearchJobStatus",
    "RankedResults",
    # Search mode-based API types
    "SearchModeResponse",
    "SearchMode",
    "MetricsSummary",
    "QueryDecomposition",
    # Embeddings
    "EmbeddingsResource",
    "AsyncEmbeddingsResource",
    "EmbeddingResponse",
    "EmbeddingData",
    "EmbeddingUsage",
    # Image Gen
    "ImageGenResource",
    "AsyncImageGenResource",
    "ImageGenerateRequestRequest",
    "ImageGenerateResponse",
    "AsyncGenerateResponse",
    "ImageGenJobStatus",
    "ImageGenerationList",
    "ImageGenerationDetail",
    "ImageGenOptions",
    "ChoiceItem",
    "ImageGenerateRequestRequestQuality",
    "ImageGenerateRequestRequestStyle",
    "ImageGenerateResponseStatus",
    # Audio
    "AudioResource",
    "AsyncAudioResource",
    # STT providers
    "OpenAISTT",
    "AsyncOpenAISTT",
    "DeepgramClient",
    "DeepgramSession",
    "DeepgramConnectionError",
    "DeepgramStreamError",
    "create_deepgram_client",
    # TTS providers
    "OpenAITTS",
    "AsyncOpenAITTS",
    # Payments
    "PaymentsResource",
    "AsyncPaymentsResource",
    "Balance",
    "Currency",
    "CurrencyEstimateResponse",
    "PaymentDetail",
    "PaymentStatus",
    "PaymentCreateResponse",
    "Transaction",
    "WithdrawalDetail",
    "WithdrawalCreateResponse",
    # Proxies
    "ProxiesResource",
    "AsyncProxiesResource",
    "Proxy",
    "ProxyRequest",
    "PaginatedProxyList",
    "ProxyAssignment",
    "ProxyAssignmentRequest",
    "PaginatedProxyAssignmentList",
    "ProxyRotation",
    "ProxyRotationRequest",
    "PaginatedProxyRotationList",
    "ProxyTest",
    "ProxyTestRequest",
    "PaginatedProxyTestList",
    "ProxyType",
    "ProxyMode",
    "ProxyStatus",
    "ProxyTestType",
    # Translator
    "TranslatorResource",
    "AsyncTranslatorResource",
    "TranslationError",
    "TranslationCacheManager",
    "ScriptDetector",
    "LanguageDetector",
    "TextUtils",
    "PromptBuilder",
]
