"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .agentvoicedisplayname import AgentVoiceDisplayName
from .languagecode import LanguageCode
from .ttsprovider import TtsProvider
from syllable_sdk.types import BaseModel
from typing_extensions import TypedDict


class LanguageConfigTypedDict(TypedDict):
    r"""Voice and DTMF configurations for a language in a language group. List of available voices
    and their supported languages can be fetched from `GET /agents/voices/available/`.
    """

    language_code: LanguageCode
    r"""BCP 47 codes of languages that Syllable supports."""
    voice_provider: TtsProvider
    r"""TTS provider for an agent voice."""
    voice_display_name: AgentVoiceDisplayName
    r"""Display names of voices that Syllable supports."""
    dtmf_code: int
    r"""DTMF code that should be used for the language in the menu generated from the language group"""


class LanguageConfig(BaseModel):
    r"""Voice and DTMF configurations for a language in a language group. List of available voices
    and their supported languages can be fetched from `GET /agents/voices/available/`.
    """

    language_code: LanguageCode
    r"""BCP 47 codes of languages that Syllable supports."""

    voice_provider: TtsProvider
    r"""TTS provider for an agent voice."""

    voice_display_name: AgentVoiceDisplayName
    r"""Display names of voices that Syllable supports."""

    dtmf_code: int
    r"""DTMF code that should be used for the language in the menu generated from the language group"""
