# This file was auto-generated by Fern from our API Definition.

# isort: skip_file

import typing
from importlib import import_module

if typing.TYPE_CHECKING:
    from .audio_data import AudioDataParams
    from .audio_message import AudioMessageParams
    from .audio_output import AudioOutputParams
    from .audio_output_data import AudioOutputDataParams
    from .base_job_parameters import BaseJobParametersParams
    from .bulk_job_callback import BulkJobCallbackParams
    from .bulk_job_init_response import BulkJobInitResponseParams
    from .chat_completion_message_tool_call import ChatCompletionMessageToolCallParams
    from .chat_completion_named_tool_choice import ChatCompletionNamedToolChoiceParams
    from .chat_completion_named_tool_choice_function import ChatCompletionNamedToolChoiceFunctionParams
    from .chat_completion_request_assistant_message import ChatCompletionRequestAssistantMessageParams
    from .chat_completion_request_message import (
        ChatCompletionRequestMessageParams,
        ChatCompletionRequestMessage_AssistantParams,
        ChatCompletionRequestMessage_SystemParams,
        ChatCompletionRequestMessage_ToolParams,
        ChatCompletionRequestMessage_UserParams,
    )
    from .chat_completion_request_system_message import ChatCompletionRequestSystemMessageParams
    from .chat_completion_request_tool_message import ChatCompletionRequestToolMessageParams
    from .chat_completion_request_user_message import ChatCompletionRequestUserMessageParams
    from .chat_completion_response_message import ChatCompletionResponseMessageParams
    from .chat_completion_tool import ChatCompletionToolParams
    from .choice import ChoiceParams
    from .completion_usage import CompletionUsageParams
    from .config_message import ConfigMessageParams
    from .configure_connection import ConfigureConnectionParams
    from .configure_connection_data import ConfigureConnectionDataParams
    from .create_chat_completion_response import CreateChatCompletionResponseParams
    from .diarized_entry import DiarizedEntryParams
    from .diarized_transcript import DiarizedTranscriptParams
    from .doc_digitization_create_job_response import DocDigitizationCreateJobResponseParams
    from .doc_digitization_download_files_response import DocDigitizationDownloadFilesResponseParams
    from .doc_digitization_error_details import DocDigitizationErrorDetailsParams
    from .doc_digitization_error_message import DocDigitizationErrorMessageParams
    from .doc_digitization_job_detail import DocDigitizationJobDetailParams
    from .doc_digitization_job_parameters import DocDigitizationJobParametersParams
    from .doc_digitization_job_status_response import DocDigitizationJobStatusResponseParams
    from .doc_digitization_page_error import DocDigitizationPageErrorParams
    from .doc_digitization_upload_files_response import DocDigitizationUploadFilesResponseParams
    from .doc_digitization_webhook_callback import DocDigitizationWebhookCallbackParams
    from .error_data import ErrorDataParams
    from .error_details import ErrorDetailsParams
    from .error_details2 import ErrorDetails2Params
    from .error_message import ErrorMessageParams
    from .error_message2 import ErrorMessage2Params
    from .error_response import ErrorResponseParams
    from .error_response_data import ErrorResponseDataParams
    from .event_response import EventResponseParams
    from .event_response_data import EventResponseDataParams
    from .events_data import EventsDataParams
    from .file_signed_url_details import FileSignedUrlDetailsParams
    from .files_download_response import FilesDownloadResponseParams
    from .files_request import FilesRequestParams
    from .files_upload_response import FilesUploadResponseParams
    from .flush_signal import FlushSignalParams
    from .function_call import FunctionCallParams
    from .function_definition import FunctionDefinitionParams
    from .job_status_response import JobStatusResponseParams
    from .language_identification_response import LanguageIdentificationResponseParams
    from .ping_signal import PingSignalParams
    from .pronunciation_dictionary_data import PronunciationDictionaryDataParams
    from .pronunciation_dictionary_delete_response import PronunciationDictionaryDeleteResponseParams
    from .pronunciation_dictionary_get_response import PronunciationDictionaryGetResponseParams
    from .pronunciation_dictionary_response import PronunciationDictionaryResponseParams
    from .pronunciation_dictionary_update_response import PronunciationDictionaryUpdateResponseParams
    from .send_text import SendTextParams
    from .send_text_data import SendTextDataParams
    from .speech_to_text_job_parameters import SpeechToTextJobParametersParams
    from .speech_to_text_response import SpeechToTextResponseParams
    from .speech_to_text_response_data import SpeechToTextResponseDataParams
    from .speech_to_text_streaming_response import SpeechToTextStreamingResponseParams
    from .speech_to_text_transcription_data import SpeechToTextTranscriptionDataParams
    from .speech_to_text_translate_job_parameters import SpeechToTextTranslateJobParametersParams
    from .speech_to_text_translate_response import SpeechToTextTranslateResponseParams
    from .speech_to_text_translate_response_data import SpeechToTextTranslateResponseDataParams
    from .speech_to_text_translate_streaming_response import SpeechToTextTranslateStreamingResponseParams
    from .speech_to_text_translate_transcription_data import SpeechToTextTranslateTranscriptionDataParams
    from .stop_configuration import StopConfigurationParams
    from .stt_flush_signal import SttFlushSignalParams
    from .task_detail import TaskDetailParams
    from .task_file_details import TaskFileDetailsParams
    from .text_to_speech_response import TextToSpeechResponseParams
    from .timestamps_model import TimestampsModelParams
    from .tool_choice_option import ToolChoiceOptionParams
    from .transcription_metrics import TranscriptionMetricsParams
    from .translation_response import TranslationResponseParams
    from .transliteration_response import TransliterationResponseParams
