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

from __future__ import annotations

import typing

import typing_extensions
from ..types.agent_v1settings_agent_speak_endpoint_provider_aws_polly_engine import (
    AgentV1SettingsAgentSpeakEndpointProviderAwsPollyEngine,
)
from ..types.agent_v1settings_agent_speak_endpoint_provider_aws_polly_voice import (
    AgentV1SettingsAgentSpeakEndpointProviderAwsPollyVoice,
)
from ..types.agent_v1settings_agent_speak_endpoint_provider_open_ai_model import (
    AgentV1SettingsAgentSpeakEndpointProviderOpenAiModel,
)
from ..types.agent_v1settings_agent_speak_endpoint_provider_open_ai_version import (
    AgentV1SettingsAgentSpeakEndpointProviderOpenAiVersion,
)
from ..types.agent_v1settings_agent_speak_endpoint_provider_open_ai_voice import (
    AgentV1SettingsAgentSpeakEndpointProviderOpenAiVoice,
)
from ..types.agent_v1settings_agent_speak_one_item_provider_cartesia_model_id import (
    AgentV1SettingsAgentSpeakOneItemProviderCartesiaModelId,
)
from ..types.agent_v1settings_agent_speak_one_item_provider_cartesia_version import (
    AgentV1SettingsAgentSpeakOneItemProviderCartesiaVersion,
)
from ..types.agent_v1settings_agent_speak_one_item_provider_deepgram_model import (
    AgentV1SettingsAgentSpeakOneItemProviderDeepgramModel,
)
from ..types.agent_v1settings_agent_speak_one_item_provider_deepgram_version import (
    AgentV1SettingsAgentSpeakOneItemProviderDeepgramVersion,
)
from ..types.agent_v1settings_agent_speak_one_item_provider_eleven_labs_model_id import (
    AgentV1SettingsAgentSpeakOneItemProviderElevenLabsModelId,
)
from ..types.agent_v1settings_agent_speak_one_item_provider_eleven_labs_version import (
    AgentV1SettingsAgentSpeakOneItemProviderElevenLabsVersion,
)
from .agent_v1settings_agent_speak_endpoint_provider_aws_polly_credentials import (
    AgentV1SettingsAgentSpeakEndpointProviderAwsPollyCredentialsParams,
)
from .agent_v1settings_agent_speak_one_item_provider_cartesia_voice import (
    AgentV1SettingsAgentSpeakOneItemProviderCartesiaVoiceParams,
)


class AgentV1SettingsAgentSpeakEndpointProvider_DeepgramParams(typing_extensions.TypedDict):
    type: typing.Literal["deepgram"]
    version: typing_extensions.NotRequired[AgentV1SettingsAgentSpeakOneItemProviderDeepgramVersion]
    model: AgentV1SettingsAgentSpeakOneItemProviderDeepgramModel


class AgentV1SettingsAgentSpeakEndpointProvider_ElevenLabsParams(typing_extensions.TypedDict):
    type: typing.Literal["eleven_labs"]
    version: typing_extensions.NotRequired[AgentV1SettingsAgentSpeakOneItemProviderElevenLabsVersion]
    model_id: AgentV1SettingsAgentSpeakOneItemProviderElevenLabsModelId
    language: typing_extensions.NotRequired[str]
    language_code: typing_extensions.NotRequired[str]


class AgentV1SettingsAgentSpeakEndpointProvider_CartesiaParams(typing_extensions.TypedDict):
    type: typing.Literal["cartesia"]
    version: typing_extensions.NotRequired[AgentV1SettingsAgentSpeakOneItemProviderCartesiaVersion]
    model_id: AgentV1SettingsAgentSpeakOneItemProviderCartesiaModelId
    voice: AgentV1SettingsAgentSpeakOneItemProviderCartesiaVoiceParams
    language: typing_extensions.NotRequired[str]


class AgentV1SettingsAgentSpeakEndpointProvider_OpenAiParams(typing_extensions.TypedDict):
    type: typing.Literal["open_ai"]
    version: typing_extensions.NotRequired[AgentV1SettingsAgentSpeakEndpointProviderOpenAiVersion]
    model: AgentV1SettingsAgentSpeakEndpointProviderOpenAiModel
    voice: AgentV1SettingsAgentSpeakEndpointProviderOpenAiVoice


class AgentV1SettingsAgentSpeakEndpointProvider_AwsPollyParams(typing_extensions.TypedDict):
    type: typing.Literal["aws_polly"]
    voice: AgentV1SettingsAgentSpeakEndpointProviderAwsPollyVoice
    language: str
    language_code: typing_extensions.NotRequired[str]
    engine: AgentV1SettingsAgentSpeakEndpointProviderAwsPollyEngine
    credentials: AgentV1SettingsAgentSpeakEndpointProviderAwsPollyCredentialsParams


AgentV1SettingsAgentSpeakEndpointProviderParams = typing.Union[
    AgentV1SettingsAgentSpeakEndpointProvider_DeepgramParams,
    AgentV1SettingsAgentSpeakEndpointProvider_ElevenLabsParams,
    AgentV1SettingsAgentSpeakEndpointProvider_CartesiaParams,
    AgentV1SettingsAgentSpeakEndpointProvider_OpenAiParams,
    AgentV1SettingsAgentSpeakEndpointProvider_AwsPollyParams,
]
