"""
@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
