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

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
import builtins as _builtins
import sys
import typing as _typing

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

DESCRIPTOR: _descriptor.FileDescriptor

@_typing.final
class Message(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    @_typing.final
    class ExtendedTextMessage(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        TEXT_FIELD_NUMBER: _builtins.int
        CONTEXTINFO_FIELD_NUMBER: _builtins.int
        text: _builtins.str
        @_builtins.property
        def contextInfo(self) -> Global___Message.ContextInfo: ...
        def __init__(
            self,
            *,
            text: _builtins.str | None = ...,
            contextInfo: Global___Message.ContextInfo | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["contextInfo", b"contextInfo", "text", b"text"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["contextInfo", b"contextInfo", "text", b"text"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    @_typing.final
    class ContextInfo(_message.Message):
        DESCRIPTOR: _descriptor.Descriptor

        STANZAID_FIELD_NUMBER: _builtins.int
        PARTICIPANT_FIELD_NUMBER: _builtins.int
        QUOTEDMESSAGE_FIELD_NUMBER: _builtins.int
        stanzaID: _builtins.str
        participant: _builtins.str
        @_builtins.property
        def quotedMessage(self) -> Global___Message: ...
        def __init__(
            self,
            *,
            stanzaID: _builtins.str | None = ...,
            participant: _builtins.str | None = ...,
            quotedMessage: Global___Message | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["participant", b"participant", "quotedMessage", b"quotedMessage", "stanzaID", b"stanzaID"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["participant", b"participant", "quotedMessage", b"quotedMessage", "stanzaID", b"stanzaID"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    CONVERSATION_FIELD_NUMBER: _builtins.int
    EXTENDEDTEXTMESSAGE_FIELD_NUMBER: _builtins.int
    MESSAGECONTEXTINFO_FIELD_NUMBER: _builtins.int
    conversation: _builtins.str
    @_builtins.property
    def extendedTextMessage(self) -> Global___Message.ExtendedTextMessage: ...
    @_builtins.property
    def messageContextInfo(self) -> Global___MessageContextInfo: ...
    def __init__(
        self,
        *,
        conversation: _builtins.str | None = ...,
        extendedTextMessage: Global___Message.ExtendedTextMessage | None = ...,
        messageContextInfo: Global___MessageContextInfo | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["conversation", b"conversation", "extendedTextMessage", b"extendedTextMessage", "messageContextInfo", b"messageContextInfo"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["conversation", b"conversation", "extendedTextMessage", b"extendedTextMessage", "messageContextInfo", b"messageContextInfo"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Message: _TypeAlias = Message  # noqa: Y015

@_typing.final
class MessageContextInfo(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    MESSAGESECRET_FIELD_NUMBER: _builtins.int
    messageSecret: _builtins.bytes
    def __init__(
        self,
        *,
        messageSecret: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["messageSecret", b"messageSecret"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["messageSecret", b"messageSecret"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___MessageContextInfo: _TypeAlias = MessageContextInfo  # noqa: Y015
