# 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 .add_target_language_out import AddTargetLanguageOut
    from .audio_output_type import AudioOutputType
    from .audio_stream import AudioStream
    from .config_stream import ConfigStream
    from .config_stream_pipeline import ConfigStreamPipeline
    from .create_custom_voice_out import CreateCustomVoiceOut
    from .create_project_setup_out import CreateProjectSetupOut
    from .create_stream_out import CreateStreamOut
    from .create_stream_request_payload import CreateStreamRequestPayload
    from .create_translated_tts_out import CreateTranslatedTtsOut
    from .create_tts_out import CreateTtsOut
    from .data_stream import DataStream
    from .demixing_option import DemixingOption
    from .dictionary_term import DictionaryTerm
    from .dictionary_with_terms import DictionaryWithTerms
    from .dubbing_result import DubbingResult
    from .exception_reasons import ExceptionReasons
    from .folder import Folder
    from .formalities import Formalities
    from .gender import Gender
    from .get_audio_separation_result_out import GetAudioSeparationResultOut
    from .get_create_project_setup_response import GetCreateProjectSetupResponse
    from .get_probe_stream_in import GetProbeStreamIn
    from .get_probe_stream_out import GetProbeStreamOut
    from .get_setup_story_result_response import GetSetupStoryResultResponse
    from .get_text_to_voice_result_out import GetTextToVoiceResultOut
    from .get_tts_result_out_file_url import GetTtsResultOutFileUrl
    from .http_validation_error import HttpValidationError
    from .language_pydantic_model import LanguagePydanticModel
    from .languages import Languages
    from .orchestrator_pipeline_call_result import OrchestratorPipelineCallResult
    from .orchestrator_pipeline_result import OrchestratorPipelineResult
    from .orchestrator_pipeline_result_exception_reason import OrchestratorPipelineResultExceptionReason
    from .orchestrator_pipeline_result_message import OrchestratorPipelineResultMessage
    from .output_format import OutputFormat
    from .overdub_config import OverdubConfig
    from .project_details import ProjectDetails
    from .revoicing_option import RevoicingOption
    from .run_i_ds_request_payload import RunIDsRequestPayload
    from .segmenting_option import SegmentingOption
    from .source_stream import SourceStream
    from .story_details import StoryDetails
    from .stream_category import StreamCategory
    from .stream_tts_inference_options import StreamTtsInferenceOptions
    from .stream_tts_output_configuration import StreamTtsOutputConfiguration
    from .stream_tts_voice_settings import StreamTtsVoiceSettings
    from .stream_type import StreamType
    from .stream_url_for_languages import StreamUrlForLanguages
    from .target_stream import TargetStream
    from .task_status import TaskStatus
    from .term_translation_input import TermTranslationInput
    from .term_translation_output import TermTranslationOutput
    from .text_to_audio_result import TextToAudioResult
    from .text_to_audio_type import TextToAudioType
    from .transcribing_option import TranscribingOption
    from .transcript import Transcript
    from .transcript_data_type import TranscriptDataType
    from .transcript_file_format import TranscriptFileFormat
    from .transcription_result import TranscriptionResult
    from .translating_option import TranslatingOption
    from .translation_result import TranslationResult
    from .validation_error import ValidationError
    from .validation_error_loc_item import ValidationErrorLocItem
    from .video_output_type_without_avi import VideoOutputTypeWithoutAvi
    from .video_stream import VideoStream
    from .voice import Voice