_dynamic_imports: typing.Dict[str, str] = {
    "AudioDataParams": ".audio_data",
    "AudioMessageParams": ".audio_message",
    "AudioOutputDataParams": ".audio_output_data",
    "AudioOutputParams": ".audio_output",
    "BaseJobParametersParams": ".base_job_parameters",
    "BulkJobCallbackParams": ".bulk_job_callback",
    "BulkJobInitResponseParams": ".bulk_job_init_response",
    "ChatCompletionMessageToolCallParams": ".chat_completion_message_tool_call",
    "ChatCompletionNamedToolChoiceFunctionParams": ".chat_completion_named_tool_choice_function",
    "ChatCompletionNamedToolChoiceParams": ".chat_completion_named_tool_choice",
    "ChatCompletionRequestAssistantMessageParams": ".chat_completion_request_assistant_message",
    "ChatCompletionRequestMessageParams": ".chat_completion_request_message",
    "ChatCompletionRequestMessage_AssistantParams": ".chat_completion_request_message",
    "ChatCompletionRequestMessage_SystemParams": ".chat_completion_request_message",
    "ChatCompletionRequestMessage_ToolParams": ".chat_completion_request_message",
    "ChatCompletionRequestMessage_UserParams": ".chat_completion_request_message",
    "ChatCompletionRequestSystemMessageParams": ".chat_completion_request_system_message",
    "ChatCompletionRequestToolMessageParams": ".chat_completion_request_tool_message",
    "ChatCompletionRequestUserMessageParams": ".chat_completion_request_user_message",
    "ChatCompletionResponseMessageParams": ".chat_completion_response_message",
    "ChatCompletionToolParams": ".chat_completion_tool",
    "ChoiceParams": ".choice",
    "CompletionUsageParams": ".completion_usage",
    "ConfigMessageParams": ".config_message",
    "ConfigureConnectionDataParams": ".configure_connection_data",
    "ConfigureConnectionParams": ".configure_connection",
    "CreateChatCompletionResponseParams": ".create_chat_completion_response",
    "DiarizedEntryParams": ".diarized_entry",
    "DiarizedTranscriptParams": ".diarized_transcript",
    "DocDigitizationCreateJobResponseParams": ".doc_digitization_create_job_response",
    "DocDigitizationDownloadFilesResponseParams": ".doc_digitization_download_files_response",
    "DocDigitizationErrorDetailsParams": ".doc_digitization_error_details",
    "DocDigitizationErrorMessageParams": ".doc_digitization_error_message",
    "DocDigitizationJobDetailParams": ".doc_digitization_job_detail",
    "DocDigitizationJobParametersParams": ".doc_digitization_job_parameters",
    "DocDigitizationJobStatusResponseParams": ".doc_digitization_job_status_response",
    "DocDigitizationPageErrorParams": ".doc_digitization_page_error",
    "DocDigitizationUploadFilesResponseParams": ".doc_digitization_upload_files_response",
    "DocDigitizationWebhookCallbackParams": ".doc_digitization_webhook_callback",
    "ErrorDataParams": ".error_data",
    "ErrorDetails2Params": ".error_details2",
    "ErrorDetailsParams": ".error_details",
    "ErrorMessage2Params": ".error_message2",
    "ErrorMessageParams": ".error_message",
    "ErrorResponseDataParams": ".error_response_data",
    "ErrorResponseParams": ".error_response",
    "EventResponseDataParams": ".event_response_data",
    "EventResponseParams": ".event_response",
    "EventsDataParams": ".events_data",
    "FileSignedUrlDetailsParams": ".file_signed_url_details",
    "FilesDownloadResponseParams": ".files_download_response",
    "FilesRequestParams": ".files_request",
    "FilesUploadResponseParams": ".files_upload_response",
    "FlushSignalParams": ".flush_signal",
    "FunctionCallParams": ".function_call",
    "FunctionDefinitionParams": ".function_definition",
    "JobStatusResponseParams": ".job_status_response",
    "LanguageIdentificationResponseParams": ".language_identification_response",
    "PingSignalParams": ".ping_signal",
    "PronunciationDictionaryDataParams": ".pronunciation_dictionary_data",
    "PronunciationDictionaryDeleteResponseParams": ".pronunciation_dictionary_delete_response",
    "PronunciationDictionaryGetResponseParams": ".pronunciation_dictionary_get_response",
    "PronunciationDictionaryResponseParams": ".pronunciation_dictionary_response",
    "PronunciationDictionaryUpdateResponseParams": ".pronunciation_dictionary_update_response",
    "SendTextDataParams": ".send_text_data",
    "SendTextParams": ".send_text",
    "SpeechToTextJobParametersParams": ".speech_to_text_job_parameters",
    "SpeechToTextResponseDataParams": ".speech_to_text_response_data",
    "SpeechToTextResponseParams": ".speech_to_text_response",
    "SpeechToTextStreamingResponseParams": ".speech_to_text_streaming_response",
    "SpeechToTextTranscriptionDataParams": ".speech_to_text_transcription_data",
    "SpeechToTextTranslateJobParametersParams": ".speech_to_text_translate_job_parameters",
    "SpeechToTextTranslateResponseDataParams": ".speech_to_text_translate_response_data",
    "SpeechToTextTranslateResponseParams": ".speech_to_text_translate_response",
    "SpeechToTextTranslateStreamingResponseParams": ".speech_to_text_translate_streaming_response",
    "SpeechToTextTranslateTranscriptionDataParams": ".speech_to_text_translate_transcription_data",
    "StopConfigurationParams": ".stop_configuration",
    "SttFlushSignalParams": ".stt_flush_signal",
    "TaskDetailParams": ".task_detail",
    "TaskFileDetailsParams": ".task_file_details",
    "TextToSpeechResponseParams": ".text_to_speech_response",
    "TimestampsModelParams": ".timestamps_model",
    "ToolChoiceOptionParams": ".tool_choice_option",
    "TranscriptionMetricsParams": ".transcription_metrics",
    "TranslationResponseParams": ".translation_response",
    "TransliterationResponseParams": ".transliteration_response",
}


