"""GL Speech Python client library for interacting with the Prosa Speech API."""

from gl_speech_sdk.client import SpeechClient
from gl_speech_sdk.models import (
    AudioFormat,
    DeliveryTicket,
    JobStatus,
    STTConfig,
    STTJobRequest,
    STTJobsListResponse,
    STTRequest,
    STTResponse,
    STTStatusResponse,
    TTSConfig,
    TTSJobRequest,
    TTSJobsListResponse,
    TTSRequest,
    TTSResponse,
    TTSStatusResponse,
    VoiceGender,
    WebhookDelivery,
    WebhookEndpoint,
    WebhookEndpointCreate,
    WebhookEndpointListing,
    WebhookEndpointUpdate,
    WebhookEvent,
    WebhookEventListing,
    WebhookEventType,
)
from gl_speech_sdk.stt import SpeechToText
from gl_speech_sdk.tts import TextToSpeech
from gl_speech_sdk.webhooks import Webhooks

__all__ = [
    # Client
    "SpeechClient",
    # API Classes
    "SpeechToText",
    "TextToSpeech",
    "Webhooks",
    # Enums
    "JobStatus",
    "AudioFormat",
    "VoiceGender",
    "WebhookEventType",
    # STT Models
    "STTConfig",
    "STTRequest",
    "STTJobRequest",
    "STTResponse",
    "STTStatusResponse",
    "STTJobsListResponse",
    # TTS Models
    "TTSConfig",
    "TTSRequest",
    "TTSJobRequest",
    "TTSResponse",
    "TTSStatusResponse",
    "TTSJobsListResponse",
    # Webhook Models
    "WebhookEndpoint",
    "WebhookEndpointCreate",
    "WebhookEndpointUpdate",
    "WebhookEndpointListing",
    "WebhookEvent",
    "WebhookEventListing",
    "WebhookDelivery",
    "DeliveryTicket",
]