_dynamic_imports: typing.Dict[str, str] = {
    "AddTargetLanguageOut": ".add_target_language_out",
    "AudioOutputType": ".audio_output_type",
    "AudioStream": ".audio_stream",
    "ConfigStream": ".config_stream",
    "ConfigStreamPipeline": ".config_stream_pipeline",
    "CreateCustomVoiceOut": ".create_custom_voice_out",
    "CreateProjectSetupOut": ".create_project_setup_out",
    "CreateStreamOut": ".create_stream_out",
    "CreateStreamRequestPayload": ".create_stream_request_payload",
    "CreateTranslatedTtsOut": ".create_translated_tts_out",
    "CreateTtsOut": ".create_tts_out",
    "DataStream": ".data_stream",
    "DemixingOption": ".demixing_option",
    "DictionaryTerm": ".dictionary_term",
    "DictionaryWithTerms": ".dictionary_with_terms",
    "DubbingResult": ".dubbing_result",
    "ExceptionReasons": ".exception_reasons",
    "Folder": ".folder",
    "Formalities": ".formalities",
    "Gender": ".gender",
    "GetAudioSeparationResultOut": ".get_audio_separation_result_out",
    "GetCreateProjectSetupResponse": ".get_create_project_setup_response",
    "GetProbeStreamIn": ".get_probe_stream_in",
    "GetProbeStreamOut": ".get_probe_stream_out",
    "GetSetupStoryResultResponse": ".get_setup_story_result_response",
    "GetTextToVoiceResultOut": ".get_text_to_voice_result_out",
    "GetTtsResultOutFileUrl": ".get_tts_result_out_file_url",
    "HttpValidationError": ".http_validation_error",
    "LanguagePydanticModel": ".language_pydantic_model",
    "Languages": ".languages",
    "OrchestratorPipelineCallResult": ".orchestrator_pipeline_call_result",
    "OrchestratorPipelineResult": ".orchestrator_pipeline_result",
    "OrchestratorPipelineResultExceptionReason": ".orchestrator_pipeline_result_exception_reason",
    "OrchestratorPipelineResultMessage": ".orchestrator_pipeline_result_message",
    "OutputFormat": ".output_format",
    "OverdubConfig": ".overdub_config",
    "ProjectDetails": ".project_details",
    "RevoicingOption": ".revoicing_option",
    "RunIDsRequestPayload": ".run_i_ds_request_payload",
    "SegmentingOption": ".segmenting_option",
    "SourceStream": ".source_stream",
    "StoryDetails": ".story_details",
    "StreamCategory": ".stream_category",
    "StreamTtsInferenceOptions": ".stream_tts_inference_options",
    "StreamTtsOutputConfiguration": ".stream_tts_output_configuration",
    "StreamTtsVoiceSettings": ".stream_tts_voice_settings",
    "StreamType": ".stream_type",
    "StreamUrlForLanguages": ".stream_url_for_languages",
    "TargetStream": ".target_stream",
    "TaskStatus": ".task_status",
    "TermTranslationInput": ".term_translation_input",
    "TermTranslationOutput": ".term_translation_output",
    "TextToAudioResult": ".text_to_audio_result",
    "TextToAudioType": ".text_to_audio_type",
    "TranscribingOption": ".transcribing_option",
    "Transcript": ".transcript",
    "TranscriptDataType": ".transcript_data_type",
    "TranscriptFileFormat": ".transcript_file_format",
    "TranscriptionResult": ".transcription_result",
    "TranslatingOption": ".translating_option",
    "TranslationResult": ".translation_result",
    "ValidationError": ".validation_error",
    "ValidationErrorLocItem": ".validation_error_loc_item",
    "VideoOutputTypeWithoutAvi": ".video_output_type_without_avi",
    "VideoStream": ".video_stream",
    "Voice": ".voice",
}


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__ = [
    "AddTargetLanguageOut",
    "AudioOutputType",
    "AudioStream",
    "ConfigStream",
    "ConfigStreamPipeline",
    "CreateCustomVoiceOut",
    "CreateProjectSetupOut",
    "CreateStreamOut",
    "CreateStreamRequestPayload",
    "CreateTranslatedTtsOut",
    "CreateTtsOut",
    "DataStream",
    "DemixingOption",
    "DictionaryTerm",
    "DictionaryWithTerms",
    "DubbingResult",
    "ExceptionReasons",
    "Folder",
    "Formalities",
    "Gender",
    "GetAudioSeparationResultOut",
    "GetCreateProjectSetupResponse",
    "GetProbeStreamIn",
    "GetProbeStreamOut",
    "GetSetupStoryResultResponse",
    "GetTextToVoiceResultOut",
    "GetTtsResultOutFileUrl",
    "HttpValidationError",
    "LanguagePydanticModel",
    "Languages",
    "OrchestratorPipelineCallResult",
    "OrchestratorPipelineResult",
    "OrchestratorPipelineResultExceptionReason",
    "OrchestratorPipelineResultMessage",
    "OutputFormat",
    "OverdubConfig",
    "ProjectDetails",
    "RevoicingOption",
    "RunIDsRequestPayload",
    "SegmentingOption",
    "SourceStream",
    "StoryDetails",
    "StreamCategory",
    "StreamTtsInferenceOptions",
    "StreamTtsOutputConfiguration",
    "StreamTtsVoiceSettings",
    "StreamType",
    "StreamUrlForLanguages",
    "TargetStream",
    "TaskStatus",
    "TermTranslationInput",
    "TermTranslationOutput",
    "TextToAudioResult",
    "TextToAudioType",
    "TranscribingOption",
    "Transcript",
    "TranscriptDataType",
    "TranscriptFileFormat",
    "TranscriptionResult",
    "TranslatingOption",
    "TranslationResult",
    "ValidationError",
    "ValidationErrorLocItem",
    "VideoOutputTypeWithoutAvi",
    "VideoStream",
    "Voice",
]
