"""
@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 TTSTypes_pb2
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
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

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

class _CommandTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CommandType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    START_REQUEST: _CommandType.ValueType  # 0
    STOP_REQUEST: _CommandType.ValueType  # 1
    STATUS_REQUEST: _CommandType.ValueType  # 2

class CommandType(_CommandType, metaclass=_CommandTypeEnumTypeWrapper):
    """Commands that can be used in ServerCommand"""

START_REQUEST: CommandType.ValueType  # 0
STOP_REQUEST: CommandType.ValueType  # 1
STATUS_REQUEST: CommandType.ValueType  # 2
global___CommandType = CommandType

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

class _CommandResponseTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CommandResponseType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    STARTRESPONSE: _CommandResponseType.ValueType  # 0
    """Synthesis startet"""
    STOPRESPONSE: _CommandResponseType.ValueType  # 1
    """Synthesis stopped"""
    STATUSRESPONSE: _CommandResponseType.ValueType  # 2
    """Response contains status information"""
    SYNTHESISRESPONSE: _CommandResponseType.ValueType  # 3
    """Response contains SpeechResponses"""

class CommandResponseType(_CommandResponseType, metaclass=_CommandResponseTypeEnumTypeWrapper): ...

STARTRESPONSE: CommandResponseType.ValueType  # 0
"""Synthesis startet"""
STOPRESPONSE: CommandResponseType.ValueType  # 1
"""Synthesis stopped"""
STATUSRESPONSE: CommandResponseType.ValueType  # 2
"""Response contains status information"""
SYNTHESISRESPONSE: CommandResponseType.ValueType  # 3
"""Response contains SpeechResponses"""
global___CommandResponseType = CommandResponseType

@typing.final
class SpeechRequest(google.protobuf.message.Message):
    """`SpeechRequest` is the top-level message sent by the client for
    the `getSpeech` method.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TEXT_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    PARAMETERS_FIELD_NUMBER: builtins.int
    INPUT_TYPE_FIELD_NUMBER: builtins.int
    OUTPUT_TYPE_FIELD_NUMBER: builtins.int
    text: builtins.str
    """Required: The text that will be transformed into audio."""
    parameters: builtins.str
    """Currently not used"""
    input_type: builtins.str
    """Use "SSML" """
    output_type: builtins.str
    """Use "AUDIO" """
    @property
    def options(self) -> TTSTypes_pb2.SpeechRequestOption:
        """Required: Further options for the request."""

    def __init__(
        self,
        *,
        text: builtins.str = ...,
        options: TTSTypes_pb2.SpeechRequestOption | None = ...,
        parameters: builtins.str = ...,
        input_type: builtins.str = ...,
        output_type: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["options", b"options"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["input_type", b"input_type", "options", b"options", "output_type", b"output_type", "parameters", b"parameters", "text", b"text"]) -> None: ...

global___SpeechRequest = SpeechRequest

@typing.final
class PhonesetRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VOICE_FIELD_NUMBER: builtins.int
    @property
    def voice(self) -> TTSTypes_pb2.Voice:
        """Required: The voice of which the phoneset is requested. Only `Voice.name`
        has to be filled
        """

    def __init__(
        self,
        *,
        voice: TTSTypes_pb2.Voice | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["voice", b"voice"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["voice", b"voice"]) -> None: ...

global___PhonesetRequest = PhonesetRequest

@typing.final
class PhonesetResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    PHONESET_FIELD_NUMBER: builtins.int
    status: builtins.int
    message: builtins.str
    phoneset: builtins.str
    """A json array that contains a representation of the phoneset"""
    def __init__(
        self,
        *,
        status: builtins.int = ...,
        message: builtins.str = ...,
        phoneset: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message", b"message", "phoneset", b"phoneset", "status", b"status"]) -> None: ...

global___PhonesetResponse = PhonesetResponse

@typing.final
class TranscriptionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VOICE_FIELD_NUMBER: builtins.int
    WORD_FIELD_NUMBER: builtins.int
    word: builtins.str
    """Required: The word to be transcribed"""
    @property
    def voice(self) -> TTSTypes_pb2.Voice:
        """Required: The voice of which the phoneset is requested. Only `Voice.name`
        has to be filled
        """

    def __init__(
        self,
        *,
        voice: TTSTypes_pb2.Voice | None = ...,
        word: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["voice", b"voice"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["voice", b"voice", "word", b"word"]) -> None: ...

global___TranscriptionRequest = TranscriptionRequest

@typing.final
class TranscriptionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    TRANSCRIPTION_FIELD_NUMBER: builtins.int
    status: builtins.int
    message: builtins.str
    transcription: builtins.str
    """The transcription of the submitted word"""
    def __init__(
        self,
        *,
        status: builtins.int = ...,
        message: builtins.str = ...,
        transcription: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message", b"message", "status", b"status", "transcription", b"transcription"]) -> None: ...

global___TranscriptionResponse = TranscriptionResponse

@typing.final
class ServerCommand(google.protobuf.message.Message):
    """A command that is sent to the speech engine. START_REQUEST has to encapsulate
    a SpeechRequest.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COMMAND_TYPE_FIELD_NUMBER: builtins.int
    COMMAND_DATA_FIELD_NUMBER: builtins.int
    SPEECH_REQUEST_FIELD_NUMBER: builtins.int
    command_type: global___CommandType.ValueType
    command_data: builtins.bytes
    @property
    def speech_request(self) -> global___SpeechRequest: ...
    def __init__(
        self,
        *,
        command_type: global___CommandType.ValueType = ...,
        command_data: builtins.bytes = ...,
        speech_request: global___SpeechRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["speech_request", b"speech_request"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["command_data", b"command_data", "command_type", b"command_type", "speech_request", b"speech_request"]) -> None: ...

global___ServerCommand = ServerCommand

@typing.final
class ServerCommandResponse(google.protobuf.message.Message):
    """The server's response to a ServerCommand."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESPONSE_TYPE_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    RESPONSE_DATA_FIELD_NUMBER: builtins.int
    SPEECH_RESPONSE_FIELD_NUMBER: builtins.int
    response_type: global___CommandResponseType.ValueType
    status: builtins.int
    message: builtins.str
    response_data: builtins.bytes
    @property
    def speech_response(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SpeechResponse]: ...
    def __init__(
        self,
        *,
        response_type: global___CommandResponseType.ValueType = ...,
        status: builtins.int = ...,
        message: builtins.str = ...,
        response_data: builtins.bytes = ...,
        speech_response: collections.abc.Iterable[global___SpeechResponse] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["message", b"message", "response_data", b"response_data", "response_type", b"response_type", "speech_response", b"speech_response", "status", b"status"]) -> None: ...

global___ServerCommandResponse = ServerCommandResponse

@typing.final
class SpeechResponse(google.protobuf.message.Message):
    """`SpeechResponse` is the top-level message sent by the server for
    the `getSpeech` and `ProcessData`methods. Possibly multiple `SpeechResponse`
    messages are sent while the audio is being generated.
    When the requested output_type is a text type, there will be only one
    SpeechResponse that contains the whole block.
    Howevery, output_type AUDIO will return multiple blocks of audio signal
    that have to be concatenated or streamed to an audio device
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    STATUS_FIELD_NUMBER: builtins.int
    DATA_FIELD_NUMBER: builtins.int
    INPUT_TYPE_FIELD_NUMBER: builtins.int
    OUTPUT_TYPE_FIELD_NUMBER: builtins.int
    status: builtins.int
    """The audio data bytes encoded as specified in
    `SpeechRequestOptionAudioFormat`.
    """
    data: builtins.bytes
    input_type: builtins.str
    output_type: builtins.str
    def __init__(
        self,
        *,
        status: builtins.int = ...,
        data: builtins.bytes = ...,
        input_type: builtins.str = ...,
        output_type: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["data", b"data", "input_type", b"input_type", "output_type", b"output_type", "status", b"status"]) -> None: ...

global___SpeechResponse = SpeechResponse

@typing.final
class VoiceListRequest(google.protobuf.message.Message):
    """Requests a VoiceListResponse that contains all available voices (with the
    specified locale)
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LOCALE_FIELD_NUMBER: builtins.int
    @property
    def locale(self) -> TTSTypes_pb2.SpeechLocale: ...
    def __init__(
        self,
        *,
        locale: TTSTypes_pb2.SpeechLocale | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["locale", b"locale"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["locale", b"locale"]) -> None: ...

global___VoiceListRequest = VoiceListRequest
