"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import avikom.headset.common_utterance_pb2
import avikom.headset.functional_sound_pb2
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

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

class _ModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Mode.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    MODE_UNKNOWN: _Mode.ValueType  # 0
    """/ represents an unset mode; should not be used actively"""
    MODE_DEFAULT: _Mode.ValueType  # 1
    """/ resets the auditory peer to plain input-output mode"""
    MODE_TRANSPARENT: _Mode.ValueType  # 2
    """/ sound picked up be the microphone is played back via the headphones"""

class Mode(_Mode, metaclass=_ModeEnumTypeWrapper):
    """*
    Defines the mode that should be activated for the auditory peer. The mode changes the auditory input and output 
    behaviour of the auditory peer.
    @author: Lars Schalkwijk <lars.schalkwijk@fh-bielefeld.de>
    """

MODE_UNKNOWN: Mode.ValueType  # 0
"""/ represents an unset mode; should not be used actively"""
MODE_DEFAULT: Mode.ValueType  # 1
"""/ resets the auditory peer to plain input-output mode"""
MODE_TRANSPARENT: Mode.ValueType  # 2
"""/ sound picked up be the microphone is played back via the headphones"""
global___Mode = Mode

@typing_extensions.final
class AudioPeerModeRequest(google.protobuf.message.Message):
    """*
    A Mode request passed to SetMode.
    @author: Lars Schalkwijk <lars.schalkwijk@fh-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MODE_FIELD_NUMBER: builtins.int
    mode: global___Mode.ValueType
    """/ the mode the auditory peer should activate"""
    def __init__(
        self,
        *,
        mode: global___Mode.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["mode", b"mode"]) -> None: ...

global___AudioPeerModeRequest = AudioPeerModeRequest

@typing_extensions.final
class FunctionalSoundRequest(google.protobuf.message.Message):
    """*
    A FunctionalSound request that either includes a standardized functional sound or the name of 
    an audio file to be played. The audio file has to be available in the web-client data path "data/Default/Sounds".
    @author: Lars Schalkwijk <lars.schalkwijk@fh-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FUNCTIONAL_SOUND_FIELD_NUMBER: builtins.int
    OTHER_SOUND_FIELD_NUMBER: builtins.int
    functional_sound: avikom.headset.functional_sound_pb2.FunctionalSound.ValueType
    """/ a set of predefined sounds to provide feedback to users"""
    other_sound: builtins.str
    """/"""
    def __init__(
        self,
        *,
        functional_sound: avikom.headset.functional_sound_pb2.FunctionalSound.ValueType = ...,
        other_sound: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["functional_sound", b"functional_sound", "other_sound", b"other_sound"]) -> None: ...

global___FunctionalSoundRequest = FunctionalSoundRequest

@typing_extensions.final
class SayRequest(google.protobuf.message.Message):
    """*
    A request that either includes a standardized utterance or custom output to be played back via TTS. 
    The output is queued with other speech output.
    @author: Lars Schalkwijk <lars.schalkwijk@fh-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    UTTERANCE_FIELD_NUMBER: builtins.int
    COMMON_UTTERANCE_FIELD_NUMBER: builtins.int
    utterance: builtins.str
    """/ a string representation of what should be generated as speech"""
    common_utterance: avikom.headset.common_utterance_pb2.CommonUtterance.ValueType
    """/ a set of predefined speech outputs"""
    def __init__(
        self,
        *,
        utterance: builtins.str = ...,
        common_utterance: avikom.headset.common_utterance_pb2.CommonUtterance.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["common_utterance", b"common_utterance", "utterance", b"utterance"]) -> None: ...

global___SayRequest = SayRequest
