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

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import yandex.cloud.speechsense.v1.audio_pb2
import yandex.cloud.speechsense.v1.text_pb2

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class StreamTalkRequest(google.protobuf.message.Message):
    """streaming request to create audio dialog"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    METADATA_FIELD_NUMBER: builtins.int
    AUDIO_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> global___TalkMetadata:
        """talk document metadata containing channel id and channel field values"""

    @property
    def audio(self) -> yandex.cloud.speechsense.v1.audio_pb2.AudioStreamingRequest:
        """audio metadata or chunk"""

    def __init__(
        self,
        *,
        metadata: global___TalkMetadata | None = ...,
        audio: yandex.cloud.speechsense.v1.audio_pb2.AudioStreamingRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["Event", b"Event", "audio", b"audio", "metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["Event", b"Event", "audio", b"audio", "metadata", b"metadata"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["Event", b"Event"]) -> typing.Literal["metadata", "audio"] | None: ...

global___StreamTalkRequest = StreamTalkRequest

@typing.final
class UploadTalkRequest(google.protobuf.message.Message):
    """request to create audio dialog"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    METADATA_FIELD_NUMBER: builtins.int
    AUDIO_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> global___TalkMetadata: ...
    @property
    def audio(self) -> yandex.cloud.speechsense.v1.audio_pb2.AudioRequest:
        """audio payload"""

    def __init__(
        self,
        *,
        metadata: global___TalkMetadata | None = ...,
        audio: yandex.cloud.speechsense.v1.audio_pb2.AudioRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["audio", b"audio", "metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["audio", b"audio", "metadata", b"metadata"]) -> None: ...

global___UploadTalkRequest = UploadTalkRequest

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

    TALK_ID_FIELD_NUMBER: builtins.int
    talk_id: builtins.str
    """id of created talk document"""
    def __init__(
        self,
        *,
        talk_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["talk_id", b"talk_id"]) -> None: ...

global___UploadTalkResponse = UploadTalkResponse

@typing.final
class UploadTextRequest(google.protobuf.message.Message):
    """request to create text based dialog"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    METADATA_FIELD_NUMBER: builtins.int
    TEXT_CONTENT_FIELD_NUMBER: builtins.int
    @property
    def metadata(self) -> global___TalkMetadata: ...
    @property
    def text_content(self) -> yandex.cloud.speechsense.v1.text_pb2.TextContent: ...
    def __init__(
        self,
        *,
        metadata: global___TalkMetadata | None = ...,
        text_content: yandex.cloud.speechsense.v1.text_pb2.TextContent | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["metadata", b"metadata", "text_content", b"text_content"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "text_content", b"text_content"]) -> None: ...

global___UploadTextRequest = UploadTextRequest

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

    TALK_ID_FIELD_NUMBER: builtins.int
    talk_id: builtins.str
    """id of created talk document"""
    def __init__(
        self,
        *,
        talk_id: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["talk_id", b"talk_id"]) -> None: ...

global___UploadTextResponse = UploadTextResponse

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

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

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        value: builtins.str
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: builtins.str = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

    CONNECTION_ID_FIELD_NUMBER: builtins.int
    FIELDS_FIELD_NUMBER: builtins.int
    connection_id: builtins.str
    """id of connection this talk belongs too"""
    @property
    def fields(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]:
        """channel defined fields"""

    def __init__(
        self,
        *,
        connection_id: builtins.str = ...,
        fields: collections.abc.Mapping[builtins.str, builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["connection_id", b"connection_id", "fields", b"fields"]) -> None: ...

global___TalkMetadata = TalkMetadata
