"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file

Speech API protocol buffer description
(C) Copyright Aristech GmbH. All Rights reserved.
v2.1.3
"""

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class SpeechRequestOption(google.protobuf.message.Message):
    """Further options for a `SpeechRequest`."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VOICE_ID_FIELD_NUMBER: builtins.int
    AUDIO_FIELD_NUMBER: builtins.int
    NORMALIZE_FIELD_NUMBER: builtins.int
    CACHE_FIELD_NUMBER: builtins.int
    voice_id: builtins.str
    """The `voiceId` from `Voice` to use as wrapping voice to synthesize text.
    Note: The `voiceId` can also be swapped within the text by using ssml's
    `<voice/>` tag with another `voiceId`.
    """
    normalize: builtins.bool
    """If the text should be normalized before being transformed into audio or
    not.
    """
    cache: builtins.bool
    """If the server should fetch audio from cache or save the audio to cache if
    enabled.
    """
    @property
    def audio(self) -> global___SpeechAudioFormat:
        """Further options that specify the generated audio."""

    def __init__(
        self,
        *,
        voice_id: builtins.str = ...,
        audio: global___SpeechAudioFormat | None = ...,
        normalize: builtins.bool = ...,
        cache: builtins.bool = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["audio", b"audio"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["audio", b"audio", "cache", b"cache", "normalize", b"normalize", "voice_id", b"voice_id"]) -> None: ...

global___SpeechRequestOption = SpeechRequestOption

@typing.final
class SpeechAudioFormat(google.protobuf.message.Message):
    """`SpeechRequestOptionAudioFormat` specifies the retured audio format for a
    `getSpeech` request.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _Container:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _ContainerEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SpeechAudioFormat._Container.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        WAV: SpeechAudioFormat._Container.ValueType  # 0
        """wav"""
        RAW: SpeechAudioFormat._Container.ValueType  # 1
        """raw"""
        FLAC: SpeechAudioFormat._Container.ValueType  # 2
        """flac"""
        OGG: SpeechAudioFormat._Container.ValueType  # 3
        """ogg"""
        MP3: SpeechAudioFormat._Container.ValueType  # 4
        """mp3"""
        SPEEX: SpeechAudioFormat._Container.ValueType  # 5
        """speex"""

    class Container(_Container, metaclass=_ContainerEnumTypeWrapper):
        """Indicates the container of the audio."""

    WAV: SpeechAudioFormat.Container.ValueType  # 0
    """wav"""
    RAW: SpeechAudioFormat.Container.ValueType  # 1
    """raw"""
    FLAC: SpeechAudioFormat.Container.ValueType  # 2
    """flac"""
    OGG: SpeechAudioFormat.Container.ValueType  # 3
    """ogg"""
    MP3: SpeechAudioFormat.Container.ValueType  # 4
    """mp3"""
    SPEEX: SpeechAudioFormat.Container.ValueType  # 5
    """speex"""

    class _Codec:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _CodecEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SpeechAudioFormat._Codec.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        PCM: SpeechAudioFormat._Codec.ValueType  # 0
        """pcm a.k.a. signed-integer"""
        MU_LAW: SpeechAudioFormat._Codec.ValueType  # 1
        """mu-law"""
        A_LAW: SpeechAudioFormat._Codec.ValueType  # 2
        """a-law"""

    class Codec(_Codec, metaclass=_CodecEnumTypeWrapper):
        """Indicates the codec of the audio."""

    PCM: SpeechAudioFormat.Codec.ValueType  # 0
    """pcm a.k.a. signed-integer"""
    MU_LAW: SpeechAudioFormat.Codec.ValueType  # 1
    """mu-law"""
    A_LAW: SpeechAudioFormat.Codec.ValueType  # 2
    """a-law"""

    CONTAINER_FIELD_NUMBER: builtins.int
    CODEC_FIELD_NUMBER: builtins.int
    SAMPLERATE_FIELD_NUMBER: builtins.int
    BITRATE_FIELD_NUMBER: builtins.int
    CHANNELS_FIELD_NUMBER: builtins.int
    container: global___SpeechAudioFormat.Container.ValueType
    """The container to use."""
    codec: global___SpeechAudioFormat.Codec.ValueType
    """The encoding of the audio."""
    samplerate: builtins.int
    """The samplerate of the audio."""
    bitrate: builtins.int
    """The bitrate of the audio."""
    channels: builtins.int
    """The channels count of the audio."""
    def __init__(
        self,
        *,
        container: global___SpeechAudioFormat.Container.ValueType = ...,
        codec: global___SpeechAudioFormat.Codec.ValueType = ...,
        samplerate: builtins.int = ...,
        bitrate: builtins.int = ...,
        channels: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["bitrate", b"bitrate", "channels", b"channels", "codec", b"codec", "container", b"container", "samplerate", b"samplerate"]) -> None: ...

global___SpeechAudioFormat = SpeechAudioFormat

@typing.final
class SpeechLocale(google.protobuf.message.Message):
    """Represents a languages locale."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LANGUAGE_FIELD_NUMBER: builtins.int
    ACCENT_FIELD_NUMBER: builtins.int
    LANGUAGE_NAME_FIELD_NUMBER: builtins.int
    ACCENT_NAME_FIELD_NUMBER: builtins.int
    language: builtins.str
    """Example locale: de_DE
    ex.: de
    """
    accent: builtins.str
    """ex.: DE"""
    language_name: builtins.str
    """ex.: Deutsch"""
    accent_name: builtins.str
    """ex.: Deutschland"""
    def __init__(
        self,
        *,
        language: builtins.str = ...,
        accent: builtins.str = ...,
        language_name: builtins.str = ...,
        accent_name: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["accent", b"accent", "accent_name", b"accent_name", "language", b"language", "language_name", b"language_name"]) -> None: ...

global___SpeechLocale = SpeechLocale

@typing.final
class VoiceDefaults(google.protobuf.message.Message):
    """holds some default config values of a voice"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RATE_FIELD_NUMBER: builtins.int
    PITCH_FIELD_NUMBER: builtins.int
    rate: builtins.str
    pitch: builtins.str
    def __init__(
        self,
        *,
        rate: builtins.str = ...,
        pitch: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["pitch", b"pitch", "rate", b"rate"]) -> None: ...

global___VoiceDefaults = VoiceDefaults

@typing.final
class Voice(google.protobuf.message.Message):
    """Contains several infos about a voice"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _Gender:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _GenderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Voice._Gender.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        FEMALE: Voice._Gender.ValueType  # 0
        MALE: Voice._Gender.ValueType  # 1
        OTHER: Voice._Gender.ValueType  # 2

    class Gender(_Gender, metaclass=_GenderEnumTypeWrapper): ...
    FEMALE: Voice.Gender.ValueType  # 0
    MALE: Voice.Gender.ValueType  # 1
    OTHER: Voice.Gender.ValueType  # 2

    NAME_FIELD_NUMBER: builtins.int
    AUDIO_FIELD_NUMBER: builtins.int
    LOCALE_FIELD_NUMBER: builtins.int
    GENDER_FIELD_NUMBER: builtins.int
    VOICE_ID_FIELD_NUMBER: builtins.int
    UUID_FIELD_NUMBER: builtins.int
    VERSION_FIELD_NUMBER: builtins.int
    PORTS_AVAILABLE_FIELD_NUMBER: builtins.int
    DEBUG_AVAILABLE_FIELD_NUMBER: builtins.int
    DEFAULTS_FIELD_NUMBER: builtins.int
    name: builtins.str
    """[Output-only] The voice name."""
    gender: global___Voice.Gender.ValueType
    """[Output-only] The gender of the voice."""
    voice_id: builtins.str
    """[Output-only] The voice id.
    This is the value to use as `SpeechRequestOption.voice_id`
    """
    uuid: builtins.str
    """[Output-only] The uuid of the voice."""
    version: builtins.str
    """The version number of the voice"""
    ports_available: builtins.int
    """available ports for the voice as configured in the license;"""
    debug_available: builtins.bool
    """whether debug is available for the voice (only with developer license)"""
    @property
    def audio(self) -> global___SpeechAudioFormat:
        """[Output-only] The audio type of the voice."""

    @property
    def locale(self) -> global___SpeechLocale:
        """[Output-only] The locale of the voice."""

    @property
    def defaults(self) -> global___VoiceDefaults:
        """default config values"""

    def __init__(
        self,
        *,
        name: builtins.str = ...,
        audio: global___SpeechAudioFormat | None = ...,
        locale: global___SpeechLocale | None = ...,
        gender: global___Voice.Gender.ValueType = ...,
        voice_id: builtins.str = ...,
        uuid: builtins.str = ...,
        version: builtins.str = ...,
        ports_available: builtins.int = ...,
        debug_available: builtins.bool = ...,
        defaults: global___VoiceDefaults | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["audio", b"audio", "defaults", b"defaults", "locale", b"locale"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["audio", b"audio", "debug_available", b"debug_available", "defaults", b"defaults", "gender", b"gender", "locale", b"locale", "name", b"name", "ports_available", b"ports_available", "uuid", b"uuid", "version", b"version", "voice_id", b"voice_id"]) -> None: ...

global___Voice = Voice