def __getattr__(attr_name: str) -> typing.Any:
    module_name = _dynamic_imports.get(attr_name)
    if module_name is None:
        raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
    try:
        module = import_module(module_name, __package__)
        if module_name == f".{attr_name}":
            return module
        else:
            return getattr(module, attr_name)
    except ImportError as e:
        raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
    except AttributeError as e:
        raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e


def __dir__():
    lazy_attrs = list(_dynamic_imports.keys())
    return sorted(lazy_attrs)


__all__ = [
    "AudioDataParams",
    "AudioMessageParams",
    "AudioOutputDataParams",
    "AudioOutputParams",
    "BaseJobParametersParams",
    "BulkJobCallbackParams",
    "BulkJobInitResponseParams",
    "ChatCompletionMessageToolCallParams",
    "ChatCompletionNamedToolChoiceFunctionParams",
    "ChatCompletionNamedToolChoiceParams",
    "ChatCompletionRequestAssistantMessageParams",
    "ChatCompletionRequestMessageParams",
    "ChatCompletionRequestMessage_AssistantParams",
    "ChatCompletionRequestMessage_SystemParams",
    "ChatCompletionRequestMessage_ToolParams",
    "ChatCompletionRequestMessage_UserParams",
    "ChatCompletionRequestSystemMessageParams",
    "ChatCompletionRequestToolMessageParams",
    "ChatCompletionRequestUserMessageParams",
    "ChatCompletionResponseMessageParams",
    "ChatCompletionToolParams",
    "ChoiceParams",
    "CompletionUsageParams",
    "ConfigMessageParams",
    "ConfigureConnectionDataParams",
    "ConfigureConnectionParams",
    "CreateChatCompletionResponseParams",
    "DiarizedEntryParams",
    "DiarizedTranscriptParams",
    "DocDigitizationCreateJobResponseParams",
    "DocDigitizationDownloadFilesResponseParams",
    "DocDigitizationErrorDetailsParams",
    "DocDigitizationErrorMessageParams",
    "DocDigitizationJobDetailParams",
    "DocDigitizationJobParametersParams",
    "DocDigitizationJobStatusResponseParams",
    "DocDigitizationPageErrorParams",
    "DocDigitizationUploadFilesResponseParams",
    "DocDigitizationWebhookCallbackParams",
    "ErrorDataParams",
    "ErrorDetails2Params",
    "ErrorDetailsParams",
    "ErrorMessage2Params",
    "ErrorMessageParams",
    "ErrorResponseDataParams",
    "ErrorResponseParams",
    "EventResponseDataParams",
    "EventResponseParams",
    "EventsDataParams",
    "FileSignedUrlDetailsParams",
    "FilesDownloadResponseParams",
    "FilesRequestParams",
    "FilesUploadResponseParams",
    "FlushSignalParams",
    "FunctionCallParams",
    "FunctionDefinitionParams",
    "JobStatusResponseParams",
    "LanguageIdentificationResponseParams",
    "PingSignalParams",
    "PronunciationDictionaryDataParams",
    "PronunciationDictionaryDeleteResponseParams",
    "PronunciationDictionaryGetResponseParams",
    "PronunciationDictionaryResponseParams",
    "PronunciationDictionaryUpdateResponseParams",
    "SendTextDataParams",
    "SendTextParams",
    "SpeechToTextJobParametersParams",
    "SpeechToTextResponseDataParams",
    "SpeechToTextResponseParams",
    "SpeechToTextStreamingResponseParams",
    "SpeechToTextTranscriptionDataParams",
    "SpeechToTextTranslateJobParametersParams",
    "SpeechToTextTranslateResponseDataParams",
    "SpeechToTextTranslateResponseParams",
    "SpeechToTextTranslateStreamingResponseParams",
    "SpeechToTextTranslateTranscriptionDataParams",
    "StopConfigurationParams",
    "SttFlushSignalParams",
    "TaskDetailParams",
    "TaskFileDetailsParams",
    "TextToSpeechResponseParams",
    "TimestampsModelParams",
    "ToolChoiceOptionParams",
    "TranscriptionMetricsParams",
    "TranslationResponseParams",
    "TransliterationResponseParams",
]
