"""
@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.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing
import waCommon.WACommon_pb2

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

        CONTENT_FIELD_NUMBER: builtins.int
        APPLICATIONDATA_FIELD_NUMBER: builtins.int
        SIGNAL_FIELD_NUMBER: builtins.int
        SUBPROTOCOL_FIELD_NUMBER: builtins.int
        @property
        def content(self) -> global___ConsumerApplication.Content: ...
        @property
        def applicationData(self) -> global___ConsumerApplication.ApplicationData: ...
        @property
        def signal(self) -> global___ConsumerApplication.Signal: ...
        @property
        def subProtocol(self) -> global___ConsumerApplication.SubProtocolPayload: ...
        def __init__(
            self,
            *,
            content: global___ConsumerApplication.Content | None = ...,
            applicationData: global___ConsumerApplication.ApplicationData | None = ...,
            signal: global___ConsumerApplication.Signal | None = ...,
            subProtocol: global___ConsumerApplication.SubProtocolPayload | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "applicationData",
                b"applicationData",
                "content",
                b"content",
                "payload",
                b"payload",
                "signal",
                b"signal",
                "subProtocol",
                b"subProtocol",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "applicationData",
                b"applicationData",
                "content",
                b"content",
                "payload",
                b"payload",
                "signal",
                b"signal",
                "subProtocol",
                b"subProtocol",
            ],
        ) -> None: ...
        def WhichOneof(
            self, oneof_group: typing.Literal["payload", b"payload"]
        ) -> (
            typing.Literal["content", "applicationData", "signal", "subProtocol"] | None
        ): ...

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

        FUTUREPROOF_FIELD_NUMBER: builtins.int
        futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType
        def __init__(
            self,
            *,
            futureProof: waCommon.WACommon_pb2.FutureProofBehavior.ValueType
            | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["futureProof", b"futureProof"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["futureProof", b"futureProof"]
        ) -> None: ...

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

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

        class _SpecialTextSizeEnumTypeWrapper(
            google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
                ConsumerApplication.Metadata._SpecialTextSize.ValueType
            ],
            builtins.type,
        ):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            SMALL: ConsumerApplication.Metadata._SpecialTextSize.ValueType  # 1
            MEDIUM: ConsumerApplication.Metadata._SpecialTextSize.ValueType  # 2
            LARGE: ConsumerApplication.Metadata._SpecialTextSize.ValueType  # 3

        class SpecialTextSize(
            _SpecialTextSize, metaclass=_SpecialTextSizeEnumTypeWrapper
        ): ...
        SMALL: ConsumerApplication.Metadata.SpecialTextSize.ValueType  # 1
        MEDIUM: ConsumerApplication.Metadata.SpecialTextSize.ValueType  # 2
        LARGE: ConsumerApplication.Metadata.SpecialTextSize.ValueType  # 3

        SPECIALTEXTSIZE_FIELD_NUMBER: builtins.int
        specialTextSize: global___ConsumerApplication.Metadata.SpecialTextSize.ValueType
        def __init__(
            self,
            *,
            specialTextSize: global___ConsumerApplication.Metadata.SpecialTextSize.ValueType
            | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["specialTextSize", b"specialTextSize"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["specialTextSize", b"specialTextSize"]
        ) -> None: ...

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

        def __init__(
            self,
        ) -> None: ...

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

        REVOKE_FIELD_NUMBER: builtins.int
        @property
        def revoke(self) -> global___ConsumerApplication.RevokeMessage: ...
        def __init__(
            self,
            *,
            revoke: global___ConsumerApplication.RevokeMessage | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "applicationContent", b"applicationContent", "revoke", b"revoke"
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "applicationContent", b"applicationContent", "revoke", b"revoke"
            ],
        ) -> None: ...
        def WhichOneof(
            self,
            oneof_group: typing.Literal["applicationContent", b"applicationContent"],
        ) -> typing.Literal["revoke"] | None: ...

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

        MESSAGETEXT_FIELD_NUMBER: builtins.int
        IMAGEMESSAGE_FIELD_NUMBER: builtins.int
        CONTACTMESSAGE_FIELD_NUMBER: builtins.int
        LOCATIONMESSAGE_FIELD_NUMBER: builtins.int
        EXTENDEDTEXTMESSAGE_FIELD_NUMBER: builtins.int
        STATUSTEXTMESSAGE_FIELD_NUMBER: builtins.int
        DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int
        AUDIOMESSAGE_FIELD_NUMBER: builtins.int
        VIDEOMESSAGE_FIELD_NUMBER: builtins.int
        CONTACTSARRAYMESSAGE_FIELD_NUMBER: builtins.int
        LIVELOCATIONMESSAGE_FIELD_NUMBER: builtins.int
        STICKERMESSAGE_FIELD_NUMBER: builtins.int
        GROUPINVITEMESSAGE_FIELD_NUMBER: builtins.int
        VIEWONCEMESSAGE_FIELD_NUMBER: builtins.int
        REACTIONMESSAGE_FIELD_NUMBER: builtins.int
        POLLCREATIONMESSAGE_FIELD_NUMBER: builtins.int
        POLLUPDATEMESSAGE_FIELD_NUMBER: builtins.int
        EDITMESSAGE_FIELD_NUMBER: builtins.int
        @property
        def messageText(self) -> waCommon.WACommon_pb2.MessageText: ...
        @property
        def imageMessage(self) -> global___ConsumerApplication.ImageMessage: ...
        @property
        def contactMessage(self) -> global___ConsumerApplication.ContactMessage: ...
        @property
        def locationMessage(self) -> global___ConsumerApplication.LocationMessage: ...
        @property
        def extendedTextMessage(
            self,
        ) -> global___ConsumerApplication.ExtendedTextMessage: ...
        @property
        def statusTextMessage(
            self,
        ) -> global___ConsumerApplication.StatusTextMesage: ...
        @property
        def documentMessage(self) -> global___ConsumerApplication.DocumentMessage: ...
        @property
        def audioMessage(self) -> global___ConsumerApplication.AudioMessage: ...
        @property
        def videoMessage(self) -> global___ConsumerApplication.VideoMessage: ...
        @property
        def contactsArrayMessage(
            self,
        ) -> global___ConsumerApplication.ContactsArrayMessage: ...
        @property
        def liveLocationMessage(
            self,
        ) -> global___ConsumerApplication.LiveLocationMessage: ...
        @property
        def stickerMessage(self) -> global___ConsumerApplication.StickerMessage: ...
        @property
        def groupInviteMessage(
            self,
        ) -> global___ConsumerApplication.GroupInviteMessage: ...
        @property
        def viewOnceMessage(self) -> global___ConsumerApplication.ViewOnceMessage: ...
        @property
        def reactionMessage(self) -> global___ConsumerApplication.ReactionMessage: ...
        @property
        def pollCreationMessage(
            self,
        ) -> global___ConsumerApplication.PollCreationMessage: ...
        @property
        def pollUpdateMessage(
            self,
        ) -> global___ConsumerApplication.PollUpdateMessage: ...
        @property
        def editMessage(self) -> global___ConsumerApplication.EditMessage: ...
        def __init__(
            self,
            *,
            messageText: waCommon.WACommon_pb2.MessageText | None = ...,
            imageMessage: global___ConsumerApplication.ImageMessage | None = ...,
            contactMessage: global___ConsumerApplication.ContactMessage | None = ...,
            locationMessage: global___ConsumerApplication.LocationMessage | None = ...,
            extendedTextMessage: global___ConsumerApplication.ExtendedTextMessage
            | None = ...,
            statusTextMessage: global___ConsumerApplication.StatusTextMesage
            | None = ...,
            documentMessage: global___ConsumerApplication.DocumentMessage | None = ...,
            audioMessage: global___ConsumerApplication.AudioMessage | None = ...,
            videoMessage: global___ConsumerApplication.VideoMessage | None = ...,
            contactsArrayMessage: global___ConsumerApplication.ContactsArrayMessage
            | None = ...,
            liveLocationMessage: global___ConsumerApplication.LiveLocationMessage
            | None = ...,
            stickerMessage: global___ConsumerApplication.StickerMessage | None = ...,
            groupInviteMessage: global___ConsumerApplication.GroupInviteMessage
            | None = ...,
            viewOnceMessage: global___ConsumerApplication.ViewOnceMessage | None = ...,
            reactionMessage: global___ConsumerApplication.ReactionMessage | None = ...,
            pollCreationMessage: global___ConsumerApplication.PollCreationMessage
            | None = ...,
            pollUpdateMessage: global___ConsumerApplication.PollUpdateMessage
            | None = ...,
            editMessage: global___ConsumerApplication.EditMessage | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "audioMessage",
                b"audioMessage",
                "contactMessage",
                b"contactMessage",
                "contactsArrayMessage",
                b"contactsArrayMessage",
                "content",
                b"content",
                "documentMessage",
                b"documentMessage",
                "editMessage",
                b"editMessage",
                "extendedTextMessage",
                b"extendedTextMessage",
                "groupInviteMessage",
                b"groupInviteMessage",
                "imageMessage",
                b"imageMessage",
                "liveLocationMessage",
                b"liveLocationMessage",
                "locationMessage",
                b"locationMessage",
                "messageText",
                b"messageText",
                "pollCreationMessage",
                b"pollCreationMessage",
                "pollUpdateMessage",
                b"pollUpdateMessage",
                "reactionMessage",
                b"reactionMessage",
                "statusTextMessage",
                b"statusTextMessage",
                "stickerMessage",
                b"stickerMessage",
                "videoMessage",
                b"videoMessage",
                "viewOnceMessage",
                b"viewOnceMessage",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "audioMessage",
                b"audioMessage",
                "contactMessage",
                b"contactMessage",
                "contactsArrayMessage",
                b"contactsArrayMessage",
                "content",
                b"content",
                "documentMessage",
                b"documentMessage",
                "editMessage",
                b"editMessage",
                "extendedTextMessage",
                b"extendedTextMessage",
                "groupInviteMessage",
                b"groupInviteMessage",
                "imageMessage",
                b"imageMessage",
                "liveLocationMessage",
                b"liveLocationMessage",
                "locationMessage",
                b"locationMessage",
                "messageText",
                b"messageText",
                "pollCreationMessage",
                b"pollCreationMessage",
                "pollUpdateMessage",
                b"pollUpdateMessage",
                "reactionMessage",
                b"reactionMessage",
                "statusTextMessage",
                b"statusTextMessage",
                "stickerMessage",
                b"stickerMessage",
                "videoMessage",
                b"videoMessage",
                "viewOnceMessage",
                b"viewOnceMessage",
            ],
        ) -> None: ...
        def WhichOneof(
            self, oneof_group: typing.Literal["content", b"content"]
        ) -> (
            typing.Literal[
                "messageText",
                "imageMessage",
                "contactMessage",
                "locationMessage",
                "extendedTextMessage",
                "statusTextMessage",
                "documentMessage",
                "audioMessage",
                "videoMessage",
                "contactsArrayMessage",
                "liveLocationMessage",
                "stickerMessage",
                "groupInviteMessage",
                "viewOnceMessage",
                "reactionMessage",
                "pollCreationMessage",
                "pollUpdateMessage",
                "editMessage",
            ]
            | None
        ): ...

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

        KEY_FIELD_NUMBER: builtins.int
        MESSAGE_FIELD_NUMBER: builtins.int
        TIMESTAMPMS_FIELD_NUMBER: builtins.int
        timestampMS: builtins.int
        @property
        def key(self) -> waCommon.WACommon_pb2.MessageKey: ...
        @property
        def message(self) -> waCommon.WACommon_pb2.MessageText: ...
        def __init__(
            self,
            *,
            key: waCommon.WACommon_pb2.MessageKey | None = ...,
            message: waCommon.WACommon_pb2.MessageText | None = ...,
            timestampMS: builtins.int | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "key", b"key", "message", b"message", "timestampMS", b"timestampMS"
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "key", b"key", "message", b"message", "timestampMS", b"timestampMS"
            ],
        ) -> None: ...

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

        POLLOPTION_FIELD_NUMBER: builtins.int
        @property
        def pollOption(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            global___ConsumerApplication.Option
        ]: ...
        def __init__(
            self,
            *,
            pollOption: collections.abc.Iterable[global___ConsumerApplication.Option]
            | None = ...,
        ) -> None: ...
        def ClearField(
            self, field_name: typing.Literal["pollOption", b"pollOption"]
        ) -> None: ...

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

        SELECTEDOPTIONS_FIELD_NUMBER: builtins.int
        SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int
        senderTimestampMS: builtins.int
        @property
        def selectedOptions(
            self,
        ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
            builtins.bytes
        ]: ...
        def __init__(
            self,
            *,
            selectedOptions: collections.abc.Iterable[builtins.bytes] | None = ...,
            senderTimestampMS: builtins.int | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["senderTimestampMS", b"senderTimestampMS"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "selectedOptions",
                b"selectedOptions",
                "senderTimestampMS",
                b"senderTimestampMS",
            ],
        ) -> None: ...

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

        ENCPAYLOAD_FIELD_NUMBER: builtins.int
        ENCIV_FIELD_NUMBER: builtins.int
        encPayload: builtins.bytes
        encIV: builtins.bytes
        def __init__(
            self,
            *,
            encPayload: builtins.bytes | None = ...,
            encIV: builtins.bytes | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload"],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload"],
        ) -> None: ...

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

        POLLCREATIONMESSAGEKEY_FIELD_NUMBER: builtins.int
        VOTE_FIELD_NUMBER: builtins.int
        ADDOPTION_FIELD_NUMBER: builtins.int
        @property
        def pollCreationMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
        @property
        def vote(self) -> global___ConsumerApplication.PollEncValue: ...
        @property
        def addOption(self) -> global___ConsumerApplication.PollEncValue: ...
        def __init__(
            self,
            *,
            pollCreationMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
            vote: global___ConsumerApplication.PollEncValue | None = ...,
            addOption: global___ConsumerApplication.PollEncValue | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "addOption",
                b"addOption",
                "pollCreationMessageKey",
                b"pollCreationMessageKey",
                "vote",
                b"vote",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "addOption",
                b"addOption",
                "pollCreationMessageKey",
                b"pollCreationMessageKey",
                "vote",
                b"vote",
            ],
        ) -> None: ...

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

        ENCKEY_FIELD_NUMBER: builtins.int
        NAME_FIELD_NUMBER: builtins.int
        OPTIONS_FIELD_NUMBER: builtins.int
        SELECTABLEOPTIONSCOUNT_FIELD_NUMBER: builtins.int
        encKey: builtins.bytes
        name: builtins.str
        selectableOptionsCount: builtins.int
        @property
        def options(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            global___ConsumerApplication.Option
        ]: ...
        def __init__(
            self,
            *,
            encKey: builtins.bytes | None = ...,
            name: builtins.str | None = ...,
            options: collections.abc.Iterable[global___ConsumerApplication.Option]
            | None = ...,
            selectableOptionsCount: builtins.int | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "encKey",
                b"encKey",
                "name",
                b"name",
                "selectableOptionsCount",
                b"selectableOptionsCount",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "encKey",
                b"encKey",
                "name",
                b"name",
                "options",
                b"options",
                "selectableOptionsCount",
                b"selectableOptionsCount",
            ],
        ) -> None: ...

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

        OPTIONNAME_FIELD_NUMBER: builtins.int
        optionName: builtins.str
        def __init__(
            self,
            *,
            optionName: builtins.str | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["optionName", b"optionName"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["optionName", b"optionName"]
        ) -> None: ...

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

        KEY_FIELD_NUMBER: builtins.int
        TEXT_FIELD_NUMBER: builtins.int
        GROUPINGKEY_FIELD_NUMBER: builtins.int
        SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int
        REACTIONMETADATADATACLASSDATA_FIELD_NUMBER: builtins.int
        STYLE_FIELD_NUMBER: builtins.int
        text: builtins.str
        groupingKey: builtins.str
        senderTimestampMS: builtins.int
        reactionMetadataDataclassData: builtins.str
        style: builtins.int
        @property
        def key(self) -> waCommon.WACommon_pb2.MessageKey: ...
        def __init__(
            self,
            *,
            key: waCommon.WACommon_pb2.MessageKey | None = ...,
            text: builtins.str | None = ...,
            groupingKey: builtins.str | None = ...,
            senderTimestampMS: builtins.int | None = ...,
            reactionMetadataDataclassData: builtins.str | None = ...,
            style: builtins.int | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "groupingKey",
                b"groupingKey",
                "key",
                b"key",
                "reactionMetadataDataclassData",
                b"reactionMetadataDataclassData",
                "senderTimestampMS",
                b"senderTimestampMS",
                "style",
                b"style",
                "text",
                b"text",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "groupingKey",
                b"groupingKey",
                "key",
                b"key",
                "reactionMetadataDataclassData",
                b"reactionMetadataDataclassData",
                "senderTimestampMS",
                b"senderTimestampMS",
                "style",
                b"style",
                "text",
                b"text",
            ],
        ) -> None: ...

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

        KEY_FIELD_NUMBER: builtins.int
        @property
        def key(self) -> waCommon.WACommon_pb2.MessageKey: ...
        def __init__(
            self,
            *,
            key: waCommon.WACommon_pb2.MessageKey | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["key", b"key"]
        ) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["key", b"key"]) -> None: ...

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

        IMAGEMESSAGE_FIELD_NUMBER: builtins.int
        VIDEOMESSAGE_FIELD_NUMBER: builtins.int
        @property
        def imageMessage(self) -> global___ConsumerApplication.ImageMessage: ...
        @property
        def videoMessage(self) -> global___ConsumerApplication.VideoMessage: ...
        def __init__(
            self,
            *,
            imageMessage: global___ConsumerApplication.ImageMessage | None = ...,
            videoMessage: global___ConsumerApplication.VideoMessage | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "imageMessage",
                b"imageMessage",
                "videoMessage",
                b"videoMessage",
                "viewOnceContent",
                b"viewOnceContent",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "imageMessage",
                b"imageMessage",
                "videoMessage",
                b"videoMessage",
                "viewOnceContent",
                b"viewOnceContent",
            ],
        ) -> None: ...
        def WhichOneof(
            self, oneof_group: typing.Literal["viewOnceContent", b"viewOnceContent"]
        ) -> typing.Literal["imageMessage", "videoMessage"] | None: ...

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

        GROUPJID_FIELD_NUMBER: builtins.int
        INVITECODE_FIELD_NUMBER: builtins.int
        INVITEEXPIRATION_FIELD_NUMBER: builtins.int
        GROUPNAME_FIELD_NUMBER: builtins.int
        JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
        CAPTION_FIELD_NUMBER: builtins.int
        groupJID: builtins.str
        inviteCode: builtins.str
        inviteExpiration: builtins.int
        groupName: builtins.str
        JPEGThumbnail: builtins.bytes
        @property
        def caption(self) -> waCommon.WACommon_pb2.MessageText: ...
        def __init__(
            self,
            *,
            groupJID: builtins.str | None = ...,
            inviteCode: builtins.str | None = ...,
            inviteExpiration: builtins.int | None = ...,
            groupName: builtins.str | None = ...,
            JPEGThumbnail: builtins.bytes | None = ...,
            caption: waCommon.WACommon_pb2.MessageText | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "JPEGThumbnail",
                b"JPEGThumbnail",
                "caption",
                b"caption",
                "groupJID",
                b"groupJID",
                "groupName",
                b"groupName",
                "inviteCode",
                b"inviteCode",
                "inviteExpiration",
                b"inviteExpiration",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "JPEGThumbnail",
                b"JPEGThumbnail",
                "caption",
                b"caption",
                "groupJID",
                b"groupJID",
                "groupName",
                b"groupName",
                "inviteCode",
                b"inviteCode",
                "inviteExpiration",
                b"inviteExpiration",
            ],
        ) -> None: ...

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

        LOCATION_FIELD_NUMBER: builtins.int
        ACCURACYINMETERS_FIELD_NUMBER: builtins.int
        SPEEDINMPS_FIELD_NUMBER: builtins.int
        DEGREESCLOCKWISEFROMMAGNETICNORTH_FIELD_NUMBER: builtins.int
        CAPTION_FIELD_NUMBER: builtins.int
        SEQUENCENUMBER_FIELD_NUMBER: builtins.int
        TIMEOFFSET_FIELD_NUMBER: builtins.int
        accuracyInMeters: builtins.int
        speedInMps: builtins.float
        degreesClockwiseFromMagneticNorth: builtins.int
        sequenceNumber: builtins.int
        timeOffset: builtins.int
        @property
        def location(self) -> global___ConsumerApplication.Location: ...
        @property
        def caption(self) -> waCommon.WACommon_pb2.MessageText: ...
        def __init__(
            self,
            *,
            location: global___ConsumerApplication.Location | None = ...,
            accuracyInMeters: builtins.int | None = ...,
            speedInMps: builtins.float | None = ...,
            degreesClockwiseFromMagneticNorth: builtins.int | None = ...,
            caption: waCommon.WACommon_pb2.MessageText | None = ...,
            sequenceNumber: builtins.int | None = ...,
            timeOffset: builtins.int | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "accuracyInMeters",
                b"accuracyInMeters",
                "caption",
                b"caption",
                "degreesClockwiseFromMagneticNorth",
                b"degreesClockwiseFromMagneticNorth",
                "location",
                b"location",
                "sequenceNumber",
                b"sequenceNumber",
                "speedInMps",
                b"speedInMps",
                "timeOffset",
                b"timeOffset",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "accuracyInMeters",
                b"accuracyInMeters",
                "caption",
                b"caption",
                "degreesClockwiseFromMagneticNorth",
                b"degreesClockwiseFromMagneticNorth",
                "location",
                b"location",
                "sequenceNumber",
                b"sequenceNumber",
                "speedInMps",
                b"speedInMps",
                "timeOffset",
                b"timeOffset",
            ],
        ) -> None: ...

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

        DISPLAYNAME_FIELD_NUMBER: builtins.int
        CONTACTS_FIELD_NUMBER: builtins.int
        displayName: builtins.str
        @property
        def contacts(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            global___ConsumerApplication.ContactMessage
        ]: ...
        def __init__(
            self,
            *,
            displayName: builtins.str | None = ...,
            contacts: collections.abc.Iterable[
                global___ConsumerApplication.ContactMessage
            ]
            | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["displayName", b"displayName"]
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "contacts", b"contacts", "displayName", b"displayName"
            ],
        ) -> None: ...

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

        CONTACT_FIELD_NUMBER: builtins.int
        @property
        def contact(self) -> waCommon.WACommon_pb2.SubProtocol: ...
        def __init__(
            self,
            *,
            contact: waCommon.WACommon_pb2.SubProtocol | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["contact", b"contact"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["contact", b"contact"]
        ) -> None: ...

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

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

        class _FontTypeEnumTypeWrapper(
            google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
                ConsumerApplication.StatusTextMesage._FontType.ValueType
            ],
            builtins.type,
        ):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            SANS_SERIF: ConsumerApplication.StatusTextMesage._FontType.ValueType  # 0
            SERIF: ConsumerApplication.StatusTextMesage._FontType.ValueType  # 1
            NORICAN_REGULAR: (
                ConsumerApplication.StatusTextMesage._FontType.ValueType
            )  # 2
            BRYNDAN_WRITE: ConsumerApplication.StatusTextMesage._FontType.ValueType  # 3
            BEBASNEUE_REGULAR: (
                ConsumerApplication.StatusTextMesage._FontType.ValueType
            )  # 4
            OSWALD_HEAVY: ConsumerApplication.StatusTextMesage._FontType.ValueType  # 5

        class FontType(_FontType, metaclass=_FontTypeEnumTypeWrapper): ...
        SANS_SERIF: ConsumerApplication.StatusTextMesage.FontType.ValueType  # 0
        SERIF: ConsumerApplication.StatusTextMesage.FontType.ValueType  # 1
        NORICAN_REGULAR: ConsumerApplication.StatusTextMesage.FontType.ValueType  # 2
        BRYNDAN_WRITE: ConsumerApplication.StatusTextMesage.FontType.ValueType  # 3
        BEBASNEUE_REGULAR: ConsumerApplication.StatusTextMesage.FontType.ValueType  # 4
        OSWALD_HEAVY: ConsumerApplication.StatusTextMesage.FontType.ValueType  # 5

        TEXT_FIELD_NUMBER: builtins.int
        TEXTARGB_FIELD_NUMBER: builtins.int
        BACKGROUNDARGB_FIELD_NUMBER: builtins.int
        FONT_FIELD_NUMBER: builtins.int
        textArgb: builtins.int
        backgroundArgb: builtins.int
        font: global___ConsumerApplication.StatusTextMesage.FontType.ValueType
        @property
        def text(self) -> global___ConsumerApplication.ExtendedTextMessage: ...
        def __init__(
            self,
            *,
            text: global___ConsumerApplication.ExtendedTextMessage | None = ...,
            textArgb: builtins.int | None = ...,
            backgroundArgb: builtins.int | None = ...,
            font: global___ConsumerApplication.StatusTextMesage.FontType.ValueType
            | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "backgroundArgb",
                b"backgroundArgb",
                "font",
                b"font",
                "text",
                b"text",
                "textArgb",
                b"textArgb",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "backgroundArgb",
                b"backgroundArgb",
                "font",
                b"font",
                "text",
                b"text",
                "textArgb",
                b"textArgb",
            ],
        ) -> None: ...

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

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

        class _PreviewTypeEnumTypeWrapper(
            google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[
                ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType
            ],
            builtins.type,
        ):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            NONE: ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType  # 0
            VIDEO: ConsumerApplication.ExtendedTextMessage._PreviewType.ValueType  # 1

        class PreviewType(_PreviewType, metaclass=_PreviewTypeEnumTypeWrapper): ...
        NONE: ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType  # 0
        VIDEO: ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType  # 1

        TEXT_FIELD_NUMBER: builtins.int
        MATCHEDTEXT_FIELD_NUMBER: builtins.int
        CANONICALURL_FIELD_NUMBER: builtins.int
        DESCRIPTION_FIELD_NUMBER: builtins.int
        TITLE_FIELD_NUMBER: builtins.int
        THUMBNAIL_FIELD_NUMBER: builtins.int
        PREVIEWTYPE_FIELD_NUMBER: builtins.int
        matchedText: builtins.str
        canonicalURL: builtins.str
        description: builtins.str
        title: builtins.str
        previewType: (
            global___ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType
        )
        @property
        def text(self) -> waCommon.WACommon_pb2.MessageText: ...
        @property
        def thumbnail(self) -> waCommon.WACommon_pb2.SubProtocol: ...
        def __init__(
            self,
            *,
            text: waCommon.WACommon_pb2.MessageText | None = ...,
            matchedText: builtins.str | None = ...,
            canonicalURL: builtins.str | None = ...,
            description: builtins.str | None = ...,
            title: builtins.str | None = ...,
            thumbnail: waCommon.WACommon_pb2.SubProtocol | None = ...,
            previewType: global___ConsumerApplication.ExtendedTextMessage.PreviewType.ValueType
            | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "canonicalURL",
                b"canonicalURL",
                "description",
                b"description",
                "matchedText",
                b"matchedText",
                "previewType",
                b"previewType",
                "text",
                b"text",
                "thumbnail",
                b"thumbnail",
                "title",
                b"title",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "canonicalURL",
                b"canonicalURL",
                "description",
                b"description",
                "matchedText",
                b"matchedText",
                "previewType",
                b"previewType",
                "text",
                b"text",
                "thumbnail",
                b"thumbnail",
                "title",
                b"title",
            ],
        ) -> None: ...

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

        LOCATION_FIELD_NUMBER: builtins.int
        ADDRESS_FIELD_NUMBER: builtins.int
        address: builtins.str
        @property
        def location(self) -> global___ConsumerApplication.Location: ...
        def __init__(
            self,
            *,
            location: global___ConsumerApplication.Location | None = ...,
            address: builtins.str | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal["address", b"address", "location", b"location"],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal["address", b"address", "location", b"location"],
        ) -> None: ...

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

        STICKER_FIELD_NUMBER: builtins.int
        @property
        def sticker(self) -> waCommon.WACommon_pb2.SubProtocol: ...
        def __init__(
            self,
            *,
            sticker: waCommon.WACommon_pb2.SubProtocol | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["sticker", b"sticker"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["sticker", b"sticker"]
        ) -> None: ...

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

        DOCUMENT_FIELD_NUMBER: builtins.int
        FILENAME_FIELD_NUMBER: builtins.int
        fileName: builtins.str
        @property
        def document(self) -> waCommon.WACommon_pb2.SubProtocol: ...
        def __init__(
            self,
            *,
            document: waCommon.WACommon_pb2.SubProtocol | None = ...,
            fileName: builtins.str | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "document", b"document", "fileName", b"fileName"
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "document", b"document", "fileName", b"fileName"
            ],
        ) -> None: ...

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

        VIDEO_FIELD_NUMBER: builtins.int
        CAPTION_FIELD_NUMBER: builtins.int
        @property
        def video(self) -> waCommon.WACommon_pb2.SubProtocol: ...
        @property
        def caption(self) -> waCommon.WACommon_pb2.MessageText: ...
        def __init__(
            self,
            *,
            video: waCommon.WACommon_pb2.SubProtocol | None = ...,
            caption: waCommon.WACommon_pb2.MessageText | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["caption", b"caption", "video", b"video"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["caption", b"caption", "video", b"video"]
        ) -> None: ...

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

        AUDIO_FIELD_NUMBER: builtins.int
        PTT_FIELD_NUMBER: builtins.int
        PTT: builtins.bool
        @property
        def audio(self) -> waCommon.WACommon_pb2.SubProtocol: ...
        def __init__(
            self,
            *,
            audio: waCommon.WACommon_pb2.SubProtocol | None = ...,
            PTT: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["PTT", b"PTT", "audio", b"audio"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["PTT", b"PTT", "audio", b"audio"]
        ) -> None: ...

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

        IMAGE_FIELD_NUMBER: builtins.int
        CAPTION_FIELD_NUMBER: builtins.int
        @property
        def image(self) -> waCommon.WACommon_pb2.SubProtocol: ...
        @property
        def caption(self) -> waCommon.WACommon_pb2.MessageText: ...
        def __init__(
            self,
            *,
            image: waCommon.WACommon_pb2.SubProtocol | None = ...,
            caption: waCommon.WACommon_pb2.MessageText | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["caption", b"caption", "image", b"image"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["caption", b"caption", "image", b"image"]
        ) -> None: ...

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

        LOCATION_FIELD_NUMBER: builtins.int
        POLYGONVERTICES_FIELD_NUMBER: builtins.int
        @property
        def location(self) -> global___ConsumerApplication.Location: ...
        @property
        def polygonVertices(
            self,
        ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
            global___ConsumerApplication.Point
        ]: ...
        def __init__(
            self,
            *,
            location: global___ConsumerApplication.Location | None = ...,
            polygonVertices: collections.abc.Iterable[
                global___ConsumerApplication.Point
            ]
            | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal["action", b"action", "location", b"location"],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "action",
                b"action",
                "location",
                b"location",
                "polygonVertices",
                b"polygonVertices",
            ],
        ) -> None: ...
        def WhichOneof(
            self, oneof_group: typing.Literal["action", b"action"]
        ) -> typing.Literal["location"] | None: ...

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

        X_FIELD_NUMBER: builtins.int
        Y_FIELD_NUMBER: builtins.int
        x: builtins.float
        y: builtins.float
        def __init__(
            self,
            *,
            x: builtins.float | None = ...,
            y: builtins.float | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["x", b"x", "y", b"y"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["x", b"x", "y", b"y"]
        ) -> None: ...

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

        DEGREESLATITUDE_FIELD_NUMBER: builtins.int
        DEGREESLONGITUDE_FIELD_NUMBER: builtins.int
        NAME_FIELD_NUMBER: builtins.int
        degreesLatitude: builtins.float
        degreesLongitude: builtins.float
        name: builtins.str
        def __init__(
            self,
            *,
            degreesLatitude: builtins.float | None = ...,
            degreesLongitude: builtins.float | None = ...,
            name: builtins.str | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "degreesLatitude",
                b"degreesLatitude",
                "degreesLongitude",
                b"degreesLongitude",
                "name",
                b"name",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "degreesLatitude",
                b"degreesLatitude",
                "degreesLongitude",
                b"degreesLongitude",
                "name",
                b"name",
            ],
        ) -> None: ...

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

        PROTOCOL_FIELD_NUMBER: builtins.int
        @property
        def protocol(self) -> waCommon.WACommon_pb2.SubProtocol: ...
        def __init__(
            self,
            *,
            protocol: waCommon.WACommon_pb2.SubProtocol | None = ...,
        ) -> None: ...
        def HasField(
            self, field_name: typing.Literal["protocol", b"protocol"]
        ) -> builtins.bool: ...
        def ClearField(
            self, field_name: typing.Literal["protocol", b"protocol"]
        ) -> None: ...

    PAYLOAD_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    @property
    def payload(self) -> global___ConsumerApplication.Payload: ...
    @property
    def metadata(self) -> global___ConsumerApplication.Metadata: ...
    def __init__(
        self,
        *,
        payload: global___ConsumerApplication.Payload | None = ...,
        metadata: global___ConsumerApplication.Metadata | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]
    ) -> builtins.bool: ...
    def ClearField(
        self, field_name: typing.Literal["metadata", b"metadata", "payload", b"payload"]
    ) -> None: ...

global___ConsumerApplication = ConsumerApplication
