"""
@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 waAICommon.WAAICommon_pb2
import waAdv.WAAdv_pb2
import waCommon.WACommon_pb2
import waCompanionReg.WACompanionReg_pb2
import waMmsRetry.WAMmsRetry_pb2
import waStatusAttributions.WAStatusAttributions_pb2

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _PollTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PollType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    POLL: _PollType.ValueType  # 0
    QUIZ: _PollType.ValueType  # 1

class PollType(_PollType, metaclass=_PollTypeEnumTypeWrapper): ...

POLL: PollType.ValueType  # 0
QUIZ: PollType.ValueType  # 1
Global___PollType: typing_extensions.TypeAlias = PollType

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

class _PollContentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PollContentType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN_POLL_CONTENT_TYPE: _PollContentType.ValueType  # 0
    TEXT: _PollContentType.ValueType  # 1
    IMAGE: _PollContentType.ValueType  # 2

class PollContentType(_PollContentType, metaclass=_PollContentTypeEnumTypeWrapper): ...

UNKNOWN_POLL_CONTENT_TYPE: PollContentType.ValueType  # 0
TEXT: PollContentType.ValueType  # 1
IMAGE: PollContentType.ValueType  # 2
Global___PollContentType: typing_extensions.TypeAlias = PollContentType

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

class _PeerDataOperationRequestTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PeerDataOperationRequestType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UPLOAD_STICKER: _PeerDataOperationRequestType.ValueType  # 0
    SEND_RECENT_STICKER_BOOTSTRAP: _PeerDataOperationRequestType.ValueType  # 1
    GENERATE_LINK_PREVIEW: _PeerDataOperationRequestType.ValueType  # 2
    HISTORY_SYNC_ON_DEMAND: _PeerDataOperationRequestType.ValueType  # 3
    PLACEHOLDER_MESSAGE_RESEND: _PeerDataOperationRequestType.ValueType  # 4
    WAFFLE_LINKING_NONCE_FETCH: _PeerDataOperationRequestType.ValueType  # 5
    FULL_HISTORY_SYNC_ON_DEMAND: _PeerDataOperationRequestType.ValueType  # 6
    COMPANION_META_NONCE_FETCH: _PeerDataOperationRequestType.ValueType  # 7
    COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY: _PeerDataOperationRequestType.ValueType  # 8
    COMPANION_CANONICAL_USER_NONCE_FETCH: _PeerDataOperationRequestType.ValueType  # 9
    HISTORY_SYNC_CHUNK_RETRY: _PeerDataOperationRequestType.ValueType  # 10
    GALAXY_FLOW_ACTION: _PeerDataOperationRequestType.ValueType  # 11

class PeerDataOperationRequestType(_PeerDataOperationRequestType, metaclass=_PeerDataOperationRequestTypeEnumTypeWrapper): ...

UPLOAD_STICKER: PeerDataOperationRequestType.ValueType  # 0
SEND_RECENT_STICKER_BOOTSTRAP: PeerDataOperationRequestType.ValueType  # 1
GENERATE_LINK_PREVIEW: PeerDataOperationRequestType.ValueType  # 2
HISTORY_SYNC_ON_DEMAND: PeerDataOperationRequestType.ValueType  # 3
PLACEHOLDER_MESSAGE_RESEND: PeerDataOperationRequestType.ValueType  # 4
WAFFLE_LINKING_NONCE_FETCH: PeerDataOperationRequestType.ValueType  # 5
FULL_HISTORY_SYNC_ON_DEMAND: PeerDataOperationRequestType.ValueType  # 6
COMPANION_META_NONCE_FETCH: PeerDataOperationRequestType.ValueType  # 7
COMPANION_SYNCD_SNAPSHOT_FATAL_RECOVERY: PeerDataOperationRequestType.ValueType  # 8
COMPANION_CANONICAL_USER_NONCE_FETCH: PeerDataOperationRequestType.ValueType  # 9
HISTORY_SYNC_CHUNK_RETRY: PeerDataOperationRequestType.ValueType  # 10
GALAXY_FLOW_ACTION: PeerDataOperationRequestType.ValueType  # 11
Global___PeerDataOperationRequestType: typing_extensions.TypeAlias = PeerDataOperationRequestType

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

class _HistorySyncTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HistorySyncType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    INITIAL_BOOTSTRAP: _HistorySyncType.ValueType  # 0
    INITIAL_STATUS_V3: _HistorySyncType.ValueType  # 1
    FULL: _HistorySyncType.ValueType  # 2
    RECENT: _HistorySyncType.ValueType  # 3
    PUSH_NAME: _HistorySyncType.ValueType  # 4
    NON_BLOCKING_DATA: _HistorySyncType.ValueType  # 5
    ON_DEMAND: _HistorySyncType.ValueType  # 6
    NO_HISTORY: _HistorySyncType.ValueType  # 7
    MESSAGE_ACCESS_STATUS: _HistorySyncType.ValueType  # 8

class HistorySyncType(_HistorySyncType, metaclass=_HistorySyncTypeEnumTypeWrapper): ...

INITIAL_BOOTSTRAP: HistorySyncType.ValueType  # 0
INITIAL_STATUS_V3: HistorySyncType.ValueType  # 1
FULL: HistorySyncType.ValueType  # 2
RECENT: HistorySyncType.ValueType  # 3
PUSH_NAME: HistorySyncType.ValueType  # 4
NON_BLOCKING_DATA: HistorySyncType.ValueType  # 5
ON_DEMAND: HistorySyncType.ValueType  # 6
NO_HISTORY: HistorySyncType.ValueType  # 7
MESSAGE_ACCESS_STATUS: HistorySyncType.ValueType  # 8
Global___HistorySyncType: typing_extensions.TypeAlias = HistorySyncType

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

class _MediaKeyDomainEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MediaKeyDomain.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNSET: _MediaKeyDomain.ValueType  # 0
    E2EE_CHAT: _MediaKeyDomain.ValueType  # 1
    STATUS: _MediaKeyDomain.ValueType  # 2
    CAPI: _MediaKeyDomain.ValueType  # 3
    BOT: _MediaKeyDomain.ValueType  # 4

class MediaKeyDomain(_MediaKeyDomain, metaclass=_MediaKeyDomainEnumTypeWrapper): ...

UNSET: MediaKeyDomain.ValueType  # 0
E2EE_CHAT: MediaKeyDomain.ValueType  # 1
STATUS: MediaKeyDomain.ValueType  # 2
CAPI: MediaKeyDomain.ValueType  # 3
BOT: MediaKeyDomain.ValueType  # 4
Global___MediaKeyDomain: typing_extensions.TypeAlias = MediaKeyDomain

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

class _WebLinkRenderConfigEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_WebLinkRenderConfig.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    WEBVIEW: _WebLinkRenderConfig.ValueType  # 0
    SYSTEM: _WebLinkRenderConfig.ValueType  # 1

class WebLinkRenderConfig(_WebLinkRenderConfig, metaclass=_WebLinkRenderConfigEnumTypeWrapper): ...

WEBVIEW: WebLinkRenderConfig.ValueType  # 0
SYSTEM: WebLinkRenderConfig.ValueType  # 1
Global___WebLinkRenderConfig: typing_extensions.TypeAlias = WebLinkRenderConfig

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

class _KeepTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_KeepType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    UNKNOWN_KEEP_TYPE: _KeepType.ValueType  # 0
    KEEP_FOR_ALL: _KeepType.ValueType  # 1
    UNDO_KEEP_FOR_ALL: _KeepType.ValueType  # 2

class KeepType(_KeepType, metaclass=_KeepTypeEnumTypeWrapper): ...

UNKNOWN_KEEP_TYPE: KeepType.ValueType  # 0
KEEP_FOR_ALL: KeepType.ValueType  # 1
UNDO_KEEP_FOR_ALL: KeepType.ValueType  # 2
Global___KeepType: typing_extensions.TypeAlias = KeepType

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

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

    class _StickerPackOriginEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StickerPackMessage._StickerPackOrigin.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        FIRST_PARTY: StickerPackMessage._StickerPackOrigin.ValueType  # 0
        THIRD_PARTY: StickerPackMessage._StickerPackOrigin.ValueType  # 1
        USER_CREATED: StickerPackMessage._StickerPackOrigin.ValueType  # 2

    class StickerPackOrigin(_StickerPackOrigin, metaclass=_StickerPackOriginEnumTypeWrapper): ...
    FIRST_PARTY: StickerPackMessage.StickerPackOrigin.ValueType  # 0
    THIRD_PARTY: StickerPackMessage.StickerPackOrigin.ValueType  # 1
    USER_CREATED: StickerPackMessage.StickerPackOrigin.ValueType  # 2

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

        FILENAME_FIELD_NUMBER: builtins.int
        ISANIMATED_FIELD_NUMBER: builtins.int
        EMOJIS_FIELD_NUMBER: builtins.int
        ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int
        ISLOTTIE_FIELD_NUMBER: builtins.int
        MIMETYPE_FIELD_NUMBER: builtins.int
        fileName: builtins.str
        isAnimated: builtins.bool
        accessibilityLabel: builtins.str
        isLottie: builtins.bool
        mimetype: builtins.str
        @property
        def emojis(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
        def __init__(
            self,
            *,
            fileName: builtins.str | None = ...,
            isAnimated: builtins.bool | None = ...,
            emojis: collections.abc.Iterable[builtins.str] | None = ...,
            accessibilityLabel: builtins.str | None = ...,
            isLottie: builtins.bool | None = ...,
            mimetype: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "fileName", b"fileName", "isAnimated", b"isAnimated", "isLottie", b"isLottie", "mimetype", b"mimetype"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["accessibilityLabel", b"accessibilityLabel", "emojis", b"emojis", "fileName", b"fileName", "isAnimated", b"isAnimated", "isLottie", b"isLottie", "mimetype", b"mimetype"]) -> None: ...

    STICKERPACKID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    PUBLISHER_FIELD_NUMBER: builtins.int
    STICKERS_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    FILESHA256_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    DIRECTPATH_FIELD_NUMBER: builtins.int
    CAPTION_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    PACKDESCRIPTION_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    TRAYICONFILENAME_FIELD_NUMBER: builtins.int
    THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int
    THUMBNAILSHA256_FIELD_NUMBER: builtins.int
    THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int
    THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int
    THUMBNAILWIDTH_FIELD_NUMBER: builtins.int
    IMAGEDATAHASH_FIELD_NUMBER: builtins.int
    STICKERPACKSIZE_FIELD_NUMBER: builtins.int
    STICKERPACKORIGIN_FIELD_NUMBER: builtins.int
    stickerPackID: builtins.str
    name: builtins.str
    publisher: builtins.str
    fileLength: builtins.int
    fileSHA256: builtins.bytes
    fileEncSHA256: builtins.bytes
    mediaKey: builtins.bytes
    directPath: builtins.str
    caption: builtins.str
    packDescription: builtins.str
    mediaKeyTimestamp: builtins.int
    trayIconFileName: builtins.str
    thumbnailDirectPath: builtins.str
    thumbnailSHA256: builtins.bytes
    thumbnailEncSHA256: builtins.bytes
    thumbnailHeight: builtins.int
    thumbnailWidth: builtins.int
    imageDataHash: builtins.str
    stickerPackSize: builtins.int
    stickerPackOrigin: Global___StickerPackMessage.StickerPackOrigin.ValueType
    @property
    def stickers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___StickerPackMessage.Sticker]: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        stickerPackID: builtins.str | None = ...,
        name: builtins.str | None = ...,
        publisher: builtins.str | None = ...,
        stickers: collections.abc.Iterable[Global___StickerPackMessage.Sticker] | None = ...,
        fileLength: builtins.int | None = ...,
        fileSHA256: builtins.bytes | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        mediaKey: builtins.bytes | None = ...,
        directPath: builtins.str | None = ...,
        caption: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        packDescription: builtins.str | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        trayIconFileName: builtins.str | None = ...,
        thumbnailDirectPath: builtins.str | None = ...,
        thumbnailSHA256: builtins.bytes | None = ...,
        thumbnailEncSHA256: builtins.bytes | None = ...,
        thumbnailHeight: builtins.int | None = ...,
        thumbnailWidth: builtins.int | None = ...,
        imageDataHash: builtins.str | None = ...,
        stickerPackSize: builtins.int | None = ...,
        stickerPackOrigin: Global___StickerPackMessage.StickerPackOrigin.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "imageDataHash", b"imageDataHash", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "name", b"name", "packDescription", b"packDescription", "publisher", b"publisher", "stickerPackID", b"stickerPackID", "stickerPackOrigin", b"stickerPackOrigin", "stickerPackSize", b"stickerPackSize", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "trayIconFileName", b"trayIconFileName"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "imageDataHash", b"imageDataHash", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "name", b"name", "packDescription", b"packDescription", "publisher", b"publisher", "stickerPackID", b"stickerPackID", "stickerPackOrigin", b"stickerPackOrigin", "stickerPackSize", b"stickerPackSize", "stickers", b"stickers", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "trayIconFileName", b"trayIconFileName"]) -> None: ...

Global___StickerPackMessage: typing_extensions.TypeAlias = StickerPackMessage

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

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

    class _PlaceholderTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PlaceholderMessage._PlaceholderType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        MASK_LINKED_DEVICES: PlaceholderMessage._PlaceholderType.ValueType  # 0

    class PlaceholderType(_PlaceholderType, metaclass=_PlaceholderTypeEnumTypeWrapper): ...
    MASK_LINKED_DEVICES: PlaceholderMessage.PlaceholderType.ValueType  # 0

    TYPE_FIELD_NUMBER: builtins.int
    type: Global___PlaceholderMessage.PlaceholderType.ValueType
    def __init__(
        self,
        *,
        type: Global___PlaceholderMessage.PlaceholderType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["type", b"type"]) -> None: ...

Global___PlaceholderMessage: typing_extensions.TypeAlias = PlaceholderMessage

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

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

    class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BCallMessage._MediaType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: BCallMessage._MediaType.ValueType  # 0
        AUDIO: BCallMessage._MediaType.ValueType  # 1
        VIDEO: BCallMessage._MediaType.ValueType  # 2

    class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ...
    UNKNOWN: BCallMessage.MediaType.ValueType  # 0
    AUDIO: BCallMessage.MediaType.ValueType  # 1
    VIDEO: BCallMessage.MediaType.ValueType  # 2

    SESSIONID_FIELD_NUMBER: builtins.int
    MEDIATYPE_FIELD_NUMBER: builtins.int
    MASTERKEY_FIELD_NUMBER: builtins.int
    CAPTION_FIELD_NUMBER: builtins.int
    sessionID: builtins.str
    mediaType: Global___BCallMessage.MediaType.ValueType
    masterKey: builtins.bytes
    caption: builtins.str
    def __init__(
        self,
        *,
        sessionID: builtins.str | None = ...,
        mediaType: Global___BCallMessage.MediaType.ValueType | None = ...,
        masterKey: builtins.bytes | None = ...,
        caption: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["caption", b"caption", "masterKey", b"masterKey", "mediaType", b"mediaType", "sessionID", b"sessionID"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["caption", b"caption", "masterKey", b"masterKey", "mediaType", b"mediaType", "sessionID", b"sessionID"]) -> None: ...

Global___BCallMessage: typing_extensions.TypeAlias = BCallMessage

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

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

    class _CallOutcomeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogMessage._CallOutcome.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        CONNECTED: CallLogMessage._CallOutcome.ValueType  # 0
        MISSED: CallLogMessage._CallOutcome.ValueType  # 1
        FAILED: CallLogMessage._CallOutcome.ValueType  # 2
        REJECTED: CallLogMessage._CallOutcome.ValueType  # 3
        ACCEPTED_ELSEWHERE: CallLogMessage._CallOutcome.ValueType  # 4
        ONGOING: CallLogMessage._CallOutcome.ValueType  # 5
        SILENCED_BY_DND: CallLogMessage._CallOutcome.ValueType  # 6
        SILENCED_UNKNOWN_CALLER: CallLogMessage._CallOutcome.ValueType  # 7

    class CallOutcome(_CallOutcome, metaclass=_CallOutcomeEnumTypeWrapper): ...
    CONNECTED: CallLogMessage.CallOutcome.ValueType  # 0
    MISSED: CallLogMessage.CallOutcome.ValueType  # 1
    FAILED: CallLogMessage.CallOutcome.ValueType  # 2
    REJECTED: CallLogMessage.CallOutcome.ValueType  # 3
    ACCEPTED_ELSEWHERE: CallLogMessage.CallOutcome.ValueType  # 4
    ONGOING: CallLogMessage.CallOutcome.ValueType  # 5
    SILENCED_BY_DND: CallLogMessage.CallOutcome.ValueType  # 6
    SILENCED_UNKNOWN_CALLER: CallLogMessage.CallOutcome.ValueType  # 7

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

    class _CallTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CallLogMessage._CallType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        REGULAR: CallLogMessage._CallType.ValueType  # 0
        SCHEDULED_CALL: CallLogMessage._CallType.ValueType  # 1
        VOICE_CHAT: CallLogMessage._CallType.ValueType  # 2

    class CallType(_CallType, metaclass=_CallTypeEnumTypeWrapper): ...
    REGULAR: CallLogMessage.CallType.ValueType  # 0
    SCHEDULED_CALL: CallLogMessage.CallType.ValueType  # 1
    VOICE_CHAT: CallLogMessage.CallType.ValueType  # 2

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

        JID_FIELD_NUMBER: builtins.int
        CALLOUTCOME_FIELD_NUMBER: builtins.int
        JID: builtins.str
        callOutcome: Global___CallLogMessage.CallOutcome.ValueType
        def __init__(
            self,
            *,
            JID: builtins.str | None = ...,
            callOutcome: Global___CallLogMessage.CallOutcome.ValueType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["JID", b"JID", "callOutcome", b"callOutcome"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["JID", b"JID", "callOutcome", b"callOutcome"]) -> None: ...

    ISVIDEO_FIELD_NUMBER: builtins.int
    CALLOUTCOME_FIELD_NUMBER: builtins.int
    DURATIONSECS_FIELD_NUMBER: builtins.int
    CALLTYPE_FIELD_NUMBER: builtins.int
    PARTICIPANTS_FIELD_NUMBER: builtins.int
    isVideo: builtins.bool
    callOutcome: Global___CallLogMessage.CallOutcome.ValueType
    durationSecs: builtins.int
    callType: Global___CallLogMessage.CallType.ValueType
    @property
    def participants(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___CallLogMessage.CallParticipant]: ...
    def __init__(
        self,
        *,
        isVideo: builtins.bool | None = ...,
        callOutcome: Global___CallLogMessage.CallOutcome.ValueType | None = ...,
        durationSecs: builtins.int | None = ...,
        callType: Global___CallLogMessage.CallType.ValueType | None = ...,
        participants: collections.abc.Iterable[Global___CallLogMessage.CallParticipant] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["callOutcome", b"callOutcome", "callType", b"callType", "durationSecs", b"durationSecs", "isVideo", b"isVideo"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["callOutcome", b"callOutcome", "callType", b"callType", "durationSecs", b"durationSecs", "isVideo", b"isVideo", "participants", b"participants"]) -> None: ...

Global___CallLogMessage: typing_extensions.TypeAlias = CallLogMessage

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

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

    class _EditTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ScheduledCallEditMessage._EditType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ScheduledCallEditMessage._EditType.ValueType  # 0
        CANCEL: ScheduledCallEditMessage._EditType.ValueType  # 1

    class EditType(_EditType, metaclass=_EditTypeEnumTypeWrapper): ...
    UNKNOWN: ScheduledCallEditMessage.EditType.ValueType  # 0
    CANCEL: ScheduledCallEditMessage.EditType.ValueType  # 1

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

Global___ScheduledCallEditMessage: typing_extensions.TypeAlias = ScheduledCallEditMessage

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

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

    class _CallTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ScheduledCallCreationMessage._CallType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ScheduledCallCreationMessage._CallType.ValueType  # 0
        VOICE: ScheduledCallCreationMessage._CallType.ValueType  # 1
        VIDEO: ScheduledCallCreationMessage._CallType.ValueType  # 2

    class CallType(_CallType, metaclass=_CallTypeEnumTypeWrapper): ...
    UNKNOWN: ScheduledCallCreationMessage.CallType.ValueType  # 0
    VOICE: ScheduledCallCreationMessage.CallType.ValueType  # 1
    VIDEO: ScheduledCallCreationMessage.CallType.ValueType  # 2

    SCHEDULEDTIMESTAMPMS_FIELD_NUMBER: builtins.int
    CALLTYPE_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    scheduledTimestampMS: builtins.int
    callType: Global___ScheduledCallCreationMessage.CallType.ValueType
    title: builtins.str
    def __init__(
        self,
        *,
        scheduledTimestampMS: builtins.int | None = ...,
        callType: Global___ScheduledCallCreationMessage.CallType.ValueType | None = ...,
        title: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["callType", b"callType", "scheduledTimestampMS", b"scheduledTimestampMS", "title", b"title"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["callType", b"callType", "scheduledTimestampMS", b"scheduledTimestampMS", "title", b"title"]) -> None: ...

Global___ScheduledCallCreationMessage: typing_extensions.TypeAlias = ScheduledCallCreationMessage

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

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

    class _EventResponseTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[EventResponseMessage._EventResponseType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: EventResponseMessage._EventResponseType.ValueType  # 0
        GOING: EventResponseMessage._EventResponseType.ValueType  # 1
        NOT_GOING: EventResponseMessage._EventResponseType.ValueType  # 2
        MAYBE: EventResponseMessage._EventResponseType.ValueType  # 3

    class EventResponseType(_EventResponseType, metaclass=_EventResponseTypeEnumTypeWrapper): ...
    UNKNOWN: EventResponseMessage.EventResponseType.ValueType  # 0
    GOING: EventResponseMessage.EventResponseType.ValueType  # 1
    NOT_GOING: EventResponseMessage.EventResponseType.ValueType  # 2
    MAYBE: EventResponseMessage.EventResponseType.ValueType  # 3

    RESPONSE_FIELD_NUMBER: builtins.int
    TIMESTAMPMS_FIELD_NUMBER: builtins.int
    EXTRAGUESTCOUNT_FIELD_NUMBER: builtins.int
    response: Global___EventResponseMessage.EventResponseType.ValueType
    timestampMS: builtins.int
    extraGuestCount: builtins.int
    def __init__(
        self,
        *,
        response: Global___EventResponseMessage.EventResponseType.ValueType | None = ...,
        timestampMS: builtins.int | None = ...,
        extraGuestCount: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["extraGuestCount", b"extraGuestCount", "response", b"response", "timestampMS", b"timestampMS"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["extraGuestCount", b"extraGuestCount", "response", b"response", "timestampMS", b"timestampMS"]) -> None: ...

Global___EventResponseMessage: typing_extensions.TypeAlias = EventResponseMessage

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

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

    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PinInChatMessage._Type.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN_TYPE: PinInChatMessage._Type.ValueType  # 0
        PIN_FOR_ALL: PinInChatMessage._Type.ValueType  # 1
        UNPIN_FOR_ALL: PinInChatMessage._Type.ValueType  # 2

    class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
    UNKNOWN_TYPE: PinInChatMessage.Type.ValueType  # 0
    PIN_FOR_ALL: PinInChatMessage.Type.ValueType  # 1
    UNPIN_FOR_ALL: PinInChatMessage.Type.ValueType  # 2

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

Global___PinInChatMessage: typing_extensions.TypeAlias = PinInChatMessage

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

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

    class _StatusStickerTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusStickerInteractionMessage._StatusStickerType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: StatusStickerInteractionMessage._StatusStickerType.ValueType  # 0
        REACTION: StatusStickerInteractionMessage._StatusStickerType.ValueType  # 1

    class StatusStickerType(_StatusStickerType, metaclass=_StatusStickerTypeEnumTypeWrapper): ...
    UNKNOWN: StatusStickerInteractionMessage.StatusStickerType.ValueType  # 0
    REACTION: StatusStickerInteractionMessage.StatusStickerType.ValueType  # 1

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

Global___StatusStickerInteractionMessage: typing_extensions.TypeAlias = StatusStickerInteractionMessage

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

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

    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsResponseMessage._Type.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ButtonsResponseMessage._Type.ValueType  # 0
        DISPLAY_TEXT: ButtonsResponseMessage._Type.ValueType  # 1

    class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
    UNKNOWN: ButtonsResponseMessage.Type.ValueType  # 0
    DISPLAY_TEXT: ButtonsResponseMessage.Type.ValueType  # 1

    SELECTEDDISPLAYTEXT_FIELD_NUMBER: builtins.int
    SELECTEDBUTTONID_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    selectedDisplayText: builtins.str
    selectedButtonID: builtins.str
    type: Global___ButtonsResponseMessage.Type.ValueType
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        selectedDisplayText: builtins.str | None = ...,
        selectedButtonID: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        type: Global___ButtonsResponseMessage.Type.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "response", b"response", "selectedButtonID", b"selectedButtonID", "selectedDisplayText", b"selectedDisplayText", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "response", b"response", "selectedButtonID", b"selectedButtonID", "selectedDisplayText", b"selectedDisplayText", "type", b"type"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["response", b"response"]) -> typing.Literal["selectedDisplayText"] | None: ...

Global___ButtonsResponseMessage: typing_extensions.TypeAlias = ButtonsResponseMessage

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

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

    class _HeaderTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsMessage._HeaderType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ButtonsMessage._HeaderType.ValueType  # 0
        EMPTY: ButtonsMessage._HeaderType.ValueType  # 1
        TEXT: ButtonsMessage._HeaderType.ValueType  # 2
        DOCUMENT: ButtonsMessage._HeaderType.ValueType  # 3
        IMAGE: ButtonsMessage._HeaderType.ValueType  # 4
        VIDEO: ButtonsMessage._HeaderType.ValueType  # 5
        LOCATION: ButtonsMessage._HeaderType.ValueType  # 6

    class HeaderType(_HeaderType, metaclass=_HeaderTypeEnumTypeWrapper): ...
    UNKNOWN: ButtonsMessage.HeaderType.ValueType  # 0
    EMPTY: ButtonsMessage.HeaderType.ValueType  # 1
    TEXT: ButtonsMessage.HeaderType.ValueType  # 2
    DOCUMENT: ButtonsMessage.HeaderType.ValueType  # 3
    IMAGE: ButtonsMessage.HeaderType.ValueType  # 4
    VIDEO: ButtonsMessage.HeaderType.ValueType  # 5
    LOCATION: ButtonsMessage.HeaderType.ValueType  # 6

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

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

        class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ButtonsMessage.Button._Type.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNKNOWN: ButtonsMessage.Button._Type.ValueType  # 0
            RESPONSE: ButtonsMessage.Button._Type.ValueType  # 1
            NATIVE_FLOW: ButtonsMessage.Button._Type.ValueType  # 2

        class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
        UNKNOWN: ButtonsMessage.Button.Type.ValueType  # 0
        RESPONSE: ButtonsMessage.Button.Type.ValueType  # 1
        NATIVE_FLOW: ButtonsMessage.Button.Type.ValueType  # 2

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

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

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

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

        BUTTONID_FIELD_NUMBER: builtins.int
        BUTTONTEXT_FIELD_NUMBER: builtins.int
        TYPE_FIELD_NUMBER: builtins.int
        NATIVEFLOWINFO_FIELD_NUMBER: builtins.int
        buttonID: builtins.str
        type: Global___ButtonsMessage.Button.Type.ValueType
        @property
        def buttonText(self) -> Global___ButtonsMessage.Button.ButtonText: ...
        @property
        def nativeFlowInfo(self) -> Global___ButtonsMessage.Button.NativeFlowInfo: ...
        def __init__(
            self,
            *,
            buttonID: builtins.str | None = ...,
            buttonText: Global___ButtonsMessage.Button.ButtonText | None = ...,
            type: Global___ButtonsMessage.Button.Type.ValueType | None = ...,
            nativeFlowInfo: Global___ButtonsMessage.Button.NativeFlowInfo | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["buttonID", b"buttonID", "buttonText", b"buttonText", "nativeFlowInfo", b"nativeFlowInfo", "type", b"type"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["buttonID", b"buttonID", "buttonText", b"buttonText", "nativeFlowInfo", b"nativeFlowInfo", "type", b"type"]) -> None: ...

    TEXT_FIELD_NUMBER: builtins.int
    DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int
    IMAGEMESSAGE_FIELD_NUMBER: builtins.int
    VIDEOMESSAGE_FIELD_NUMBER: builtins.int
    LOCATIONMESSAGE_FIELD_NUMBER: builtins.int
    CONTENTTEXT_FIELD_NUMBER: builtins.int
    FOOTERTEXT_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    BUTTONS_FIELD_NUMBER: builtins.int
    HEADERTYPE_FIELD_NUMBER: builtins.int
    text: builtins.str
    contentText: builtins.str
    footerText: builtins.str
    headerType: Global___ButtonsMessage.HeaderType.ValueType
    @property
    def documentMessage(self) -> Global___DocumentMessage: ...
    @property
    def imageMessage(self) -> Global___ImageMessage: ...
    @property
    def videoMessage(self) -> Global___VideoMessage: ...
    @property
    def locationMessage(self) -> Global___LocationMessage: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ButtonsMessage.Button]: ...
    def __init__(
        self,
        *,
        text: builtins.str | None = ...,
        documentMessage: Global___DocumentMessage | None = ...,
        imageMessage: Global___ImageMessage | None = ...,
        videoMessage: Global___VideoMessage | None = ...,
        locationMessage: Global___LocationMessage | None = ...,
        contentText: builtins.str | None = ...,
        footerText: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        buttons: collections.abc.Iterable[Global___ButtonsMessage.Button] | None = ...,
        headerType: Global___ButtonsMessage.HeaderType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contentText", b"contentText", "contextInfo", b"contextInfo", "documentMessage", b"documentMessage", "footerText", b"footerText", "header", b"header", "headerType", b"headerType", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "text", b"text", "videoMessage", b"videoMessage"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["buttons", b"buttons", "contentText", b"contentText", "contextInfo", b"contextInfo", "documentMessage", b"documentMessage", "footerText", b"footerText", "header", b"header", "headerType", b"headerType", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "text", b"text", "videoMessage", b"videoMessage"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["header", b"header"]) -> typing.Literal["text", "documentMessage", "imageMessage", "videoMessage", "locationMessage"] | None: ...

Global___ButtonsMessage: typing_extensions.TypeAlias = ButtonsMessage

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

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

    class _SecretEncTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SecretEncryptedMessage._SecretEncType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: SecretEncryptedMessage._SecretEncType.ValueType  # 0
        EVENT_EDIT: SecretEncryptedMessage._SecretEncType.ValueType  # 1
        MESSAGE_EDIT: SecretEncryptedMessage._SecretEncType.ValueType  # 2

    class SecretEncType(_SecretEncType, metaclass=_SecretEncTypeEnumTypeWrapper): ...
    UNKNOWN: SecretEncryptedMessage.SecretEncType.ValueType  # 0
    EVENT_EDIT: SecretEncryptedMessage.SecretEncType.ValueType  # 1
    MESSAGE_EDIT: SecretEncryptedMessage.SecretEncType.ValueType  # 2

    TARGETMESSAGEKEY_FIELD_NUMBER: builtins.int
    ENCPAYLOAD_FIELD_NUMBER: builtins.int
    ENCIV_FIELD_NUMBER: builtins.int
    SECRETENCTYPE_FIELD_NUMBER: builtins.int
    encPayload: builtins.bytes
    encIV: builtins.bytes
    secretEncType: Global___SecretEncryptedMessage.SecretEncType.ValueType
    @property
    def targetMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        targetMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        encPayload: builtins.bytes | None = ...,
        encIV: builtins.bytes | None = ...,
        secretEncType: Global___SecretEncryptedMessage.SecretEncType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "secretEncType", b"secretEncType", "targetMessageKey", b"targetMessageKey"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["encIV", b"encIV", "encPayload", b"encPayload", "secretEncType", b"secretEncType", "targetMessageKey", b"targetMessageKey"]) -> None: ...

Global___SecretEncryptedMessage: typing_extensions.TypeAlias = SecretEncryptedMessage

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

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

    class _GroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[GroupInviteMessage._GroupType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        DEFAULT: GroupInviteMessage._GroupType.ValueType  # 0
        PARENT: GroupInviteMessage._GroupType.ValueType  # 1

    class GroupType(_GroupType, metaclass=_GroupTypeEnumTypeWrapper): ...
    DEFAULT: GroupInviteMessage.GroupType.ValueType  # 0
    PARENT: GroupInviteMessage.GroupType.ValueType  # 1

    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
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    GROUPTYPE_FIELD_NUMBER: builtins.int
    groupJID: builtins.str
    inviteCode: builtins.str
    inviteExpiration: builtins.int
    groupName: builtins.str
    JPEGThumbnail: builtins.bytes
    caption: builtins.str
    groupType: Global___GroupInviteMessage.GroupType.ValueType
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        groupJID: builtins.str | None = ...,
        inviteCode: builtins.str | None = ...,
        inviteExpiration: builtins.int | None = ...,
        groupName: builtins.str | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        caption: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        groupType: Global___GroupInviteMessage.GroupType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "groupJID", b"groupJID", "groupName", b"groupName", "groupType", b"groupType", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "groupJID", b"groupJID", "groupName", b"groupName", "groupType", b"groupType", "inviteCode", b"inviteCode", "inviteExpiration", b"inviteExpiration"]) -> None: ...

Global___GroupInviteMessage: typing_extensions.TypeAlias = GroupInviteMessage

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

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

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

        class _FormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveResponseMessage.Body._Format.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            DEFAULT: InteractiveResponseMessage.Body._Format.ValueType  # 0
            EXTENSIONS_1: InteractiveResponseMessage.Body._Format.ValueType  # 1

        class Format(_Format, metaclass=_FormatEnumTypeWrapper): ...
        DEFAULT: InteractiveResponseMessage.Body.Format.ValueType  # 0
        EXTENSIONS_1: InteractiveResponseMessage.Body.Format.ValueType  # 1

        TEXT_FIELD_NUMBER: builtins.int
        FORMAT_FIELD_NUMBER: builtins.int
        text: builtins.str
        format: Global___InteractiveResponseMessage.Body.Format.ValueType
        def __init__(
            self,
            *,
            text: builtins.str | None = ...,
            format: Global___InteractiveResponseMessage.Body.Format.ValueType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["format", b"format", "text", b"text"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["format", b"format", "text", b"text"]) -> None: ...

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

        NAME_FIELD_NUMBER: builtins.int
        PARAMSJSON_FIELD_NUMBER: builtins.int
        VERSION_FIELD_NUMBER: builtins.int
        name: builtins.str
        paramsJSON: builtins.str
        version: builtins.int
        def __init__(
            self,
            *,
            name: builtins.str | None = ...,
            paramsJSON: builtins.str | None = ...,
            version: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["name", b"name", "paramsJSON", b"paramsJSON", "version", b"version"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["name", b"name", "paramsJSON", b"paramsJSON", "version", b"version"]) -> None: ...

    NATIVEFLOWRESPONSEMESSAGE_FIELD_NUMBER: builtins.int
    BODY_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    @property
    def nativeFlowResponseMessage(self) -> Global___InteractiveResponseMessage.NativeFlowResponseMessage: ...
    @property
    def body(self) -> Global___InteractiveResponseMessage.Body: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        nativeFlowResponseMessage: Global___InteractiveResponseMessage.NativeFlowResponseMessage | None = ...,
        body: Global___InteractiveResponseMessage.Body | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["body", b"body", "contextInfo", b"contextInfo", "interactiveResponseMessage", b"interactiveResponseMessage", "nativeFlowResponseMessage", b"nativeFlowResponseMessage"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["body", b"body", "contextInfo", b"contextInfo", "interactiveResponseMessage", b"interactiveResponseMessage", "nativeFlowResponseMessage", b"nativeFlowResponseMessage"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["interactiveResponseMessage", b"interactiveResponseMessage"]) -> typing.Literal["nativeFlowResponseMessage"] | None: ...

Global___InteractiveResponseMessage: typing_extensions.TypeAlias = InteractiveResponseMessage

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

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

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

        class _CarouselCardTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveMessage.CarouselMessage._CarouselCardType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNKNOWN: InteractiveMessage.CarouselMessage._CarouselCardType.ValueType  # 0
            HSCROLL_CARDS: InteractiveMessage.CarouselMessage._CarouselCardType.ValueType  # 1
            ALBUM_IMAGE: InteractiveMessage.CarouselMessage._CarouselCardType.ValueType  # 2

        class CarouselCardType(_CarouselCardType, metaclass=_CarouselCardTypeEnumTypeWrapper): ...
        UNKNOWN: InteractiveMessage.CarouselMessage.CarouselCardType.ValueType  # 0
        HSCROLL_CARDS: InteractiveMessage.CarouselMessage.CarouselCardType.ValueType  # 1
        ALBUM_IMAGE: InteractiveMessage.CarouselMessage.CarouselCardType.ValueType  # 2

        CARDS_FIELD_NUMBER: builtins.int
        MESSAGEVERSION_FIELD_NUMBER: builtins.int
        CAROUSELCARDTYPE_FIELD_NUMBER: builtins.int
        messageVersion: builtins.int
        carouselCardType: Global___InteractiveMessage.CarouselMessage.CarouselCardType.ValueType
        @property
        def cards(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___InteractiveMessage]: ...
        def __init__(
            self,
            *,
            cards: collections.abc.Iterable[Global___InteractiveMessage] | None = ...,
            messageVersion: builtins.int | None = ...,
            carouselCardType: Global___InteractiveMessage.CarouselMessage.CarouselCardType.ValueType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["carouselCardType", b"carouselCardType", "messageVersion", b"messageVersion"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["cards", b"cards", "carouselCardType", b"carouselCardType", "messageVersion", b"messageVersion"]) -> None: ...

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

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

        class _SurfaceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveMessage.ShopMessage._Surface.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNKNOWN_SURFACE: InteractiveMessage.ShopMessage._Surface.ValueType  # 0
            FB: InteractiveMessage.ShopMessage._Surface.ValueType  # 1
            IG: InteractiveMessage.ShopMessage._Surface.ValueType  # 2
            WA: InteractiveMessage.ShopMessage._Surface.ValueType  # 3

        class Surface(_Surface, metaclass=_SurfaceEnumTypeWrapper): ...
        UNKNOWN_SURFACE: InteractiveMessage.ShopMessage.Surface.ValueType  # 0
        FB: InteractiveMessage.ShopMessage.Surface.ValueType  # 1
        IG: InteractiveMessage.ShopMessage.Surface.ValueType  # 2
        WA: InteractiveMessage.ShopMessage.Surface.ValueType  # 3

        ID_FIELD_NUMBER: builtins.int
        SURFACE_FIELD_NUMBER: builtins.int
        MESSAGEVERSION_FIELD_NUMBER: builtins.int
        ID: builtins.str
        surface: Global___InteractiveMessage.ShopMessage.Surface.ValueType
        messageVersion: builtins.int
        def __init__(
            self,
            *,
            ID: builtins.str | None = ...,
            surface: Global___InteractiveMessage.ShopMessage.Surface.ValueType | None = ...,
            messageVersion: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["ID", b"ID", "messageVersion", b"messageVersion", "surface", b"surface"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["ID", b"ID", "messageVersion", b"messageVersion", "surface", b"surface"]) -> None: ...

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

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

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

        BUTTONS_FIELD_NUMBER: builtins.int
        MESSAGEPARAMSJSON_FIELD_NUMBER: builtins.int
        MESSAGEVERSION_FIELD_NUMBER: builtins.int
        messageParamsJSON: builtins.str
        messageVersion: builtins.int
        @property
        def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___InteractiveMessage.NativeFlowMessage.NativeFlowButton]: ...
        def __init__(
            self,
            *,
            buttons: collections.abc.Iterable[Global___InteractiveMessage.NativeFlowMessage.NativeFlowButton] | None = ...,
            messageParamsJSON: builtins.str | None = ...,
            messageVersion: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["messageParamsJSON", b"messageParamsJSON", "messageVersion", b"messageVersion"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["buttons", b"buttons", "messageParamsJSON", b"messageParamsJSON", "messageVersion", b"messageVersion"]) -> None: ...

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

        BIZJID_FIELD_NUMBER: builtins.int
        ID_FIELD_NUMBER: builtins.int
        MESSAGEVERSION_FIELD_NUMBER: builtins.int
        bizJID: builtins.str
        ID: builtins.str
        messageVersion: builtins.int
        def __init__(
            self,
            *,
            bizJID: builtins.str | None = ...,
            ID: builtins.str | None = ...,
            messageVersion: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["ID", b"ID", "bizJID", b"bizJID", "messageVersion", b"messageVersion"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["ID", b"ID", "bizJID", b"bizJID", "messageVersion", b"messageVersion"]) -> None: ...

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

        AUDIOMESSAGE_FIELD_NUMBER: builtins.int
        TEXT_FIELD_NUMBER: builtins.int
        HASMEDIAATTACHMENT_FIELD_NUMBER: builtins.int
        text: builtins.str
        hasMediaAttachment: builtins.bool
        @property
        def audioMessage(self) -> Global___AudioMessage: ...
        def __init__(
            self,
            *,
            audioMessage: Global___AudioMessage | None = ...,
            text: builtins.str | None = ...,
            hasMediaAttachment: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["audioMessage", b"audioMessage", "hasMediaAttachment", b"hasMediaAttachment", "media", b"media", "text", b"text"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["audioMessage", b"audioMessage", "hasMediaAttachment", b"hasMediaAttachment", "media", b"media", "text", b"text"]) -> None: ...
        def WhichOneof(self, oneof_group: typing.Literal["media", b"media"]) -> typing.Literal["audioMessage"] | None: ...

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

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

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

        DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int
        IMAGEMESSAGE_FIELD_NUMBER: builtins.int
        JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
        VIDEOMESSAGE_FIELD_NUMBER: builtins.int
        LOCATIONMESSAGE_FIELD_NUMBER: builtins.int
        PRODUCTMESSAGE_FIELD_NUMBER: builtins.int
        TITLE_FIELD_NUMBER: builtins.int
        SUBTITLE_FIELD_NUMBER: builtins.int
        HASMEDIAATTACHMENT_FIELD_NUMBER: builtins.int
        JPEGThumbnail: builtins.bytes
        title: builtins.str
        subtitle: builtins.str
        hasMediaAttachment: builtins.bool
        @property
        def documentMessage(self) -> Global___DocumentMessage: ...
        @property
        def imageMessage(self) -> Global___ImageMessage: ...
        @property
        def videoMessage(self) -> Global___VideoMessage: ...
        @property
        def locationMessage(self) -> Global___LocationMessage: ...
        @property
        def productMessage(self) -> Global___ProductMessage: ...
        def __init__(
            self,
            *,
            documentMessage: Global___DocumentMessage | None = ...,
            imageMessage: Global___ImageMessage | None = ...,
            JPEGThumbnail: builtins.bytes | None = ...,
            videoMessage: Global___VideoMessage | None = ...,
            locationMessage: Global___LocationMessage | None = ...,
            productMessage: Global___ProductMessage | None = ...,
            title: builtins.str | None = ...,
            subtitle: builtins.str | None = ...,
            hasMediaAttachment: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "documentMessage", b"documentMessage", "hasMediaAttachment", b"hasMediaAttachment", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "media", b"media", "productMessage", b"productMessage", "subtitle", b"subtitle", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "documentMessage", b"documentMessage", "hasMediaAttachment", b"hasMediaAttachment", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "media", b"media", "productMessage", b"productMessage", "subtitle", b"subtitle", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ...
        def WhichOneof(self, oneof_group: typing.Literal["media", b"media"]) -> typing.Literal["documentMessage", "imageMessage", "JPEGThumbnail", "videoMessage", "locationMessage", "productMessage"] | None: ...

    SHOPSTOREFRONTMESSAGE_FIELD_NUMBER: builtins.int
    COLLECTIONMESSAGE_FIELD_NUMBER: builtins.int
    NATIVEFLOWMESSAGE_FIELD_NUMBER: builtins.int
    CAROUSELMESSAGE_FIELD_NUMBER: builtins.int
    HEADER_FIELD_NUMBER: builtins.int
    BODY_FIELD_NUMBER: builtins.int
    FOOTER_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    URLTRACKINGMAP_FIELD_NUMBER: builtins.int
    @property
    def shopStorefrontMessage(self) -> Global___InteractiveMessage.ShopMessage: ...
    @property
    def collectionMessage(self) -> Global___InteractiveMessage.CollectionMessage: ...
    @property
    def nativeFlowMessage(self) -> Global___InteractiveMessage.NativeFlowMessage: ...
    @property
    def carouselMessage(self) -> Global___InteractiveMessage.CarouselMessage: ...
    @property
    def header(self) -> Global___InteractiveMessage.Header: ...
    @property
    def body(self) -> Global___InteractiveMessage.Body: ...
    @property
    def footer(self) -> Global___InteractiveMessage.Footer: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def urlTrackingMap(self) -> Global___UrlTrackingMap: ...
    def __init__(
        self,
        *,
        shopStorefrontMessage: Global___InteractiveMessage.ShopMessage | None = ...,
        collectionMessage: Global___InteractiveMessage.CollectionMessage | None = ...,
        nativeFlowMessage: Global___InteractiveMessage.NativeFlowMessage | None = ...,
        carouselMessage: Global___InteractiveMessage.CarouselMessage | None = ...,
        header: Global___InteractiveMessage.Header | None = ...,
        body: Global___InteractiveMessage.Body | None = ...,
        footer: Global___InteractiveMessage.Footer | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        urlTrackingMap: Global___UrlTrackingMap | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["body", b"body", "carouselMessage", b"carouselMessage", "collectionMessage", b"collectionMessage", "contextInfo", b"contextInfo", "footer", b"footer", "header", b"header", "interactiveMessage", b"interactiveMessage", "nativeFlowMessage", b"nativeFlowMessage", "shopStorefrontMessage", b"shopStorefrontMessage", "urlTrackingMap", b"urlTrackingMap"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["body", b"body", "carouselMessage", b"carouselMessage", "collectionMessage", b"collectionMessage", "contextInfo", b"contextInfo", "footer", b"footer", "header", b"header", "interactiveMessage", b"interactiveMessage", "nativeFlowMessage", b"nativeFlowMessage", "shopStorefrontMessage", b"shopStorefrontMessage", "urlTrackingMap", b"urlTrackingMap"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["interactiveMessage", b"interactiveMessage"]) -> typing.Literal["shopStorefrontMessage", "collectionMessage", "nativeFlowMessage", "carouselMessage"] | None: ...

Global___InteractiveMessage: typing_extensions.TypeAlias = InteractiveMessage

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

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

    class _ListTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ListResponseMessage._ListType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ListResponseMessage._ListType.ValueType  # 0
        SINGLE_SELECT: ListResponseMessage._ListType.ValueType  # 1

    class ListType(_ListType, metaclass=_ListTypeEnumTypeWrapper): ...
    UNKNOWN: ListResponseMessage.ListType.ValueType  # 0
    SINGLE_SELECT: ListResponseMessage.ListType.ValueType  # 1

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

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

    TITLE_FIELD_NUMBER: builtins.int
    LISTTYPE_FIELD_NUMBER: builtins.int
    SINGLESELECTREPLY_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    title: builtins.str
    listType: Global___ListResponseMessage.ListType.ValueType
    description: builtins.str
    @property
    def singleSelectReply(self) -> Global___ListResponseMessage.SingleSelectReply: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        title: builtins.str | None = ...,
        listType: Global___ListResponseMessage.ListType.ValueType | None = ...,
        singleSelectReply: Global___ListResponseMessage.SingleSelectReply | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        description: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "listType", b"listType", "singleSelectReply", b"singleSelectReply", "title", b"title"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "listType", b"listType", "singleSelectReply", b"singleSelectReply", "title", b"title"]) -> None: ...

Global___ListResponseMessage: typing_extensions.TypeAlias = ListResponseMessage

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

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

    class _ListTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ListMessage._ListType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ListMessage._ListType.ValueType  # 0
        SINGLE_SELECT: ListMessage._ListType.ValueType  # 1
        PRODUCT_LIST: ListMessage._ListType.ValueType  # 2

    class ListType(_ListType, metaclass=_ListTypeEnumTypeWrapper): ...
    UNKNOWN: ListMessage.ListType.ValueType  # 0
    SINGLE_SELECT: ListMessage.ListType.ValueType  # 1
    PRODUCT_LIST: ListMessage.ListType.ValueType  # 2

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

        PRODUCTSECTIONS_FIELD_NUMBER: builtins.int
        HEADERIMAGE_FIELD_NUMBER: builtins.int
        BUSINESSOWNERJID_FIELD_NUMBER: builtins.int
        businessOwnerJID: builtins.str
        @property
        def productSections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ListMessage.ProductSection]: ...
        @property
        def headerImage(self) -> Global___ListMessage.ProductListHeaderImage: ...
        def __init__(
            self,
            *,
            productSections: collections.abc.Iterable[Global___ListMessage.ProductSection] | None = ...,
            headerImage: Global___ListMessage.ProductListHeaderImage | None = ...,
            businessOwnerJID: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["businessOwnerJID", b"businessOwnerJID", "headerImage", b"headerImage"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["businessOwnerJID", b"businessOwnerJID", "headerImage", b"headerImage", "productSections", b"productSections"]) -> None: ...

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

        PRODUCTID_FIELD_NUMBER: builtins.int
        JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
        productID: builtins.str
        JPEGThumbnail: builtins.bytes
        def __init__(
            self,
            *,
            productID: builtins.str | None = ...,
            JPEGThumbnail: builtins.bytes | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "productID", b"productID"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "productID", b"productID"]) -> None: ...

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

        TITLE_FIELD_NUMBER: builtins.int
        PRODUCTS_FIELD_NUMBER: builtins.int
        title: builtins.str
        @property
        def products(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ListMessage.Product]: ...
        def __init__(
            self,
            *,
            title: builtins.str | None = ...,
            products: collections.abc.Iterable[Global___ListMessage.Product] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["title", b"title"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["products", b"products", "title", b"title"]) -> None: ...

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

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

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

        TITLE_FIELD_NUMBER: builtins.int
        ROWS_FIELD_NUMBER: builtins.int
        title: builtins.str
        @property
        def rows(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ListMessage.Row]: ...
        def __init__(
            self,
            *,
            title: builtins.str | None = ...,
            rows: collections.abc.Iterable[Global___ListMessage.Row] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["title", b"title"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["rows", b"rows", "title", b"title"]) -> None: ...

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

        TITLE_FIELD_NUMBER: builtins.int
        DESCRIPTION_FIELD_NUMBER: builtins.int
        ROWID_FIELD_NUMBER: builtins.int
        title: builtins.str
        description: builtins.str
        rowID: builtins.str
        def __init__(
            self,
            *,
            title: builtins.str | None = ...,
            description: builtins.str | None = ...,
            rowID: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["description", b"description", "rowID", b"rowID", "title", b"title"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["description", b"description", "rowID", b"rowID", "title", b"title"]) -> None: ...

    TITLE_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    BUTTONTEXT_FIELD_NUMBER: builtins.int
    LISTTYPE_FIELD_NUMBER: builtins.int
    SECTIONS_FIELD_NUMBER: builtins.int
    PRODUCTLISTINFO_FIELD_NUMBER: builtins.int
    FOOTERTEXT_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    title: builtins.str
    description: builtins.str
    buttonText: builtins.str
    listType: Global___ListMessage.ListType.ValueType
    footerText: builtins.str
    @property
    def sections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ListMessage.Section]: ...
    @property
    def productListInfo(self) -> Global___ListMessage.ProductListInfo: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        title: builtins.str | None = ...,
        description: builtins.str | None = ...,
        buttonText: builtins.str | None = ...,
        listType: Global___ListMessage.ListType.ValueType | None = ...,
        sections: collections.abc.Iterable[Global___ListMessage.Section] | None = ...,
        productListInfo: Global___ListMessage.ProductListInfo | None = ...,
        footerText: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["buttonText", b"buttonText", "contextInfo", b"contextInfo", "description", b"description", "footerText", b"footerText", "listType", b"listType", "productListInfo", b"productListInfo", "title", b"title"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["buttonText", b"buttonText", "contextInfo", b"contextInfo", "description", b"description", "footerText", b"footerText", "listType", b"listType", "productListInfo", b"productListInfo", "sections", b"sections", "title", b"title"]) -> None: ...

Global___ListMessage: typing_extensions.TypeAlias = ListMessage

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

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

    class _OrderSurfaceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[OrderMessage._OrderSurface.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        CATALOG: OrderMessage._OrderSurface.ValueType  # 1

    class OrderSurface(_OrderSurface, metaclass=_OrderSurfaceEnumTypeWrapper): ...
    CATALOG: OrderMessage.OrderSurface.ValueType  # 1

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

    class _OrderStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[OrderMessage._OrderStatus.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        INQUIRY: OrderMessage._OrderStatus.ValueType  # 1
        ACCEPTED: OrderMessage._OrderStatus.ValueType  # 2
        DECLINED: OrderMessage._OrderStatus.ValueType  # 3

    class OrderStatus(_OrderStatus, metaclass=_OrderStatusEnumTypeWrapper): ...
    INQUIRY: OrderMessage.OrderStatus.ValueType  # 1
    ACCEPTED: OrderMessage.OrderStatus.ValueType  # 2
    DECLINED: OrderMessage.OrderStatus.ValueType  # 3

    ORDERID_FIELD_NUMBER: builtins.int
    THUMBNAIL_FIELD_NUMBER: builtins.int
    ITEMCOUNT_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    SURFACE_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    ORDERTITLE_FIELD_NUMBER: builtins.int
    SELLERJID_FIELD_NUMBER: builtins.int
    TOKEN_FIELD_NUMBER: builtins.int
    TOTALAMOUNT1000_FIELD_NUMBER: builtins.int
    TOTALCURRENCYCODE_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    MESSAGEVERSION_FIELD_NUMBER: builtins.int
    ORDERREQUESTMESSAGEID_FIELD_NUMBER: builtins.int
    CATALOGTYPE_FIELD_NUMBER: builtins.int
    orderID: builtins.str
    thumbnail: builtins.bytes
    itemCount: builtins.int
    status: Global___OrderMessage.OrderStatus.ValueType
    surface: Global___OrderMessage.OrderSurface.ValueType
    message: builtins.str
    orderTitle: builtins.str
    sellerJID: builtins.str
    token: builtins.str
    totalAmount1000: builtins.int
    totalCurrencyCode: builtins.str
    messageVersion: builtins.int
    catalogType: builtins.str
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def orderRequestMessageID(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        orderID: builtins.str | None = ...,
        thumbnail: builtins.bytes | None = ...,
        itemCount: builtins.int | None = ...,
        status: Global___OrderMessage.OrderStatus.ValueType | None = ...,
        surface: Global___OrderMessage.OrderSurface.ValueType | None = ...,
        message: builtins.str | None = ...,
        orderTitle: builtins.str | None = ...,
        sellerJID: builtins.str | None = ...,
        token: builtins.str | None = ...,
        totalAmount1000: builtins.int | None = ...,
        totalCurrencyCode: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        messageVersion: builtins.int | None = ...,
        orderRequestMessageID: waCommon.WACommon_pb2.MessageKey | None = ...,
        catalogType: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["catalogType", b"catalogType", "contextInfo", b"contextInfo", "itemCount", b"itemCount", "message", b"message", "messageVersion", b"messageVersion", "orderID", b"orderID", "orderRequestMessageID", b"orderRequestMessageID", "orderTitle", b"orderTitle", "sellerJID", b"sellerJID", "status", b"status", "surface", b"surface", "thumbnail", b"thumbnail", "token", b"token", "totalAmount1000", b"totalAmount1000", "totalCurrencyCode", b"totalCurrencyCode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["catalogType", b"catalogType", "contextInfo", b"contextInfo", "itemCount", b"itemCount", "message", b"message", "messageVersion", b"messageVersion", "orderID", b"orderID", "orderRequestMessageID", b"orderRequestMessageID", "orderTitle", b"orderTitle", "sellerJID", b"sellerJID", "status", b"status", "surface", b"surface", "thumbnail", b"thumbnail", "token", b"token", "totalAmount1000", b"totalAmount1000", "totalCurrencyCode", b"totalCurrencyCode"]) -> None: ...

Global___OrderMessage: typing_extensions.TypeAlias = OrderMessage

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

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

    class _StatusQuotedMessageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusQuotedMessage._StatusQuotedMessageType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        QUESTION_ANSWER: StatusQuotedMessage._StatusQuotedMessageType.ValueType  # 1

    class StatusQuotedMessageType(_StatusQuotedMessageType, metaclass=_StatusQuotedMessageTypeEnumTypeWrapper): ...
    QUESTION_ANSWER: StatusQuotedMessage.StatusQuotedMessageType.ValueType  # 1

    TYPE_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    THUMBNAIL_FIELD_NUMBER: builtins.int
    ORIGINALSTATUSID_FIELD_NUMBER: builtins.int
    type: Global___StatusQuotedMessage.StatusQuotedMessageType.ValueType
    text: builtins.str
    thumbnail: builtins.bytes
    @property
    def originalStatusID(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        type: Global___StatusQuotedMessage.StatusQuotedMessageType.ValueType | None = ...,
        text: builtins.str | None = ...,
        thumbnail: builtins.bytes | None = ...,
        originalStatusID: waCommon.WACommon_pb2.MessageKey | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["originalStatusID", b"originalStatusID", "text", b"text", "thumbnail", b"thumbnail", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["originalStatusID", b"originalStatusID", "text", b"text", "thumbnail", b"thumbnail", "type", b"type"]) -> None: ...

Global___StatusQuotedMessage: typing_extensions.TypeAlias = StatusQuotedMessage

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

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

    class _ServiceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentInviteMessage._ServiceType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: PaymentInviteMessage._ServiceType.ValueType  # 0
        FBPAY: PaymentInviteMessage._ServiceType.ValueType  # 1
        NOVI: PaymentInviteMessage._ServiceType.ValueType  # 2
        UPI: PaymentInviteMessage._ServiceType.ValueType  # 3

    class ServiceType(_ServiceType, metaclass=_ServiceTypeEnumTypeWrapper): ...
    UNKNOWN: PaymentInviteMessage.ServiceType.ValueType  # 0
    FBPAY: PaymentInviteMessage.ServiceType.ValueType  # 1
    NOVI: PaymentInviteMessage.ServiceType.ValueType  # 2
    UPI: PaymentInviteMessage.ServiceType.ValueType  # 3

    SERVICETYPE_FIELD_NUMBER: builtins.int
    EXPIRYTIMESTAMP_FIELD_NUMBER: builtins.int
    serviceType: Global___PaymentInviteMessage.ServiceType.ValueType
    expiryTimestamp: builtins.int
    def __init__(
        self,
        *,
        serviceType: Global___PaymentInviteMessage.ServiceType.ValueType | None = ...,
        expiryTimestamp: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["expiryTimestamp", b"expiryTimestamp", "serviceType", b"serviceType"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["expiryTimestamp", b"expiryTimestamp", "serviceType", b"serviceType"]) -> None: ...

Global___PaymentInviteMessage: typing_extensions.TypeAlias = PaymentInviteMessage

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

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

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

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

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

                class _CalendarTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType], builtins.type):
                    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
                    GREGORIAN: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType  # 1
                    SOLAR_HIJRI: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._CalendarType.ValueType  # 2

                class CalendarType(_CalendarType, metaclass=_CalendarTypeEnumTypeWrapper): ...
                GREGORIAN: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType  # 1
                SOLAR_HIJRI: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType  # 2

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

                class _DayOfWeekTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType], builtins.type):
                    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
                    MONDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType  # 1
                    TUESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType  # 2
                    WEDNESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType  # 3
                    THURSDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType  # 4
                    FRIDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType  # 5
                    SATURDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType  # 6
                    SUNDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent._DayOfWeekType.ValueType  # 7

                class DayOfWeekType(_DayOfWeekType, metaclass=_DayOfWeekTypeEnumTypeWrapper): ...
                MONDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType  # 1
                TUESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType  # 2
                WEDNESDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType  # 3
                THURSDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType  # 4
                FRIDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType  # 5
                SATURDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType  # 6
                SUNDAY: HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType  # 7

                DAYOFWEEK_FIELD_NUMBER: builtins.int
                YEAR_FIELD_NUMBER: builtins.int
                MONTH_FIELD_NUMBER: builtins.int
                DAYOFMONTH_FIELD_NUMBER: builtins.int
                HOUR_FIELD_NUMBER: builtins.int
                MINUTE_FIELD_NUMBER: builtins.int
                CALENDAR_FIELD_NUMBER: builtins.int
                dayOfWeek: Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType
                year: builtins.int
                month: builtins.int
                dayOfMonth: builtins.int
                hour: builtins.int
                minute: builtins.int
                calendar: Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType
                def __init__(
                    self,
                    *,
                    dayOfWeek: Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.DayOfWeekType.ValueType | None = ...,
                    year: builtins.int | None = ...,
                    month: builtins.int | None = ...,
                    dayOfMonth: builtins.int | None = ...,
                    hour: builtins.int | None = ...,
                    minute: builtins.int | None = ...,
                    calendar: Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent.CalendarType.ValueType | None = ...,
                ) -> None: ...
                def HasField(self, field_name: typing.Literal["calendar", b"calendar", "dayOfMonth", b"dayOfMonth", "dayOfWeek", b"dayOfWeek", "hour", b"hour", "minute", b"minute", "month", b"month", "year", b"year"]) -> builtins.bool: ...
                def ClearField(self, field_name: typing.Literal["calendar", b"calendar", "dayOfMonth", b"dayOfMonth", "dayOfWeek", b"dayOfWeek", "hour", b"hour", "minute", b"minute", "month", b"month", "year", b"year"]) -> None: ...

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

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

            COMPONENT_FIELD_NUMBER: builtins.int
            UNIXEPOCH_FIELD_NUMBER: builtins.int
            @property
            def component(self) -> Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent: ...
            @property
            def unixEpoch(self) -> Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch: ...
            def __init__(
                self,
                *,
                component: Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeComponent | None = ...,
                unixEpoch: Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime.HSMDateTimeUnixEpoch | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["component", b"component", "datetimeOneof", b"datetimeOneof", "unixEpoch", b"unixEpoch"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["component", b"component", "datetimeOneof", b"datetimeOneof", "unixEpoch", b"unixEpoch"]) -> None: ...
            def WhichOneof(self, oneof_group: typing.Literal["datetimeOneof", b"datetimeOneof"]) -> typing.Literal["component", "unixEpoch"] | None: ...

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

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

        CURRENCY_FIELD_NUMBER: builtins.int
        DATETIME_FIELD_NUMBER: builtins.int
        DEFAULT_FIELD_NUMBER: builtins.int
        default: builtins.str
        @property
        def currency(self) -> Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency: ...
        @property
        def dateTime(self) -> Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime: ...
        def __init__(
            self,
            *,
            currency: Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMCurrency | None = ...,
            dateTime: Global___HighlyStructuredMessage.HSMLocalizableParameter.HSMDateTime | None = ...,
            default: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["currency", b"currency", "dateTime", b"dateTime", "default", b"default", "paramOneof", b"paramOneof"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["currency", b"currency", "dateTime", b"dateTime", "default", b"default", "paramOneof", b"paramOneof"]) -> None: ...
        def WhichOneof(self, oneof_group: typing.Literal["paramOneof", b"paramOneof"]) -> typing.Literal["currency", "dateTime"] | None: ...

    NAMESPACE_FIELD_NUMBER: builtins.int
    ELEMENTNAME_FIELD_NUMBER: builtins.int
    PARAMS_FIELD_NUMBER: builtins.int
    FALLBACKLG_FIELD_NUMBER: builtins.int
    FALLBACKLC_FIELD_NUMBER: builtins.int
    LOCALIZABLEPARAMS_FIELD_NUMBER: builtins.int
    DETERMINISTICLG_FIELD_NUMBER: builtins.int
    DETERMINISTICLC_FIELD_NUMBER: builtins.int
    HYDRATEDHSM_FIELD_NUMBER: builtins.int
    namespace: builtins.str
    elementName: builtins.str
    fallbackLg: builtins.str
    fallbackLc: builtins.str
    deterministicLg: builtins.str
    deterministicLc: builtins.str
    @property
    def params(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def localizableParams(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___HighlyStructuredMessage.HSMLocalizableParameter]: ...
    @property
    def hydratedHsm(self) -> Global___TemplateMessage: ...
    def __init__(
        self,
        *,
        namespace: builtins.str | None = ...,
        elementName: builtins.str | None = ...,
        params: collections.abc.Iterable[builtins.str] | None = ...,
        fallbackLg: builtins.str | None = ...,
        fallbackLc: builtins.str | None = ...,
        localizableParams: collections.abc.Iterable[Global___HighlyStructuredMessage.HSMLocalizableParameter] | None = ...,
        deterministicLg: builtins.str | None = ...,
        deterministicLc: builtins.str | None = ...,
        hydratedHsm: Global___TemplateMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["deterministicLc", b"deterministicLc", "deterministicLg", b"deterministicLg", "elementName", b"elementName", "fallbackLc", b"fallbackLc", "fallbackLg", b"fallbackLg", "hydratedHsm", b"hydratedHsm", "namespace", b"namespace"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["deterministicLc", b"deterministicLc", "deterministicLg", b"deterministicLg", "elementName", b"elementName", "fallbackLc", b"fallbackLc", "fallbackLg", b"fallbackLg", "hydratedHsm", b"hydratedHsm", "localizableParams", b"localizableParams", "namespace", b"namespace", "params", b"params"]) -> None: ...

Global___HighlyStructuredMessage: typing_extensions.TypeAlias = HighlyStructuredMessage

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

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

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

        class _HistorySyncChunkRetryResponseCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            GENERATION_ERROR: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType  # 1
            CHUNK_CONSUMED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType  # 2
            TIMEOUT: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType  # 3
            SESSION_EXHAUSTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType  # 4
            CHUNK_EXHAUSTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType  # 5
            DUPLICATED_REQUEST: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._HistorySyncChunkRetryResponseCode.ValueType  # 6

        class HistorySyncChunkRetryResponseCode(_HistorySyncChunkRetryResponseCode, metaclass=_HistorySyncChunkRetryResponseCodeEnumTypeWrapper): ...
        GENERATION_ERROR: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType  # 1
        CHUNK_CONSUMED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType  # 2
        TIMEOUT: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType  # 3
        SESSION_EXHAUSTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType  # 4
        CHUNK_EXHAUSTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType  # 5
        DUPLICATED_REQUEST: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType  # 6

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

        class _FullHistorySyncOnDemandResponseCodeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            REQUEST_SUCCESS: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType  # 0
            REQUEST_TIME_EXPIRED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType  # 1
            DECLINED_SHARING_HISTORY: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType  # 2
            GENERIC_ERROR: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType  # 3
            ERROR_REQUEST_ON_NON_SMB_PRIMARY: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType  # 4
            ERROR_HOSTED_DEVICE_NOT_CONNECTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType  # 5
            ERROR_HOSTED_DEVICE_LOGIN_TIME_NOT_SET: PeerDataOperationRequestResponseMessage.PeerDataOperationResult._FullHistorySyncOnDemandResponseCode.ValueType  # 6

        class FullHistorySyncOnDemandResponseCode(_FullHistorySyncOnDemandResponseCode, metaclass=_FullHistorySyncOnDemandResponseCodeEnumTypeWrapper): ...
        REQUEST_SUCCESS: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType  # 0
        REQUEST_TIME_EXPIRED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType  # 1
        DECLINED_SHARING_HISTORY: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType  # 2
        GENERIC_ERROR: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType  # 3
        ERROR_REQUEST_ON_NON_SMB_PRIMARY: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType  # 4
        ERROR_HOSTED_DEVICE_NOT_CONNECTED: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType  # 5
        ERROR_HOSTED_DEVICE_LOGIN_TIME_NOT_SET: PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType  # 6

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

            SYNCTYPE_FIELD_NUMBER: builtins.int
            CHUNKORDER_FIELD_NUMBER: builtins.int
            REQUESTID_FIELD_NUMBER: builtins.int
            RESPONSECODE_FIELD_NUMBER: builtins.int
            CANRECOVER_FIELD_NUMBER: builtins.int
            syncType: Global___HistorySyncType.ValueType
            chunkOrder: builtins.int
            requestID: builtins.str
            responseCode: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType
            canRecover: builtins.bool
            def __init__(
                self,
                *,
                syncType: Global___HistorySyncType.ValueType | None = ...,
                chunkOrder: builtins.int | None = ...,
                requestID: builtins.str | None = ...,
                responseCode: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponseCode.ValueType | None = ...,
                canRecover: builtins.bool | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["canRecover", b"canRecover", "chunkOrder", b"chunkOrder", "requestID", b"requestID", "responseCode", b"responseCode", "syncType", b"syncType"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["canRecover", b"canRecover", "chunkOrder", b"chunkOrder", "requestID", b"requestID", "responseCode", b"responseCode", "syncType", b"syncType"]) -> None: ...

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

            COLLECTIONSNAPSHOT_FIELD_NUMBER: builtins.int
            ISCOMPRESSED_FIELD_NUMBER: builtins.int
            collectionSnapshot: builtins.bytes
            isCompressed: builtins.bool
            def __init__(
                self,
                *,
                collectionSnapshot: builtins.bytes | None = ...,
                isCompressed: builtins.bool | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["collectionSnapshot", b"collectionSnapshot", "isCompressed", b"isCompressed"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["collectionSnapshot", b"collectionSnapshot", "isCompressed", b"isCompressed"]) -> None: ...

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

            NONCE_FIELD_NUMBER: builtins.int
            WAFBID_FIELD_NUMBER: builtins.int
            FORCEREFRESH_FIELD_NUMBER: builtins.int
            nonce: builtins.str
            waFbid: builtins.str
            forceRefresh: builtins.bool
            def __init__(
                self,
                *,
                nonce: builtins.str | None = ...,
                waFbid: builtins.str | None = ...,
                forceRefresh: builtins.bool | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["forceRefresh", b"forceRefresh", "nonce", b"nonce", "waFbid", b"waFbid"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["forceRefresh", b"forceRefresh", "nonce", b"nonce", "waFbid", b"waFbid"]) -> None: ...

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

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

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

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

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

            REQUESTMETADATA_FIELD_NUMBER: builtins.int
            RESPONSECODE_FIELD_NUMBER: builtins.int
            responseCode: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType
            @property
            def requestMetadata(self) -> Global___FullHistorySyncOnDemandRequestMetadata: ...
            def __init__(
                self,
                *,
                requestMetadata: Global___FullHistorySyncOnDemandRequestMetadata | None = ...,
                responseCode: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandResponseCode.ValueType | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["requestMetadata", b"requestMetadata", "responseCode", b"responseCode"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["requestMetadata", b"requestMetadata", "responseCode", b"responseCode"]) -> None: ...

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

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

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

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

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

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

                DIRECTPATH_FIELD_NUMBER: builtins.int
                THUMBHASH_FIELD_NUMBER: builtins.int
                ENCTHUMBHASH_FIELD_NUMBER: builtins.int
                MEDIAKEY_FIELD_NUMBER: builtins.int
                MEDIAKEYTIMESTAMPMS_FIELD_NUMBER: builtins.int
                THUMBWIDTH_FIELD_NUMBER: builtins.int
                THUMBHEIGHT_FIELD_NUMBER: builtins.int
                directPath: builtins.str
                thumbHash: builtins.str
                encThumbHash: builtins.str
                mediaKey: builtins.bytes
                mediaKeyTimestampMS: builtins.int
                thumbWidth: builtins.int
                thumbHeight: builtins.int
                def __init__(
                    self,
                    *,
                    directPath: builtins.str | None = ...,
                    thumbHash: builtins.str | None = ...,
                    encThumbHash: builtins.str | None = ...,
                    mediaKey: builtins.bytes | None = ...,
                    mediaKeyTimestampMS: builtins.int | None = ...,
                    thumbWidth: builtins.int | None = ...,
                    thumbHeight: builtins.int | None = ...,
                ) -> None: ...
                def HasField(self, field_name: typing.Literal["directPath", b"directPath", "encThumbHash", b"encThumbHash", "mediaKey", b"mediaKey", "mediaKeyTimestampMS", b"mediaKeyTimestampMS", "thumbHash", b"thumbHash", "thumbHeight", b"thumbHeight", "thumbWidth", b"thumbWidth"]) -> builtins.bool: ...
                def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "encThumbHash", b"encThumbHash", "mediaKey", b"mediaKey", "mediaKeyTimestampMS", b"mediaKeyTimestampMS", "thumbHash", b"thumbHash", "thumbHeight", b"thumbHeight", "thumbWidth", b"thumbWidth"]) -> None: ...

            URL_FIELD_NUMBER: builtins.int
            TITLE_FIELD_NUMBER: builtins.int
            DESCRIPTION_FIELD_NUMBER: builtins.int
            THUMBDATA_FIELD_NUMBER: builtins.int
            MATCHTEXT_FIELD_NUMBER: builtins.int
            PREVIEWTYPE_FIELD_NUMBER: builtins.int
            HQTHUMBNAIL_FIELD_NUMBER: builtins.int
            PREVIEWMETADATA_FIELD_NUMBER: builtins.int
            URL: builtins.str
            title: builtins.str
            description: builtins.str
            thumbData: builtins.bytes
            matchText: builtins.str
            previewType: builtins.str
            @property
            def hqThumbnail(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail: ...
            @property
            def previewMetadata(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.PaymentLinkPreviewMetadata: ...
            def __init__(
                self,
                *,
                URL: builtins.str | None = ...,
                title: builtins.str | None = ...,
                description: builtins.str | None = ...,
                thumbData: builtins.bytes | None = ...,
                matchText: builtins.str | None = ...,
                previewType: builtins.str | None = ...,
                hqThumbnail: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.LinkPreviewHighQualityThumbnail | None = ...,
                previewMetadata: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse.PaymentLinkPreviewMetadata | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["URL", b"URL", "description", b"description", "hqThumbnail", b"hqThumbnail", "matchText", b"matchText", "previewMetadata", b"previewMetadata", "previewType", b"previewType", "thumbData", b"thumbData", "title", b"title"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["URL", b"URL", "description", b"description", "hqThumbnail", b"hqThumbnail", "matchText", b"matchText", "previewMetadata", b"previewMetadata", "previewType", b"previewType", "thumbData", b"thumbData", "title", b"title"]) -> None: ...

        MEDIAUPLOADRESULT_FIELD_NUMBER: builtins.int
        STICKERMESSAGE_FIELD_NUMBER: builtins.int
        LINKPREVIEWRESPONSE_FIELD_NUMBER: builtins.int
        PLACEHOLDERMESSAGERESENDRESPONSE_FIELD_NUMBER: builtins.int
        WAFFLENONCEFETCHREQUESTRESPONSE_FIELD_NUMBER: builtins.int
        FULLHISTORYSYNCONDEMANDREQUESTRESPONSE_FIELD_NUMBER: builtins.int
        COMPANIONMETANONCEFETCHREQUESTRESPONSE_FIELD_NUMBER: builtins.int
        SYNCDSNAPSHOTFATALRECOVERYRESPONSE_FIELD_NUMBER: builtins.int
        COMPANIONCANONICALUSERNONCEFETCHREQUESTRESPONSE_FIELD_NUMBER: builtins.int
        HISTORYSYNCCHUNKRETRYRESPONSE_FIELD_NUMBER: builtins.int
        mediaUploadResult: waMmsRetry.WAMmsRetry_pb2.MediaRetryNotification.ResultType.ValueType
        @property
        def stickerMessage(self) -> Global___StickerMessage: ...
        @property
        def linkPreviewResponse(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse: ...
        @property
        def placeholderMessageResendResponse(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse: ...
        @property
        def waffleNonceFetchRequestResponse(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse: ...
        @property
        def fullHistorySyncOnDemandRequestResponse(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse: ...
        @property
        def companionMetaNonceFetchRequestResponse(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse: ...
        @property
        def syncdSnapshotFatalRecoveryResponse(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.SyncDSnapshotFatalRecoveryResponse: ...
        @property
        def companionCanonicalUserNonceFetchRequestResponse(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionCanonicalUserNonceFetchResponse: ...
        @property
        def historySyncChunkRetryResponse(self) -> Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponse: ...
        def __init__(
            self,
            *,
            mediaUploadResult: waMmsRetry.WAMmsRetry_pb2.MediaRetryNotification.ResultType.ValueType | None = ...,
            stickerMessage: Global___StickerMessage | None = ...,
            linkPreviewResponse: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.LinkPreviewResponse | None = ...,
            placeholderMessageResendResponse: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.PlaceholderMessageResendResponse | None = ...,
            waffleNonceFetchRequestResponse: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.WaffleNonceFetchResponse | None = ...,
            fullHistorySyncOnDemandRequestResponse: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.FullHistorySyncOnDemandRequestResponse | None = ...,
            companionMetaNonceFetchRequestResponse: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionMetaNonceFetchResponse | None = ...,
            syncdSnapshotFatalRecoveryResponse: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.SyncDSnapshotFatalRecoveryResponse | None = ...,
            companionCanonicalUserNonceFetchRequestResponse: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.CompanionCanonicalUserNonceFetchResponse | None = ...,
            historySyncChunkRetryResponse: Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult.HistorySyncChunkRetryResponse | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["companionCanonicalUserNonceFetchRequestResponse", b"companionCanonicalUserNonceFetchRequestResponse", "companionMetaNonceFetchRequestResponse", b"companionMetaNonceFetchRequestResponse", "fullHistorySyncOnDemandRequestResponse", b"fullHistorySyncOnDemandRequestResponse", "historySyncChunkRetryResponse", b"historySyncChunkRetryResponse", "linkPreviewResponse", b"linkPreviewResponse", "mediaUploadResult", b"mediaUploadResult", "placeholderMessageResendResponse", b"placeholderMessageResendResponse", "stickerMessage", b"stickerMessage", "syncdSnapshotFatalRecoveryResponse", b"syncdSnapshotFatalRecoveryResponse", "waffleNonceFetchRequestResponse", b"waffleNonceFetchRequestResponse"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["companionCanonicalUserNonceFetchRequestResponse", b"companionCanonicalUserNonceFetchRequestResponse", "companionMetaNonceFetchRequestResponse", b"companionMetaNonceFetchRequestResponse", "fullHistorySyncOnDemandRequestResponse", b"fullHistorySyncOnDemandRequestResponse", "historySyncChunkRetryResponse", b"historySyncChunkRetryResponse", "linkPreviewResponse", b"linkPreviewResponse", "mediaUploadResult", b"mediaUploadResult", "placeholderMessageResendResponse", b"placeholderMessageResendResponse", "stickerMessage", b"stickerMessage", "syncdSnapshotFatalRecoveryResponse", b"syncdSnapshotFatalRecoveryResponse", "waffleNonceFetchRequestResponse", b"waffleNonceFetchRequestResponse"]) -> None: ...

    PEERDATAOPERATIONREQUESTTYPE_FIELD_NUMBER: builtins.int
    STANZAID_FIELD_NUMBER: builtins.int
    PEERDATAOPERATIONRESULT_FIELD_NUMBER: builtins.int
    peerDataOperationRequestType: Global___PeerDataOperationRequestType.ValueType
    stanzaID: builtins.str
    @property
    def peerDataOperationResult(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult]: ...
    def __init__(
        self,
        *,
        peerDataOperationRequestType: Global___PeerDataOperationRequestType.ValueType | None = ...,
        stanzaID: builtins.str | None = ...,
        peerDataOperationResult: collections.abc.Iterable[Global___PeerDataOperationRequestResponseMessage.PeerDataOperationResult] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["peerDataOperationRequestType", b"peerDataOperationRequestType", "stanzaID", b"stanzaID"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["peerDataOperationRequestType", b"peerDataOperationRequestType", "peerDataOperationResult", b"peerDataOperationResult", "stanzaID", b"stanzaID"]) -> None: ...

Global___PeerDataOperationRequestResponseMessage: typing_extensions.TypeAlias = PeerDataOperationRequestResponseMessage

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

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

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

        class _GalaxyFlowActionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PeerDataOperationRequestMessage.GalaxyFlowAction._GalaxyFlowActionType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            NOTIFY_LAUNCH: PeerDataOperationRequestMessage.GalaxyFlowAction._GalaxyFlowActionType.ValueType  # 1

        class GalaxyFlowActionType(_GalaxyFlowActionType, metaclass=_GalaxyFlowActionTypeEnumTypeWrapper): ...
        NOTIFY_LAUNCH: PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType.ValueType  # 1

        TYPE_FIELD_NUMBER: builtins.int
        FLOWID_FIELD_NUMBER: builtins.int
        STANZAID_FIELD_NUMBER: builtins.int
        type: Global___PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType.ValueType
        flowID: builtins.str
        stanzaID: builtins.str
        def __init__(
            self,
            *,
            type: Global___PeerDataOperationRequestMessage.GalaxyFlowAction.GalaxyFlowActionType.ValueType | None = ...,
            flowID: builtins.str | None = ...,
            stanzaID: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["flowID", b"flowID", "stanzaID", b"stanzaID", "type", b"type"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["flowID", b"flowID", "stanzaID", b"stanzaID", "type", b"type"]) -> None: ...

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

        SYNCTYPE_FIELD_NUMBER: builtins.int
        CHUNKORDER_FIELD_NUMBER: builtins.int
        CHUNKNOTIFICATIONID_FIELD_NUMBER: builtins.int
        REGENERATECHUNK_FIELD_NUMBER: builtins.int
        syncType: Global___HistorySyncType.ValueType
        chunkOrder: builtins.int
        chunkNotificationID: builtins.str
        regenerateChunk: builtins.bool
        def __init__(
            self,
            *,
            syncType: Global___HistorySyncType.ValueType | None = ...,
            chunkOrder: builtins.int | None = ...,
            chunkNotificationID: builtins.str | None = ...,
            regenerateChunk: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["chunkNotificationID", b"chunkNotificationID", "chunkOrder", b"chunkOrder", "regenerateChunk", b"regenerateChunk", "syncType", b"syncType"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["chunkNotificationID", b"chunkNotificationID", "chunkOrder", b"chunkOrder", "regenerateChunk", b"regenerateChunk", "syncType", b"syncType"]) -> None: ...

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

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

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

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

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

        REQUESTMETADATA_FIELD_NUMBER: builtins.int
        HISTORYSYNCCONFIG_FIELD_NUMBER: builtins.int
        @property
        def requestMetadata(self) -> Global___FullHistorySyncOnDemandRequestMetadata: ...
        @property
        def historySyncConfig(self) -> waCompanionReg.WACompanionReg_pb2.DeviceProps.HistorySyncConfig: ...
        def __init__(
            self,
            *,
            requestMetadata: Global___FullHistorySyncOnDemandRequestMetadata | None = ...,
            historySyncConfig: waCompanionReg.WACompanionReg_pb2.DeviceProps.HistorySyncConfig | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["historySyncConfig", b"historySyncConfig", "requestMetadata", b"requestMetadata"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["historySyncConfig", b"historySyncConfig", "requestMetadata", b"requestMetadata"]) -> None: ...

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

        CHATJID_FIELD_NUMBER: builtins.int
        OLDESTMSGID_FIELD_NUMBER: builtins.int
        OLDESTMSGFROMME_FIELD_NUMBER: builtins.int
        ONDEMANDMSGCOUNT_FIELD_NUMBER: builtins.int
        OLDESTMSGTIMESTAMPMS_FIELD_NUMBER: builtins.int
        ACCOUNTLID_FIELD_NUMBER: builtins.int
        chatJID: builtins.str
        oldestMsgID: builtins.str
        oldestMsgFromMe: builtins.bool
        onDemandMsgCount: builtins.int
        oldestMsgTimestampMS: builtins.int
        accountLid: builtins.str
        def __init__(
            self,
            *,
            chatJID: builtins.str | None = ...,
            oldestMsgID: builtins.str | None = ...,
            oldestMsgFromMe: builtins.bool | None = ...,
            onDemandMsgCount: builtins.int | None = ...,
            oldestMsgTimestampMS: builtins.int | None = ...,
            accountLid: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["accountLid", b"accountLid", "chatJID", b"chatJID", "oldestMsgFromMe", b"oldestMsgFromMe", "oldestMsgID", b"oldestMsgID", "oldestMsgTimestampMS", b"oldestMsgTimestampMS", "onDemandMsgCount", b"onDemandMsgCount"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["accountLid", b"accountLid", "chatJID", b"chatJID", "oldestMsgFromMe", b"oldestMsgFromMe", "oldestMsgID", b"oldestMsgID", "oldestMsgTimestampMS", b"oldestMsgTimestampMS", "onDemandMsgCount", b"onDemandMsgCount"]) -> None: ...

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

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

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

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

    PEERDATAOPERATIONREQUESTTYPE_FIELD_NUMBER: builtins.int
    REQUESTSTICKERREUPLOAD_FIELD_NUMBER: builtins.int
    REQUESTURLPREVIEW_FIELD_NUMBER: builtins.int
    HISTORYSYNCONDEMANDREQUEST_FIELD_NUMBER: builtins.int
    PLACEHOLDERMESSAGERESENDREQUEST_FIELD_NUMBER: builtins.int
    FULLHISTORYSYNCONDEMANDREQUEST_FIELD_NUMBER: builtins.int
    SYNCDCOLLECTIONFATALRECOVERYREQUEST_FIELD_NUMBER: builtins.int
    HISTORYSYNCCHUNKRETRYREQUEST_FIELD_NUMBER: builtins.int
    GALAXYFLOWACTION_FIELD_NUMBER: builtins.int
    peerDataOperationRequestType: Global___PeerDataOperationRequestType.ValueType
    @property
    def requestStickerReupload(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PeerDataOperationRequestMessage.RequestStickerReupload]: ...
    @property
    def requestURLPreview(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PeerDataOperationRequestMessage.RequestUrlPreview]: ...
    @property
    def historySyncOnDemandRequest(self) -> Global___PeerDataOperationRequestMessage.HistorySyncOnDemandRequest: ...
    @property
    def placeholderMessageResendRequest(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PeerDataOperationRequestMessage.PlaceholderMessageResendRequest]: ...
    @property
    def fullHistorySyncOnDemandRequest(self) -> Global___PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest: ...
    @property
    def syncdCollectionFatalRecoveryRequest(self) -> Global___PeerDataOperationRequestMessage.SyncDCollectionFatalRecoveryRequest: ...
    @property
    def historySyncChunkRetryRequest(self) -> Global___PeerDataOperationRequestMessage.HistorySyncChunkRetryRequest: ...
    @property
    def galaxyFlowAction(self) -> Global___PeerDataOperationRequestMessage.GalaxyFlowAction: ...
    def __init__(
        self,
        *,
        peerDataOperationRequestType: Global___PeerDataOperationRequestType.ValueType | None = ...,
        requestStickerReupload: collections.abc.Iterable[Global___PeerDataOperationRequestMessage.RequestStickerReupload] | None = ...,
        requestURLPreview: collections.abc.Iterable[Global___PeerDataOperationRequestMessage.RequestUrlPreview] | None = ...,
        historySyncOnDemandRequest: Global___PeerDataOperationRequestMessage.HistorySyncOnDemandRequest | None = ...,
        placeholderMessageResendRequest: collections.abc.Iterable[Global___PeerDataOperationRequestMessage.PlaceholderMessageResendRequest] | None = ...,
        fullHistorySyncOnDemandRequest: Global___PeerDataOperationRequestMessage.FullHistorySyncOnDemandRequest | None = ...,
        syncdCollectionFatalRecoveryRequest: Global___PeerDataOperationRequestMessage.SyncDCollectionFatalRecoveryRequest | None = ...,
        historySyncChunkRetryRequest: Global___PeerDataOperationRequestMessage.HistorySyncChunkRetryRequest | None = ...,
        galaxyFlowAction: Global___PeerDataOperationRequestMessage.GalaxyFlowAction | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["fullHistorySyncOnDemandRequest", b"fullHistorySyncOnDemandRequest", "galaxyFlowAction", b"galaxyFlowAction", "historySyncChunkRetryRequest", b"historySyncChunkRetryRequest", "historySyncOnDemandRequest", b"historySyncOnDemandRequest", "peerDataOperationRequestType", b"peerDataOperationRequestType", "syncdCollectionFatalRecoveryRequest", b"syncdCollectionFatalRecoveryRequest"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["fullHistorySyncOnDemandRequest", b"fullHistorySyncOnDemandRequest", "galaxyFlowAction", b"galaxyFlowAction", "historySyncChunkRetryRequest", b"historySyncChunkRetryRequest", "historySyncOnDemandRequest", b"historySyncOnDemandRequest", "peerDataOperationRequestType", b"peerDataOperationRequestType", "placeholderMessageResendRequest", b"placeholderMessageResendRequest", "requestStickerReupload", b"requestStickerReupload", "requestURLPreview", b"requestURLPreview", "syncdCollectionFatalRecoveryRequest", b"syncdCollectionFatalRecoveryRequest"]) -> None: ...

Global___PeerDataOperationRequestMessage: typing_extensions.TypeAlias = PeerDataOperationRequestMessage

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

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

    class _LocalChatStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[RequestWelcomeMessageMetadata._LocalChatState.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        EMPTY: RequestWelcomeMessageMetadata._LocalChatState.ValueType  # 0
        NON_EMPTY: RequestWelcomeMessageMetadata._LocalChatState.ValueType  # 1

    class LocalChatState(_LocalChatState, metaclass=_LocalChatStateEnumTypeWrapper): ...
    EMPTY: RequestWelcomeMessageMetadata.LocalChatState.ValueType  # 0
    NON_EMPTY: RequestWelcomeMessageMetadata.LocalChatState.ValueType  # 1

    LOCALCHATSTATE_FIELD_NUMBER: builtins.int
    localChatState: Global___RequestWelcomeMessageMetadata.LocalChatState.ValueType
    def __init__(
        self,
        *,
        localChatState: Global___RequestWelcomeMessageMetadata.LocalChatState.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["localChatState", b"localChatState"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["localChatState", b"localChatState"]) -> None: ...

Global___RequestWelcomeMessageMetadata: typing_extensions.TypeAlias = RequestWelcomeMessageMetadata

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

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

    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ProtocolMessage._Type.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        REVOKE: ProtocolMessage._Type.ValueType  # 0
        EPHEMERAL_SETTING: ProtocolMessage._Type.ValueType  # 3
        EPHEMERAL_SYNC_RESPONSE: ProtocolMessage._Type.ValueType  # 4
        HISTORY_SYNC_NOTIFICATION: ProtocolMessage._Type.ValueType  # 5
        APP_STATE_SYNC_KEY_SHARE: ProtocolMessage._Type.ValueType  # 6
        APP_STATE_SYNC_KEY_REQUEST: ProtocolMessage._Type.ValueType  # 7
        MSG_FANOUT_BACKFILL_REQUEST: ProtocolMessage._Type.ValueType  # 8
        INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC: ProtocolMessage._Type.ValueType  # 9
        APP_STATE_FATAL_EXCEPTION_NOTIFICATION: ProtocolMessage._Type.ValueType  # 10
        SHARE_PHONE_NUMBER: ProtocolMessage._Type.ValueType  # 11
        MESSAGE_EDIT: ProtocolMessage._Type.ValueType  # 14
        PEER_DATA_OPERATION_REQUEST_MESSAGE: ProtocolMessage._Type.ValueType  # 16
        PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE: ProtocolMessage._Type.ValueType  # 17
        REQUEST_WELCOME_MESSAGE: ProtocolMessage._Type.ValueType  # 18
        BOT_FEEDBACK_MESSAGE: ProtocolMessage._Type.ValueType  # 19
        MEDIA_NOTIFY_MESSAGE: ProtocolMessage._Type.ValueType  # 20
        CLOUD_API_THREAD_CONTROL_NOTIFICATION: ProtocolMessage._Type.ValueType  # 21
        LID_MIGRATION_MAPPING_SYNC: ProtocolMessage._Type.ValueType  # 22
        REMINDER_MESSAGE: ProtocolMessage._Type.ValueType  # 23
        BOT_MEMU_ONBOARDING_MESSAGE: ProtocolMessage._Type.ValueType  # 24
        STATUS_MENTION_MESSAGE: ProtocolMessage._Type.ValueType  # 25
        STOP_GENERATION_MESSAGE: ProtocolMessage._Type.ValueType  # 26
        LIMIT_SHARING: ProtocolMessage._Type.ValueType  # 27
        AI_PSI_METADATA: ProtocolMessage._Type.ValueType  # 28
        AI_QUERY_FANOUT: ProtocolMessage._Type.ValueType  # 29
        GROUP_MEMBER_LABEL_CHANGE: ProtocolMessage._Type.ValueType  # 30

    class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
    REVOKE: ProtocolMessage.Type.ValueType  # 0
    EPHEMERAL_SETTING: ProtocolMessage.Type.ValueType  # 3
    EPHEMERAL_SYNC_RESPONSE: ProtocolMessage.Type.ValueType  # 4
    HISTORY_SYNC_NOTIFICATION: ProtocolMessage.Type.ValueType  # 5
    APP_STATE_SYNC_KEY_SHARE: ProtocolMessage.Type.ValueType  # 6
    APP_STATE_SYNC_KEY_REQUEST: ProtocolMessage.Type.ValueType  # 7
    MSG_FANOUT_BACKFILL_REQUEST: ProtocolMessage.Type.ValueType  # 8
    INITIAL_SECURITY_NOTIFICATION_SETTING_SYNC: ProtocolMessage.Type.ValueType  # 9
    APP_STATE_FATAL_EXCEPTION_NOTIFICATION: ProtocolMessage.Type.ValueType  # 10
    SHARE_PHONE_NUMBER: ProtocolMessage.Type.ValueType  # 11
    MESSAGE_EDIT: ProtocolMessage.Type.ValueType  # 14
    PEER_DATA_OPERATION_REQUEST_MESSAGE: ProtocolMessage.Type.ValueType  # 16
    PEER_DATA_OPERATION_REQUEST_RESPONSE_MESSAGE: ProtocolMessage.Type.ValueType  # 17
    REQUEST_WELCOME_MESSAGE: ProtocolMessage.Type.ValueType  # 18
    BOT_FEEDBACK_MESSAGE: ProtocolMessage.Type.ValueType  # 19
    MEDIA_NOTIFY_MESSAGE: ProtocolMessage.Type.ValueType  # 20
    CLOUD_API_THREAD_CONTROL_NOTIFICATION: ProtocolMessage.Type.ValueType  # 21
    LID_MIGRATION_MAPPING_SYNC: ProtocolMessage.Type.ValueType  # 22
    REMINDER_MESSAGE: ProtocolMessage.Type.ValueType  # 23
    BOT_MEMU_ONBOARDING_MESSAGE: ProtocolMessage.Type.ValueType  # 24
    STATUS_MENTION_MESSAGE: ProtocolMessage.Type.ValueType  # 25
    STOP_GENERATION_MESSAGE: ProtocolMessage.Type.ValueType  # 26
    LIMIT_SHARING: ProtocolMessage.Type.ValueType  # 27
    AI_PSI_METADATA: ProtocolMessage.Type.ValueType  # 28
    AI_QUERY_FANOUT: ProtocolMessage.Type.ValueType  # 29
    GROUP_MEMBER_LABEL_CHANGE: ProtocolMessage.Type.ValueType  # 30

    KEY_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    EPHEMERALEXPIRATION_FIELD_NUMBER: builtins.int
    EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int
    HISTORYSYNCNOTIFICATION_FIELD_NUMBER: builtins.int
    APPSTATESYNCKEYSHARE_FIELD_NUMBER: builtins.int
    APPSTATESYNCKEYREQUEST_FIELD_NUMBER: builtins.int
    INITIALSECURITYNOTIFICATIONSETTINGSYNC_FIELD_NUMBER: builtins.int
    APPSTATEFATALEXCEPTIONNOTIFICATION_FIELD_NUMBER: builtins.int
    DISAPPEARINGMODE_FIELD_NUMBER: builtins.int
    EDITEDMESSAGE_FIELD_NUMBER: builtins.int
    TIMESTAMPMS_FIELD_NUMBER: builtins.int
    PEERDATAOPERATIONREQUESTMESSAGE_FIELD_NUMBER: builtins.int
    PEERDATAOPERATIONREQUESTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int
    BOTFEEDBACKMESSAGE_FIELD_NUMBER: builtins.int
    INVOKERJID_FIELD_NUMBER: builtins.int
    REQUESTWELCOMEMESSAGEMETADATA_FIELD_NUMBER: builtins.int
    MEDIANOTIFYMESSAGE_FIELD_NUMBER: builtins.int
    CLOUDAPITHREADCONTROLNOTIFICATION_FIELD_NUMBER: builtins.int
    LIDMIGRATIONMAPPINGSYNCMESSAGE_FIELD_NUMBER: builtins.int
    LIMITSHARING_FIELD_NUMBER: builtins.int
    AIPSIMETADATA_FIELD_NUMBER: builtins.int
    AIQUERYFANOUT_FIELD_NUMBER: builtins.int
    MEMBERLABEL_FIELD_NUMBER: builtins.int
    type: Global___ProtocolMessage.Type.ValueType
    ephemeralExpiration: builtins.int
    ephemeralSettingTimestamp: builtins.int
    timestampMS: builtins.int
    invokerJID: builtins.str
    aiPsiMetadata: builtins.bytes
    @property
    def key(self) -> waCommon.WACommon_pb2.MessageKey: ...
    @property
    def historySyncNotification(self) -> Global___HistorySyncNotification: ...
    @property
    def appStateSyncKeyShare(self) -> Global___AppStateSyncKeyShare: ...
    @property
    def appStateSyncKeyRequest(self) -> Global___AppStateSyncKeyRequest: ...
    @property
    def initialSecurityNotificationSettingSync(self) -> Global___InitialSecurityNotificationSettingSync: ...
    @property
    def appStateFatalExceptionNotification(self) -> Global___AppStateFatalExceptionNotification: ...
    @property
    def disappearingMode(self) -> Global___DisappearingMode: ...
    @property
    def editedMessage(self) -> Global___Message: ...
    @property
    def peerDataOperationRequestMessage(self) -> Global___PeerDataOperationRequestMessage: ...
    @property
    def peerDataOperationRequestResponseMessage(self) -> Global___PeerDataOperationRequestResponseMessage: ...
    @property
    def botFeedbackMessage(self) -> waAICommon.WAAICommon_pb2.BotFeedbackMessage: ...
    @property
    def requestWelcomeMessageMetadata(self) -> Global___RequestWelcomeMessageMetadata: ...
    @property
    def mediaNotifyMessage(self) -> Global___MediaNotifyMessage: ...
    @property
    def cloudApiThreadControlNotification(self) -> Global___CloudAPIThreadControlNotification: ...
    @property
    def lidMigrationMappingSyncMessage(self) -> Global___LIDMigrationMappingSyncMessage: ...
    @property
    def limitSharing(self) -> waCommon.WACommon_pb2.LimitSharing: ...
    @property
    def aiQueryFanout(self) -> Global___AIQueryFanout: ...
    @property
    def memberLabel(self) -> Global___MemberLabel: ...
    def __init__(
        self,
        *,
        key: waCommon.WACommon_pb2.MessageKey | None = ...,
        type: Global___ProtocolMessage.Type.ValueType | None = ...,
        ephemeralExpiration: builtins.int | None = ...,
        ephemeralSettingTimestamp: builtins.int | None = ...,
        historySyncNotification: Global___HistorySyncNotification | None = ...,
        appStateSyncKeyShare: Global___AppStateSyncKeyShare | None = ...,
        appStateSyncKeyRequest: Global___AppStateSyncKeyRequest | None = ...,
        initialSecurityNotificationSettingSync: Global___InitialSecurityNotificationSettingSync | None = ...,
        appStateFatalExceptionNotification: Global___AppStateFatalExceptionNotification | None = ...,
        disappearingMode: Global___DisappearingMode | None = ...,
        editedMessage: Global___Message | None = ...,
        timestampMS: builtins.int | None = ...,
        peerDataOperationRequestMessage: Global___PeerDataOperationRequestMessage | None = ...,
        peerDataOperationRequestResponseMessage: Global___PeerDataOperationRequestResponseMessage | None = ...,
        botFeedbackMessage: waAICommon.WAAICommon_pb2.BotFeedbackMessage | None = ...,
        invokerJID: builtins.str | None = ...,
        requestWelcomeMessageMetadata: Global___RequestWelcomeMessageMetadata | None = ...,
        mediaNotifyMessage: Global___MediaNotifyMessage | None = ...,
        cloudApiThreadControlNotification: Global___CloudAPIThreadControlNotification | None = ...,
        lidMigrationMappingSyncMessage: Global___LIDMigrationMappingSyncMessage | None = ...,
        limitSharing: waCommon.WACommon_pb2.LimitSharing | None = ...,
        aiPsiMetadata: builtins.bytes | None = ...,
        aiQueryFanout: Global___AIQueryFanout | None = ...,
        memberLabel: Global___MemberLabel | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["aiPsiMetadata", b"aiPsiMetadata", "aiQueryFanout", b"aiQueryFanout", "appStateFatalExceptionNotification", b"appStateFatalExceptionNotification", "appStateSyncKeyRequest", b"appStateSyncKeyRequest", "appStateSyncKeyShare", b"appStateSyncKeyShare", "botFeedbackMessage", b"botFeedbackMessage", "cloudApiThreadControlNotification", b"cloudApiThreadControlNotification", "disappearingMode", b"disappearingMode", "editedMessage", b"editedMessage", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "historySyncNotification", b"historySyncNotification", "initialSecurityNotificationSettingSync", b"initialSecurityNotificationSettingSync", "invokerJID", b"invokerJID", "key", b"key", "lidMigrationMappingSyncMessage", b"lidMigrationMappingSyncMessage", "limitSharing", b"limitSharing", "mediaNotifyMessage", b"mediaNotifyMessage", "memberLabel", b"memberLabel", "peerDataOperationRequestMessage", b"peerDataOperationRequestMessage", "peerDataOperationRequestResponseMessage", b"peerDataOperationRequestResponseMessage", "requestWelcomeMessageMetadata", b"requestWelcomeMessageMetadata", "timestampMS", b"timestampMS", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["aiPsiMetadata", b"aiPsiMetadata", "aiQueryFanout", b"aiQueryFanout", "appStateFatalExceptionNotification", b"appStateFatalExceptionNotification", "appStateSyncKeyRequest", b"appStateSyncKeyRequest", "appStateSyncKeyShare", b"appStateSyncKeyShare", "botFeedbackMessage", b"botFeedbackMessage", "cloudApiThreadControlNotification", b"cloudApiThreadControlNotification", "disappearingMode", b"disappearingMode", "editedMessage", b"editedMessage", "ephemeralExpiration", b"ephemeralExpiration", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "historySyncNotification", b"historySyncNotification", "initialSecurityNotificationSettingSync", b"initialSecurityNotificationSettingSync", "invokerJID", b"invokerJID", "key", b"key", "lidMigrationMappingSyncMessage", b"lidMigrationMappingSyncMessage", "limitSharing", b"limitSharing", "mediaNotifyMessage", b"mediaNotifyMessage", "memberLabel", b"memberLabel", "peerDataOperationRequestMessage", b"peerDataOperationRequestMessage", "peerDataOperationRequestResponseMessage", b"peerDataOperationRequestResponseMessage", "requestWelcomeMessageMetadata", b"requestWelcomeMessageMetadata", "timestampMS", b"timestampMS", "type", b"type"]) -> None: ...

Global___ProtocolMessage: typing_extensions.TypeAlias = ProtocolMessage

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

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

    class _CloudAPIThreadControlEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[CloudAPIThreadControlNotification._CloudAPIThreadControl.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: CloudAPIThreadControlNotification._CloudAPIThreadControl.ValueType  # 0
        CONTROL_PASSED: CloudAPIThreadControlNotification._CloudAPIThreadControl.ValueType  # 1
        CONTROL_TAKEN: CloudAPIThreadControlNotification._CloudAPIThreadControl.ValueType  # 2

    class CloudAPIThreadControl(_CloudAPIThreadControl, metaclass=_CloudAPIThreadControlEnumTypeWrapper): ...
    UNKNOWN: CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType  # 0
    CONTROL_PASSED: CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType  # 1
    CONTROL_TAKEN: CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType  # 2

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

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

    STATUS_FIELD_NUMBER: builtins.int
    SENDERNOTIFICATIONTIMESTAMPMS_FIELD_NUMBER: builtins.int
    CONSUMERLID_FIELD_NUMBER: builtins.int
    CONSUMERPHONENUMBER_FIELD_NUMBER: builtins.int
    NOTIFICATIONCONTENT_FIELD_NUMBER: builtins.int
    SHOULDSUPPRESSNOTIFICATION_FIELD_NUMBER: builtins.int
    status: Global___CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType
    senderNotificationTimestampMS: builtins.int
    consumerLid: builtins.str
    consumerPhoneNumber: builtins.str
    shouldSuppressNotification: builtins.bool
    @property
    def notificationContent(self) -> Global___CloudAPIThreadControlNotification.CloudAPIThreadControlNotificationContent: ...
    def __init__(
        self,
        *,
        status: Global___CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType | None = ...,
        senderNotificationTimestampMS: builtins.int | None = ...,
        consumerLid: builtins.str | None = ...,
        consumerPhoneNumber: builtins.str | None = ...,
        notificationContent: Global___CloudAPIThreadControlNotification.CloudAPIThreadControlNotificationContent | None = ...,
        shouldSuppressNotification: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["consumerLid", b"consumerLid", "consumerPhoneNumber", b"consumerPhoneNumber", "notificationContent", b"notificationContent", "senderNotificationTimestampMS", b"senderNotificationTimestampMS", "shouldSuppressNotification", b"shouldSuppressNotification", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["consumerLid", b"consumerLid", "consumerPhoneNumber", b"consumerPhoneNumber", "notificationContent", b"notificationContent", "senderNotificationTimestampMS", b"senderNotificationTimestampMS", "shouldSuppressNotification", b"shouldSuppressNotification", "status", b"status"]) -> None: ...

Global___CloudAPIThreadControlNotification: typing_extensions.TypeAlias = CloudAPIThreadControlNotification

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

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

    class _VideoSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[VideoMessage._VideoSourceType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        USER_VIDEO: VideoMessage._VideoSourceType.ValueType  # 0
        AI_GENERATED: VideoMessage._VideoSourceType.ValueType  # 1

    class VideoSourceType(_VideoSourceType, metaclass=_VideoSourceTypeEnumTypeWrapper): ...
    USER_VIDEO: VideoMessage.VideoSourceType.ValueType  # 0
    AI_GENERATED: VideoMessage.VideoSourceType.ValueType  # 1

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

    class _AttributionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[VideoMessage._Attribution.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NONE: VideoMessage._Attribution.ValueType  # 0
        GIPHY: VideoMessage._Attribution.ValueType  # 1
        TENOR: VideoMessage._Attribution.ValueType  # 2
        KLIPY: VideoMessage._Attribution.ValueType  # 3

    class Attribution(_Attribution, metaclass=_AttributionEnumTypeWrapper): ...
    NONE: VideoMessage.Attribution.ValueType  # 0
    GIPHY: VideoMessage.Attribution.ValueType  # 1
    TENOR: VideoMessage.Attribution.ValueType  # 2
    KLIPY: VideoMessage.Attribution.ValueType  # 3

    URL_FIELD_NUMBER: builtins.int
    MIMETYPE_FIELD_NUMBER: builtins.int
    FILESHA256_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    SECONDS_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    CAPTION_FIELD_NUMBER: builtins.int
    GIFPLAYBACK_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    INTERACTIVEANNOTATIONS_FIELD_NUMBER: builtins.int
    DIRECTPATH_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    STREAMINGSIDECAR_FIELD_NUMBER: builtins.int
    GIFATTRIBUTION_FIELD_NUMBER: builtins.int
    VIEWONCE_FIELD_NUMBER: builtins.int
    THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int
    THUMBNAILSHA256_FIELD_NUMBER: builtins.int
    THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int
    STATICURL_FIELD_NUMBER: builtins.int
    ANNOTATIONS_FIELD_NUMBER: builtins.int
    ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int
    PROCESSEDVIDEOS_FIELD_NUMBER: builtins.int
    EXTERNALSHAREFULLVIDEODURATIONINSECONDS_FIELD_NUMBER: builtins.int
    MOTIONPHOTOPRESENTATIONOFFSETMS_FIELD_NUMBER: builtins.int
    METADATAURL_FIELD_NUMBER: builtins.int
    VIDEOSOURCETYPE_FIELD_NUMBER: builtins.int
    MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int
    URL: builtins.str
    mimetype: builtins.str
    fileSHA256: builtins.bytes
    fileLength: builtins.int
    seconds: builtins.int
    mediaKey: builtins.bytes
    caption: builtins.str
    gifPlayback: builtins.bool
    height: builtins.int
    width: builtins.int
    fileEncSHA256: builtins.bytes
    directPath: builtins.str
    mediaKeyTimestamp: builtins.int
    JPEGThumbnail: builtins.bytes
    streamingSidecar: builtins.bytes
    gifAttribution: Global___VideoMessage.Attribution.ValueType
    viewOnce: builtins.bool
    thumbnailDirectPath: builtins.str
    thumbnailSHA256: builtins.bytes
    thumbnailEncSHA256: builtins.bytes
    staticURL: builtins.str
    accessibilityLabel: builtins.str
    externalShareFullVideoDurationInSeconds: builtins.int
    motionPhotoPresentationOffsetMS: builtins.int
    metadataURL: builtins.str
    videoSourceType: Global___VideoMessage.VideoSourceType.ValueType
    mediaKeyDomain: Global___MediaKeyDomain.ValueType
    @property
    def interactiveAnnotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___InteractiveAnnotation]: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___InteractiveAnnotation]: ...
    @property
    def processedVideos(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ProcessedVideo]: ...
    def __init__(
        self,
        *,
        URL: builtins.str | None = ...,
        mimetype: builtins.str | None = ...,
        fileSHA256: builtins.bytes | None = ...,
        fileLength: builtins.int | None = ...,
        seconds: builtins.int | None = ...,
        mediaKey: builtins.bytes | None = ...,
        caption: builtins.str | None = ...,
        gifPlayback: builtins.bool | None = ...,
        height: builtins.int | None = ...,
        width: builtins.int | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        interactiveAnnotations: collections.abc.Iterable[Global___InteractiveAnnotation] | None = ...,
        directPath: builtins.str | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        streamingSidecar: builtins.bytes | None = ...,
        gifAttribution: Global___VideoMessage.Attribution.ValueType | None = ...,
        viewOnce: builtins.bool | None = ...,
        thumbnailDirectPath: builtins.str | None = ...,
        thumbnailSHA256: builtins.bytes | None = ...,
        thumbnailEncSHA256: builtins.bytes | None = ...,
        staticURL: builtins.str | None = ...,
        annotations: collections.abc.Iterable[Global___InteractiveAnnotation] | None = ...,
        accessibilityLabel: builtins.str | None = ...,
        processedVideos: collections.abc.Iterable[Global___ProcessedVideo] | None = ...,
        externalShareFullVideoDurationInSeconds: builtins.int | None = ...,
        motionPhotoPresentationOffsetMS: builtins.int | None = ...,
        metadataURL: builtins.str | None = ...,
        videoSourceType: Global___VideoMessage.VideoSourceType.ValueType | None = ...,
        mediaKeyDomain: Global___MediaKeyDomain.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "externalShareFullVideoDurationInSeconds", b"externalShareFullVideoDurationInSeconds", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "gifAttribution", b"gifAttribution", "gifPlayback", b"gifPlayback", "height", b"height", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "metadataURL", b"metadataURL", "mimetype", b"mimetype", "motionPhotoPresentationOffsetMS", b"motionPhotoPresentationOffsetMS", "seconds", b"seconds", "staticURL", b"staticURL", "streamingSidecar", b"streamingSidecar", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "videoSourceType", b"videoSourceType", "viewOnce", b"viewOnce", "width", b"width"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "annotations", b"annotations", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "externalShareFullVideoDurationInSeconds", b"externalShareFullVideoDurationInSeconds", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "gifAttribution", b"gifAttribution", "gifPlayback", b"gifPlayback", "height", b"height", "interactiveAnnotations", b"interactiveAnnotations", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "metadataURL", b"metadataURL", "mimetype", b"mimetype", "motionPhotoPresentationOffsetMS", b"motionPhotoPresentationOffsetMS", "processedVideos", b"processedVideos", "seconds", b"seconds", "staticURL", b"staticURL", "streamingSidecar", b"streamingSidecar", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "videoSourceType", b"videoSourceType", "viewOnce", b"viewOnce", "width", b"width"]) -> None: ...

Global___VideoMessage: typing_extensions.TypeAlias = VideoMessage

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

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

    class _InviteLinkGroupTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._InviteLinkGroupType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        DEFAULT: ExtendedTextMessage._InviteLinkGroupType.ValueType  # 0
        PARENT: ExtendedTextMessage._InviteLinkGroupType.ValueType  # 1
        SUB: ExtendedTextMessage._InviteLinkGroupType.ValueType  # 2
        DEFAULT_SUB: ExtendedTextMessage._InviteLinkGroupType.ValueType  # 3

    class InviteLinkGroupType(_InviteLinkGroupType, metaclass=_InviteLinkGroupTypeEnumTypeWrapper): ...
    DEFAULT: ExtendedTextMessage.InviteLinkGroupType.ValueType  # 0
    PARENT: ExtendedTextMessage.InviteLinkGroupType.ValueType  # 1
    SUB: ExtendedTextMessage.InviteLinkGroupType.ValueType  # 2
    DEFAULT_SUB: ExtendedTextMessage.InviteLinkGroupType.ValueType  # 3

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

    class _PreviewTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._PreviewType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NONE: ExtendedTextMessage._PreviewType.ValueType  # 0
        VIDEO: ExtendedTextMessage._PreviewType.ValueType  # 1
        PLACEHOLDER: ExtendedTextMessage._PreviewType.ValueType  # 4
        IMAGE: ExtendedTextMessage._PreviewType.ValueType  # 5
        PAYMENT_LINKS: ExtendedTextMessage._PreviewType.ValueType  # 6
        PROFILE: ExtendedTextMessage._PreviewType.ValueType  # 7

    class PreviewType(_PreviewType, metaclass=_PreviewTypeEnumTypeWrapper): ...
    NONE: ExtendedTextMessage.PreviewType.ValueType  # 0
    VIDEO: ExtendedTextMessage.PreviewType.ValueType  # 1
    PLACEHOLDER: ExtendedTextMessage.PreviewType.ValueType  # 4
    IMAGE: ExtendedTextMessage.PreviewType.ValueType  # 5
    PAYMENT_LINKS: ExtendedTextMessage.PreviewType.ValueType  # 6
    PROFILE: ExtendedTextMessage.PreviewType.ValueType  # 7

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

    class _FontTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ExtendedTextMessage._FontType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        SYSTEM: ExtendedTextMessage._FontType.ValueType  # 0
        SYSTEM_TEXT: ExtendedTextMessage._FontType.ValueType  # 1
        FB_SCRIPT: ExtendedTextMessage._FontType.ValueType  # 2
        SYSTEM_BOLD: ExtendedTextMessage._FontType.ValueType  # 6
        MORNINGBREEZE_REGULAR: ExtendedTextMessage._FontType.ValueType  # 7
        CALISTOGA_REGULAR: ExtendedTextMessage._FontType.ValueType  # 8
        EXO2_EXTRABOLD: ExtendedTextMessage._FontType.ValueType  # 9
        COURIERPRIME_BOLD: ExtendedTextMessage._FontType.ValueType  # 10

    class FontType(_FontType, metaclass=_FontTypeEnumTypeWrapper): ...
    SYSTEM: ExtendedTextMessage.FontType.ValueType  # 0
    SYSTEM_TEXT: ExtendedTextMessage.FontType.ValueType  # 1
    FB_SCRIPT: ExtendedTextMessage.FontType.ValueType  # 2
    SYSTEM_BOLD: ExtendedTextMessage.FontType.ValueType  # 6
    MORNINGBREEZE_REGULAR: ExtendedTextMessage.FontType.ValueType  # 7
    CALISTOGA_REGULAR: ExtendedTextMessage.FontType.ValueType  # 8
    EXO2_EXTRABOLD: ExtendedTextMessage.FontType.ValueType  # 9
    COURIERPRIME_BOLD: ExtendedTextMessage.FontType.ValueType  # 10

    TEXT_FIELD_NUMBER: builtins.int
    MATCHEDTEXT_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    TEXTARGB_FIELD_NUMBER: builtins.int
    BACKGROUNDARGB_FIELD_NUMBER: builtins.int
    FONT_FIELD_NUMBER: builtins.int
    PREVIEWTYPE_FIELD_NUMBER: builtins.int
    JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    DONOTPLAYINLINE_FIELD_NUMBER: builtins.int
    THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int
    THUMBNAILSHA256_FIELD_NUMBER: builtins.int
    THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int
    THUMBNAILWIDTH_FIELD_NUMBER: builtins.int
    INVITELINKGROUPTYPE_FIELD_NUMBER: builtins.int
    INVITELINKPARENTGROUPSUBJECTV2_FIELD_NUMBER: builtins.int
    INVITELINKPARENTGROUPTHUMBNAILV2_FIELD_NUMBER: builtins.int
    INVITELINKGROUPTYPEV2_FIELD_NUMBER: builtins.int
    VIEWONCE_FIELD_NUMBER: builtins.int
    VIDEOHEIGHT_FIELD_NUMBER: builtins.int
    VIDEOWIDTH_FIELD_NUMBER: builtins.int
    FAVICONMMSMETADATA_FIELD_NUMBER: builtins.int
    LINKPREVIEWMETADATA_FIELD_NUMBER: builtins.int
    PAYMENTLINKMETADATA_FIELD_NUMBER: builtins.int
    ENDCARDTILES_FIELD_NUMBER: builtins.int
    VIDEOCONTENTURL_FIELD_NUMBER: builtins.int
    MUSICMETADATA_FIELD_NUMBER: builtins.int
    PAYMENTEXTENDEDMETADATA_FIELD_NUMBER: builtins.int
    text: builtins.str
    matchedText: builtins.str
    description: builtins.str
    title: builtins.str
    textArgb: builtins.int
    backgroundArgb: builtins.int
    font: Global___ExtendedTextMessage.FontType.ValueType
    previewType: Global___ExtendedTextMessage.PreviewType.ValueType
    JPEGThumbnail: builtins.bytes
    doNotPlayInline: builtins.bool
    thumbnailDirectPath: builtins.str
    thumbnailSHA256: builtins.bytes
    thumbnailEncSHA256: builtins.bytes
    mediaKey: builtins.bytes
    mediaKeyTimestamp: builtins.int
    thumbnailHeight: builtins.int
    thumbnailWidth: builtins.int
    inviteLinkGroupType: Global___ExtendedTextMessage.InviteLinkGroupType.ValueType
    inviteLinkParentGroupSubjectV2: builtins.str
    inviteLinkParentGroupThumbnailV2: builtins.bytes
    inviteLinkGroupTypeV2: Global___ExtendedTextMessage.InviteLinkGroupType.ValueType
    viewOnce: builtins.bool
    videoHeight: builtins.int
    videoWidth: builtins.int
    videoContentURL: builtins.str
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def faviconMMSMetadata(self) -> Global___MMSThumbnailMetadata: ...
    @property
    def linkPreviewMetadata(self) -> Global___LinkPreviewMetadata: ...
    @property
    def paymentLinkMetadata(self) -> Global___PaymentLinkMetadata: ...
    @property
    def endCardTiles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___VideoEndCard]: ...
    @property
    def musicMetadata(self) -> Global___EmbeddedMusic: ...
    @property
    def paymentExtendedMetadata(self) -> Global___PaymentExtendedMetadata: ...
    def __init__(
        self,
        *,
        text: builtins.str | None = ...,
        matchedText: builtins.str | None = ...,
        description: builtins.str | None = ...,
        title: builtins.str | None = ...,
        textArgb: builtins.int | None = ...,
        backgroundArgb: builtins.int | None = ...,
        font: Global___ExtendedTextMessage.FontType.ValueType | None = ...,
        previewType: Global___ExtendedTextMessage.PreviewType.ValueType | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        doNotPlayInline: builtins.bool | None = ...,
        thumbnailDirectPath: builtins.str | None = ...,
        thumbnailSHA256: builtins.bytes | None = ...,
        thumbnailEncSHA256: builtins.bytes | None = ...,
        mediaKey: builtins.bytes | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        thumbnailHeight: builtins.int | None = ...,
        thumbnailWidth: builtins.int | None = ...,
        inviteLinkGroupType: Global___ExtendedTextMessage.InviteLinkGroupType.ValueType | None = ...,
        inviteLinkParentGroupSubjectV2: builtins.str | None = ...,
        inviteLinkParentGroupThumbnailV2: builtins.bytes | None = ...,
        inviteLinkGroupTypeV2: Global___ExtendedTextMessage.InviteLinkGroupType.ValueType | None = ...,
        viewOnce: builtins.bool | None = ...,
        videoHeight: builtins.int | None = ...,
        videoWidth: builtins.int | None = ...,
        faviconMMSMetadata: Global___MMSThumbnailMetadata | None = ...,
        linkPreviewMetadata: Global___LinkPreviewMetadata | None = ...,
        paymentLinkMetadata: Global___PaymentLinkMetadata | None = ...,
        endCardTiles: collections.abc.Iterable[Global___VideoEndCard] | None = ...,
        videoContentURL: builtins.str | None = ...,
        musicMetadata: Global___EmbeddedMusic | None = ...,
        paymentExtendedMetadata: Global___PaymentExtendedMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "description", b"description", "doNotPlayInline", b"doNotPlayInline", "faviconMMSMetadata", b"faviconMMSMetadata", "font", b"font", "inviteLinkGroupType", b"inviteLinkGroupType", "inviteLinkGroupTypeV2", b"inviteLinkGroupTypeV2", "inviteLinkParentGroupSubjectV2", b"inviteLinkParentGroupSubjectV2", "inviteLinkParentGroupThumbnailV2", b"inviteLinkParentGroupThumbnailV2", "linkPreviewMetadata", b"linkPreviewMetadata", "matchedText", b"matchedText", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "musicMetadata", b"musicMetadata", "paymentExtendedMetadata", b"paymentExtendedMetadata", "paymentLinkMetadata", b"paymentLinkMetadata", "previewType", b"previewType", "text", b"text", "textArgb", b"textArgb", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "title", b"title", "videoContentURL", b"videoContentURL", "videoHeight", b"videoHeight", "videoWidth", b"videoWidth", "viewOnce", b"viewOnce"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "description", b"description", "doNotPlayInline", b"doNotPlayInline", "endCardTiles", b"endCardTiles", "faviconMMSMetadata", b"faviconMMSMetadata", "font", b"font", "inviteLinkGroupType", b"inviteLinkGroupType", "inviteLinkGroupTypeV2", b"inviteLinkGroupTypeV2", "inviteLinkParentGroupSubjectV2", b"inviteLinkParentGroupSubjectV2", "inviteLinkParentGroupThumbnailV2", b"inviteLinkParentGroupThumbnailV2", "linkPreviewMetadata", b"linkPreviewMetadata", "matchedText", b"matchedText", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "musicMetadata", b"musicMetadata", "paymentExtendedMetadata", b"paymentExtendedMetadata", "paymentLinkMetadata", b"paymentLinkMetadata", "previewType", b"previewType", "text", b"text", "textArgb", b"textArgb", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "title", b"title", "videoContentURL", b"videoContentURL", "videoHeight", b"videoHeight", "videoWidth", b"videoWidth", "viewOnce", b"viewOnce"]) -> None: ...

Global___ExtendedTextMessage: typing_extensions.TypeAlias = ExtendedTextMessage

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

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

    class _SocialMediaPostTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[LinkPreviewMetadata._SocialMediaPostType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NONE: LinkPreviewMetadata._SocialMediaPostType.ValueType  # 0
        REEL: LinkPreviewMetadata._SocialMediaPostType.ValueType  # 1
        LIVE_VIDEO: LinkPreviewMetadata._SocialMediaPostType.ValueType  # 2
        LONG_VIDEO: LinkPreviewMetadata._SocialMediaPostType.ValueType  # 3
        SINGLE_IMAGE: LinkPreviewMetadata._SocialMediaPostType.ValueType  # 4
        CAROUSEL: LinkPreviewMetadata._SocialMediaPostType.ValueType  # 5

    class SocialMediaPostType(_SocialMediaPostType, metaclass=_SocialMediaPostTypeEnumTypeWrapper): ...
    NONE: LinkPreviewMetadata.SocialMediaPostType.ValueType  # 0
    REEL: LinkPreviewMetadata.SocialMediaPostType.ValueType  # 1
    LIVE_VIDEO: LinkPreviewMetadata.SocialMediaPostType.ValueType  # 2
    LONG_VIDEO: LinkPreviewMetadata.SocialMediaPostType.ValueType  # 3
    SINGLE_IMAGE: LinkPreviewMetadata.SocialMediaPostType.ValueType  # 4
    CAROUSEL: LinkPreviewMetadata.SocialMediaPostType.ValueType  # 5

    PAYMENTLINKMETADATA_FIELD_NUMBER: builtins.int
    URLMETADATA_FIELD_NUMBER: builtins.int
    FBEXPERIMENTID_FIELD_NUMBER: builtins.int
    LINKMEDIADURATION_FIELD_NUMBER: builtins.int
    SOCIALMEDIAPOSTTYPE_FIELD_NUMBER: builtins.int
    LINKINLINEVIDEOMUTED_FIELD_NUMBER: builtins.int
    VIDEOCONTENTURL_FIELD_NUMBER: builtins.int
    MUSICMETADATA_FIELD_NUMBER: builtins.int
    VIDEOCONTENTCAPTION_FIELD_NUMBER: builtins.int
    fbExperimentID: builtins.int
    linkMediaDuration: builtins.int
    socialMediaPostType: Global___LinkPreviewMetadata.SocialMediaPostType.ValueType
    linkInlineVideoMuted: builtins.bool
    videoContentURL: builtins.str
    videoContentCaption: builtins.str
    @property
    def paymentLinkMetadata(self) -> Global___PaymentLinkMetadata: ...
    @property
    def urlMetadata(self) -> Global___URLMetadata: ...
    @property
    def musicMetadata(self) -> Global___EmbeddedMusic: ...
    def __init__(
        self,
        *,
        paymentLinkMetadata: Global___PaymentLinkMetadata | None = ...,
        urlMetadata: Global___URLMetadata | None = ...,
        fbExperimentID: builtins.int | None = ...,
        linkMediaDuration: builtins.int | None = ...,
        socialMediaPostType: Global___LinkPreviewMetadata.SocialMediaPostType.ValueType | None = ...,
        linkInlineVideoMuted: builtins.bool | None = ...,
        videoContentURL: builtins.str | None = ...,
        musicMetadata: Global___EmbeddedMusic | None = ...,
        videoContentCaption: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["fbExperimentID", b"fbExperimentID", "linkInlineVideoMuted", b"linkInlineVideoMuted", "linkMediaDuration", b"linkMediaDuration", "musicMetadata", b"musicMetadata", "paymentLinkMetadata", b"paymentLinkMetadata", "socialMediaPostType", b"socialMediaPostType", "urlMetadata", b"urlMetadata", "videoContentCaption", b"videoContentCaption", "videoContentURL", b"videoContentURL"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["fbExperimentID", b"fbExperimentID", "linkInlineVideoMuted", b"linkInlineVideoMuted", "linkMediaDuration", b"linkMediaDuration", "musicMetadata", b"musicMetadata", "paymentLinkMetadata", b"paymentLinkMetadata", "socialMediaPostType", b"socialMediaPostType", "urlMetadata", b"urlMetadata", "videoContentCaption", b"videoContentCaption", "videoContentURL", b"videoContentURL"]) -> None: ...

Global___LinkPreviewMetadata: typing_extensions.TypeAlias = LinkPreviewMetadata

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

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

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

        class _PaymentLinkHeaderTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentLinkMetadata.PaymentLinkHeader._PaymentLinkHeaderType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            LINK_PREVIEW: PaymentLinkMetadata.PaymentLinkHeader._PaymentLinkHeaderType.ValueType  # 0
            ORDER: PaymentLinkMetadata.PaymentLinkHeader._PaymentLinkHeaderType.ValueType  # 1

        class PaymentLinkHeaderType(_PaymentLinkHeaderType, metaclass=_PaymentLinkHeaderTypeEnumTypeWrapper): ...
        LINK_PREVIEW: PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType.ValueType  # 0
        ORDER: PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType.ValueType  # 1

        HEADERTYPE_FIELD_NUMBER: builtins.int
        headerType: Global___PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType.ValueType
        def __init__(
            self,
            *,
            headerType: Global___PaymentLinkMetadata.PaymentLinkHeader.PaymentLinkHeaderType.ValueType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["headerType", b"headerType"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["headerType", b"headerType"]) -> None: ...

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

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

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

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

    BUTTON_FIELD_NUMBER: builtins.int
    HEADER_FIELD_NUMBER: builtins.int
    PROVIDER_FIELD_NUMBER: builtins.int
    @property
    def button(self) -> Global___PaymentLinkMetadata.PaymentLinkButton: ...
    @property
    def header(self) -> Global___PaymentLinkMetadata.PaymentLinkHeader: ...
    @property
    def provider(self) -> Global___PaymentLinkMetadata.PaymentLinkProvider: ...
    def __init__(
        self,
        *,
        button: Global___PaymentLinkMetadata.PaymentLinkButton | None = ...,
        header: Global___PaymentLinkMetadata.PaymentLinkHeader | None = ...,
        provider: Global___PaymentLinkMetadata.PaymentLinkProvider | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["button", b"button", "header", b"header", "provider", b"provider"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["button", b"button", "header", b"header", "provider", b"provider"]) -> None: ...

Global___PaymentLinkMetadata: typing_extensions.TypeAlias = PaymentLinkMetadata

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

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

    class _StatusNotificationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[StatusNotificationMessage._StatusNotificationType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: StatusNotificationMessage._StatusNotificationType.ValueType  # 0
        STATUS_ADD_YOURS: StatusNotificationMessage._StatusNotificationType.ValueType  # 1
        STATUS_RESHARE: StatusNotificationMessage._StatusNotificationType.ValueType  # 2
        STATUS_QUESTION_ANSWER_RESHARE: StatusNotificationMessage._StatusNotificationType.ValueType  # 3

    class StatusNotificationType(_StatusNotificationType, metaclass=_StatusNotificationTypeEnumTypeWrapper): ...
    UNKNOWN: StatusNotificationMessage.StatusNotificationType.ValueType  # 0
    STATUS_ADD_YOURS: StatusNotificationMessage.StatusNotificationType.ValueType  # 1
    STATUS_RESHARE: StatusNotificationMessage.StatusNotificationType.ValueType  # 2
    STATUS_QUESTION_ANSWER_RESHARE: StatusNotificationMessage.StatusNotificationType.ValueType  # 3

    RESPONSEMESSAGEKEY_FIELD_NUMBER: builtins.int
    ORIGINALMESSAGEKEY_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    type: Global___StatusNotificationMessage.StatusNotificationType.ValueType
    @property
    def responseMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    @property
    def originalMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        responseMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        originalMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        type: Global___StatusNotificationMessage.StatusNotificationType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["originalMessageKey", b"originalMessageKey", "responseMessageKey", b"responseMessageKey", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["originalMessageKey", b"originalMessageKey", "responseMessageKey", b"responseMessageKey", "type", b"type"]) -> None: ...

Global___StatusNotificationMessage: typing_extensions.TypeAlias = StatusNotificationMessage

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

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

    class _AttachmentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InvoiceMessage._AttachmentType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        IMAGE: InvoiceMessage._AttachmentType.ValueType  # 0
        PDF: InvoiceMessage._AttachmentType.ValueType  # 1

    class AttachmentType(_AttachmentType, metaclass=_AttachmentTypeEnumTypeWrapper): ...
    IMAGE: InvoiceMessage.AttachmentType.ValueType  # 0
    PDF: InvoiceMessage.AttachmentType.ValueType  # 1

    NOTE_FIELD_NUMBER: builtins.int
    TOKEN_FIELD_NUMBER: builtins.int
    ATTACHMENTTYPE_FIELD_NUMBER: builtins.int
    ATTACHMENTMIMETYPE_FIELD_NUMBER: builtins.int
    ATTACHMENTMEDIAKEY_FIELD_NUMBER: builtins.int
    ATTACHMENTMEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    ATTACHMENTFILESHA256_FIELD_NUMBER: builtins.int
    ATTACHMENTFILEENCSHA256_FIELD_NUMBER: builtins.int
    ATTACHMENTDIRECTPATH_FIELD_NUMBER: builtins.int
    ATTACHMENTJPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    note: builtins.str
    token: builtins.str
    attachmentType: Global___InvoiceMessage.AttachmentType.ValueType
    attachmentMimetype: builtins.str
    attachmentMediaKey: builtins.bytes
    attachmentMediaKeyTimestamp: builtins.int
    attachmentFileSHA256: builtins.bytes
    attachmentFileEncSHA256: builtins.bytes
    attachmentDirectPath: builtins.str
    attachmentJPEGThumbnail: builtins.bytes
    def __init__(
        self,
        *,
        note: builtins.str | None = ...,
        token: builtins.str | None = ...,
        attachmentType: Global___InvoiceMessage.AttachmentType.ValueType | None = ...,
        attachmentMimetype: builtins.str | None = ...,
        attachmentMediaKey: builtins.bytes | None = ...,
        attachmentMediaKeyTimestamp: builtins.int | None = ...,
        attachmentFileSHA256: builtins.bytes | None = ...,
        attachmentFileEncSHA256: builtins.bytes | None = ...,
        attachmentDirectPath: builtins.str | None = ...,
        attachmentJPEGThumbnail: builtins.bytes | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["attachmentDirectPath", b"attachmentDirectPath", "attachmentFileEncSHA256", b"attachmentFileEncSHA256", "attachmentFileSHA256", b"attachmentFileSHA256", "attachmentJPEGThumbnail", b"attachmentJPEGThumbnail", "attachmentMediaKey", b"attachmentMediaKey", "attachmentMediaKeyTimestamp", b"attachmentMediaKeyTimestamp", "attachmentMimetype", b"attachmentMimetype", "attachmentType", b"attachmentType", "note", b"note", "token", b"token"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["attachmentDirectPath", b"attachmentDirectPath", "attachmentFileEncSHA256", b"attachmentFileEncSHA256", "attachmentFileSHA256", b"attachmentFileSHA256", "attachmentJPEGThumbnail", b"attachmentJPEGThumbnail", "attachmentMediaKey", b"attachmentMediaKey", "attachmentMediaKeyTimestamp", b"attachmentMediaKeyTimestamp", "attachmentMimetype", b"attachmentMimetype", "attachmentType", b"attachmentType", "note", b"note", "token", b"token"]) -> None: ...

Global___InvoiceMessage: typing_extensions.TypeAlias = InvoiceMessage

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

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

    class _ImageSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ImageMessage._ImageSourceType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        USER_IMAGE: ImageMessage._ImageSourceType.ValueType  # 0
        AI_GENERATED: ImageMessage._ImageSourceType.ValueType  # 1
        AI_MODIFIED: ImageMessage._ImageSourceType.ValueType  # 2
        RASTERIZED_TEXT_STATUS: ImageMessage._ImageSourceType.ValueType  # 3

    class ImageSourceType(_ImageSourceType, metaclass=_ImageSourceTypeEnumTypeWrapper): ...
    USER_IMAGE: ImageMessage.ImageSourceType.ValueType  # 0
    AI_GENERATED: ImageMessage.ImageSourceType.ValueType  # 1
    AI_MODIFIED: ImageMessage.ImageSourceType.ValueType  # 2
    RASTERIZED_TEXT_STATUS: ImageMessage.ImageSourceType.ValueType  # 3

    URL_FIELD_NUMBER: builtins.int
    MIMETYPE_FIELD_NUMBER: builtins.int
    CAPTION_FIELD_NUMBER: builtins.int
    FILESHA256_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    INTERACTIVEANNOTATIONS_FIELD_NUMBER: builtins.int
    DIRECTPATH_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    FIRSTSCANSIDECAR_FIELD_NUMBER: builtins.int
    FIRSTSCANLENGTH_FIELD_NUMBER: builtins.int
    EXPERIMENTGROUPID_FIELD_NUMBER: builtins.int
    SCANSSIDECAR_FIELD_NUMBER: builtins.int
    SCANLENGTHS_FIELD_NUMBER: builtins.int
    MIDQUALITYFILESHA256_FIELD_NUMBER: builtins.int
    MIDQUALITYFILEENCSHA256_FIELD_NUMBER: builtins.int
    VIEWONCE_FIELD_NUMBER: builtins.int
    THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int
    THUMBNAILSHA256_FIELD_NUMBER: builtins.int
    THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int
    STATICURL_FIELD_NUMBER: builtins.int
    ANNOTATIONS_FIELD_NUMBER: builtins.int
    IMAGESOURCETYPE_FIELD_NUMBER: builtins.int
    ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int
    MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int
    QRURL_FIELD_NUMBER: builtins.int
    URL: builtins.str
    mimetype: builtins.str
    caption: builtins.str
    fileSHA256: builtins.bytes
    fileLength: builtins.int
    height: builtins.int
    width: builtins.int
    mediaKey: builtins.bytes
    fileEncSHA256: builtins.bytes
    directPath: builtins.str
    mediaKeyTimestamp: builtins.int
    JPEGThumbnail: builtins.bytes
    firstScanSidecar: builtins.bytes
    firstScanLength: builtins.int
    experimentGroupID: builtins.int
    scansSidecar: builtins.bytes
    midQualityFileSHA256: builtins.bytes
    midQualityFileEncSHA256: builtins.bytes
    viewOnce: builtins.bool
    thumbnailDirectPath: builtins.str
    thumbnailSHA256: builtins.bytes
    thumbnailEncSHA256: builtins.bytes
    staticURL: builtins.str
    imageSourceType: Global___ImageMessage.ImageSourceType.ValueType
    accessibilityLabel: builtins.str
    mediaKeyDomain: Global___MediaKeyDomain.ValueType
    qrURL: builtins.str
    @property
    def interactiveAnnotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___InteractiveAnnotation]: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def scanLengths(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___InteractiveAnnotation]: ...
    def __init__(
        self,
        *,
        URL: builtins.str | None = ...,
        mimetype: builtins.str | None = ...,
        caption: builtins.str | None = ...,
        fileSHA256: builtins.bytes | None = ...,
        fileLength: builtins.int | None = ...,
        height: builtins.int | None = ...,
        width: builtins.int | None = ...,
        mediaKey: builtins.bytes | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        interactiveAnnotations: collections.abc.Iterable[Global___InteractiveAnnotation] | None = ...,
        directPath: builtins.str | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        firstScanSidecar: builtins.bytes | None = ...,
        firstScanLength: builtins.int | None = ...,
        experimentGroupID: builtins.int | None = ...,
        scansSidecar: builtins.bytes | None = ...,
        scanLengths: collections.abc.Iterable[builtins.int] | None = ...,
        midQualityFileSHA256: builtins.bytes | None = ...,
        midQualityFileEncSHA256: builtins.bytes | None = ...,
        viewOnce: builtins.bool | None = ...,
        thumbnailDirectPath: builtins.str | None = ...,
        thumbnailSHA256: builtins.bytes | None = ...,
        thumbnailEncSHA256: builtins.bytes | None = ...,
        staticURL: builtins.str | None = ...,
        annotations: collections.abc.Iterable[Global___InteractiveAnnotation] | None = ...,
        imageSourceType: Global___ImageMessage.ImageSourceType.ValueType | None = ...,
        accessibilityLabel: builtins.str | None = ...,
        mediaKeyDomain: Global___MediaKeyDomain.ValueType | None = ...,
        qrURL: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "experimentGroupID", b"experimentGroupID", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "firstScanLength", b"firstScanLength", "firstScanSidecar", b"firstScanSidecar", "height", b"height", "imageSourceType", b"imageSourceType", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "midQualityFileEncSHA256", b"midQualityFileEncSHA256", "midQualityFileSHA256", b"midQualityFileSHA256", "mimetype", b"mimetype", "qrURL", b"qrURL", "scansSidecar", b"scansSidecar", "staticURL", b"staticURL", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "viewOnce", b"viewOnce", "width", b"width"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "annotations", b"annotations", "caption", b"caption", "contextInfo", b"contextInfo", "directPath", b"directPath", "experimentGroupID", b"experimentGroupID", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "firstScanLength", b"firstScanLength", "firstScanSidecar", b"firstScanSidecar", "height", b"height", "imageSourceType", b"imageSourceType", "interactiveAnnotations", b"interactiveAnnotations", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "midQualityFileEncSHA256", b"midQualityFileEncSHA256", "midQualityFileSHA256", b"midQualityFileSHA256", "mimetype", b"mimetype", "qrURL", b"qrURL", "scanLengths", b"scanLengths", "scansSidecar", b"scansSidecar", "staticURL", b"staticURL", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "viewOnce", b"viewOnce", "width", b"width"]) -> None: ...

Global___ImageMessage: typing_extensions.TypeAlias = ImageMessage

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

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

    class _QuotedTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._QuotedType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        EXPLICIT: ContextInfo._QuotedType.ValueType  # 0
        AUTO: ContextInfo._QuotedType.ValueType  # 1

    class QuotedType(_QuotedType, metaclass=_QuotedTypeEnumTypeWrapper): ...
    EXPLICIT: ContextInfo.QuotedType.ValueType  # 0
    AUTO: ContextInfo.QuotedType.ValueType  # 1

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

    class _ForwardOriginEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._ForwardOrigin.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ContextInfo._ForwardOrigin.ValueType  # 0
        CHAT: ContextInfo._ForwardOrigin.ValueType  # 1
        STATUS: ContextInfo._ForwardOrigin.ValueType  # 2
        CHANNELS: ContextInfo._ForwardOrigin.ValueType  # 3
        META_AI: ContextInfo._ForwardOrigin.ValueType  # 4
        UGC: ContextInfo._ForwardOrigin.ValueType  # 5

    class ForwardOrigin(_ForwardOrigin, metaclass=_ForwardOriginEnumTypeWrapper): ...
    UNKNOWN: ContextInfo.ForwardOrigin.ValueType  # 0
    CHAT: ContextInfo.ForwardOrigin.ValueType  # 1
    STATUS: ContextInfo.ForwardOrigin.ValueType  # 2
    CHANNELS: ContextInfo.ForwardOrigin.ValueType  # 3
    META_AI: ContextInfo.ForwardOrigin.ValueType  # 4
    UGC: ContextInfo.ForwardOrigin.ValueType  # 5

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

    class _StatusSourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._StatusSourceType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        IMAGE: ContextInfo._StatusSourceType.ValueType  # 0
        VIDEO: ContextInfo._StatusSourceType.ValueType  # 1
        GIF: ContextInfo._StatusSourceType.ValueType  # 2
        AUDIO: ContextInfo._StatusSourceType.ValueType  # 3
        TEXT: ContextInfo._StatusSourceType.ValueType  # 4
        MUSIC_STANDALONE: ContextInfo._StatusSourceType.ValueType  # 5

    class StatusSourceType(_StatusSourceType, metaclass=_StatusSourceTypeEnumTypeWrapper): ...
    IMAGE: ContextInfo.StatusSourceType.ValueType  # 0
    VIDEO: ContextInfo.StatusSourceType.ValueType  # 1
    GIF: ContextInfo.StatusSourceType.ValueType  # 2
    AUDIO: ContextInfo.StatusSourceType.ValueType  # 3
    TEXT: ContextInfo.StatusSourceType.ValueType  # 4
    MUSIC_STANDALONE: ContextInfo.StatusSourceType.ValueType  # 5

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

    class _PairedMediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._PairedMediaType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NOT_PAIRED_MEDIA: ContextInfo._PairedMediaType.ValueType  # 0
        SD_VIDEO_PARENT: ContextInfo._PairedMediaType.ValueType  # 1
        HD_VIDEO_CHILD: ContextInfo._PairedMediaType.ValueType  # 2
        SD_IMAGE_PARENT: ContextInfo._PairedMediaType.ValueType  # 3
        HD_IMAGE_CHILD: ContextInfo._PairedMediaType.ValueType  # 4
        MOTION_PHOTO_PARENT: ContextInfo._PairedMediaType.ValueType  # 5
        MOTION_PHOTO_CHILD: ContextInfo._PairedMediaType.ValueType  # 6
        HEVC_VIDEO_PARENT: ContextInfo._PairedMediaType.ValueType  # 7
        HEVC_VIDEO_CHILD: ContextInfo._PairedMediaType.ValueType  # 8

    class PairedMediaType(_PairedMediaType, metaclass=_PairedMediaTypeEnumTypeWrapper): ...
    NOT_PAIRED_MEDIA: ContextInfo.PairedMediaType.ValueType  # 0
    SD_VIDEO_PARENT: ContextInfo.PairedMediaType.ValueType  # 1
    HD_VIDEO_CHILD: ContextInfo.PairedMediaType.ValueType  # 2
    SD_IMAGE_PARENT: ContextInfo.PairedMediaType.ValueType  # 3
    HD_IMAGE_CHILD: ContextInfo.PairedMediaType.ValueType  # 4
    MOTION_PHOTO_PARENT: ContextInfo.PairedMediaType.ValueType  # 5
    MOTION_PHOTO_CHILD: ContextInfo.PairedMediaType.ValueType  # 6
    HEVC_VIDEO_PARENT: ContextInfo.PairedMediaType.ValueType  # 7
    HEVC_VIDEO_CHILD: ContextInfo.PairedMediaType.ValueType  # 8

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

    class _StatusAttributionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo._StatusAttributionType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NONE: ContextInfo._StatusAttributionType.ValueType  # 0
        RESHARED_FROM_MENTION: ContextInfo._StatusAttributionType.ValueType  # 1
        RESHARED_FROM_POST: ContextInfo._StatusAttributionType.ValueType  # 2
        RESHARED_FROM_POST_MANY_TIMES: ContextInfo._StatusAttributionType.ValueType  # 3
        FORWARDED_FROM_STATUS: ContextInfo._StatusAttributionType.ValueType  # 4

    class StatusAttributionType(_StatusAttributionType, metaclass=_StatusAttributionTypeEnumTypeWrapper): ...
    NONE: ContextInfo.StatusAttributionType.ValueType  # 0
    RESHARED_FROM_MENTION: ContextInfo.StatusAttributionType.ValueType  # 1
    RESHARED_FROM_POST: ContextInfo.StatusAttributionType.ValueType  # 2
    RESHARED_FROM_POST_MANY_TIMES: ContextInfo.StatusAttributionType.ValueType  # 3
    FORWARDED_FROM_STATUS: ContextInfo.StatusAttributionType.ValueType  # 4

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

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

        class _AudienceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.StatusAudienceMetadata._AudienceType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNKNOWN: ContextInfo.StatusAudienceMetadata._AudienceType.ValueType  # 0
            CLOSE_FRIENDS: ContextInfo.StatusAudienceMetadata._AudienceType.ValueType  # 1

        class AudienceType(_AudienceType, metaclass=_AudienceTypeEnumTypeWrapper): ...
        UNKNOWN: ContextInfo.StatusAudienceMetadata.AudienceType.ValueType  # 0
        CLOSE_FRIENDS: ContextInfo.StatusAudienceMetadata.AudienceType.ValueType  # 1

        AUDIENCETYPE_FIELD_NUMBER: builtins.int
        audienceType: Global___ContextInfo.StatusAudienceMetadata.AudienceType.ValueType
        def __init__(
            self,
            *,
            audienceType: Global___ContextInfo.StatusAudienceMetadata.AudienceType.ValueType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["audienceType", b"audienceType"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["audienceType", b"audienceType"]) -> None: ...

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

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

        class _DataSharingFlagsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.DataSharingContext._DataSharingFlags.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            SHOW_MM_DISCLOSURE_ON_CLICK: ContextInfo.DataSharingContext._DataSharingFlags.ValueType  # 1
            SHOW_MM_DISCLOSURE_ON_READ: ContextInfo.DataSharingContext._DataSharingFlags.ValueType  # 2

        class DataSharingFlags(_DataSharingFlags, metaclass=_DataSharingFlagsEnumTypeWrapper): ...
        SHOW_MM_DISCLOSURE_ON_CLICK: ContextInfo.DataSharingContext.DataSharingFlags.ValueType  # 1
        SHOW_MM_DISCLOSURE_ON_READ: ContextInfo.DataSharingContext.DataSharingFlags.ValueType  # 2

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

            KEY_FIELD_NUMBER: builtins.int
            STRINGDATA_FIELD_NUMBER: builtins.int
            INTDATA_FIELD_NUMBER: builtins.int
            FLOATDATA_FIELD_NUMBER: builtins.int
            CONTENTS_FIELD_NUMBER: builtins.int
            key: builtins.str
            stringData: builtins.str
            intData: builtins.int
            floatData: builtins.float
            @property
            def contents(self) -> Global___ContextInfo.DataSharingContext.Parameters: ...
            def __init__(
                self,
                *,
                key: builtins.str | None = ...,
                stringData: builtins.str | None = ...,
                intData: builtins.int | None = ...,
                floatData: builtins.float | None = ...,
                contents: Global___ContextInfo.DataSharingContext.Parameters | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["contents", b"contents", "floatData", b"floatData", "intData", b"intData", "key", b"key", "stringData", b"stringData"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["contents", b"contents", "floatData", b"floatData", "intData", b"intData", "key", b"key", "stringData", b"stringData"]) -> None: ...

        SHOWMMDISCLOSURE_FIELD_NUMBER: builtins.int
        ENCRYPTEDSIGNALTOKENCONSENTED_FIELD_NUMBER: builtins.int
        PARAMETERS_FIELD_NUMBER: builtins.int
        DATASHARINGFLAGS_FIELD_NUMBER: builtins.int
        showMmDisclosure: builtins.bool
        encryptedSignalTokenConsented: builtins.str
        dataSharingFlags: builtins.int
        @property
        def parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ContextInfo.DataSharingContext.Parameters]: ...
        def __init__(
            self,
            *,
            showMmDisclosure: builtins.bool | None = ...,
            encryptedSignalTokenConsented: builtins.str | None = ...,
            parameters: collections.abc.Iterable[Global___ContextInfo.DataSharingContext.Parameters] | None = ...,
            dataSharingFlags: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["dataSharingFlags", b"dataSharingFlags", "encryptedSignalTokenConsented", b"encryptedSignalTokenConsented", "showMmDisclosure", b"showMmDisclosure"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["dataSharingFlags", b"dataSharingFlags", "encryptedSignalTokenConsented", b"encryptedSignalTokenConsented", "parameters", b"parameters", "showMmDisclosure", b"showMmDisclosure"]) -> None: ...

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

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

        class _ContentTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.ForwardedNewsletterMessageInfo._ContentType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UPDATE: ContextInfo.ForwardedNewsletterMessageInfo._ContentType.ValueType  # 1
            UPDATE_CARD: ContextInfo.ForwardedNewsletterMessageInfo._ContentType.ValueType  # 2
            LINK_CARD: ContextInfo.ForwardedNewsletterMessageInfo._ContentType.ValueType  # 3

        class ContentType(_ContentType, metaclass=_ContentTypeEnumTypeWrapper): ...
        UPDATE: ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType  # 1
        UPDATE_CARD: ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType  # 2
        LINK_CARD: ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType  # 3

        NEWSLETTERJID_FIELD_NUMBER: builtins.int
        SERVERMESSAGEID_FIELD_NUMBER: builtins.int
        NEWSLETTERNAME_FIELD_NUMBER: builtins.int
        CONTENTTYPE_FIELD_NUMBER: builtins.int
        ACCESSIBILITYTEXT_FIELD_NUMBER: builtins.int
        PROFILENAME_FIELD_NUMBER: builtins.int
        newsletterJID: builtins.str
        serverMessageID: builtins.int
        newsletterName: builtins.str
        contentType: Global___ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType
        accessibilityText: builtins.str
        profileName: builtins.str
        def __init__(
            self,
            *,
            newsletterJID: builtins.str | None = ...,
            serverMessageID: builtins.int | None = ...,
            newsletterName: builtins.str | None = ...,
            contentType: Global___ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType | None = ...,
            accessibilityText: builtins.str | None = ...,
            profileName: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["accessibilityText", b"accessibilityText", "contentType", b"contentType", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName", "profileName", b"profileName", "serverMessageID", b"serverMessageID"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["accessibilityText", b"accessibilityText", "contentType", b"contentType", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName", "profileName", b"profileName", "serverMessageID", b"serverMessageID"]) -> None: ...

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

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

        class _AdTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.ExternalAdReplyInfo._AdType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            CTWA: ContextInfo.ExternalAdReplyInfo._AdType.ValueType  # 0
            CAWC: ContextInfo.ExternalAdReplyInfo._AdType.ValueType  # 1

        class AdType(_AdType, metaclass=_AdTypeEnumTypeWrapper): ...
        CTWA: ContextInfo.ExternalAdReplyInfo.AdType.ValueType  # 0
        CAWC: ContextInfo.ExternalAdReplyInfo.AdType.ValueType  # 1

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

        class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.ExternalAdReplyInfo._MediaType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            NONE: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType  # 0
            IMAGE: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType  # 1
            VIDEO: ContextInfo.ExternalAdReplyInfo._MediaType.ValueType  # 2

        class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ...
        NONE: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType  # 0
        IMAGE: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType  # 1
        VIDEO: ContextInfo.ExternalAdReplyInfo.MediaType.ValueType  # 2

        TITLE_FIELD_NUMBER: builtins.int
        BODY_FIELD_NUMBER: builtins.int
        MEDIATYPE_FIELD_NUMBER: builtins.int
        THUMBNAILURL_FIELD_NUMBER: builtins.int
        MEDIAURL_FIELD_NUMBER: builtins.int
        THUMBNAIL_FIELD_NUMBER: builtins.int
        SOURCETYPE_FIELD_NUMBER: builtins.int
        SOURCEID_FIELD_NUMBER: builtins.int
        SOURCEURL_FIELD_NUMBER: builtins.int
        CONTAINSAUTOREPLY_FIELD_NUMBER: builtins.int
        RENDERLARGERTHUMBNAIL_FIELD_NUMBER: builtins.int
        SHOWADATTRIBUTION_FIELD_NUMBER: builtins.int
        CTWACLID_FIELD_NUMBER: builtins.int
        REF_FIELD_NUMBER: builtins.int
        CLICKTOWHATSAPPCALL_FIELD_NUMBER: builtins.int
        ADCONTEXTPREVIEWDISMISSED_FIELD_NUMBER: builtins.int
        SOURCEAPP_FIELD_NUMBER: builtins.int
        AUTOMATEDGREETINGMESSAGESHOWN_FIELD_NUMBER: builtins.int
        GREETINGMESSAGEBODY_FIELD_NUMBER: builtins.int
        CTAPAYLOAD_FIELD_NUMBER: builtins.int
        DISABLENUDGE_FIELD_NUMBER: builtins.int
        ORIGINALIMAGEURL_FIELD_NUMBER: builtins.int
        AUTOMATEDGREETINGMESSAGECTATYPE_FIELD_NUMBER: builtins.int
        WTWAADFORMAT_FIELD_NUMBER: builtins.int
        ADTYPE_FIELD_NUMBER: builtins.int
        WTWAWEBSITEURL_FIELD_NUMBER: builtins.int
        ADPREVIEWURL_FIELD_NUMBER: builtins.int
        title: builtins.str
        body: builtins.str
        mediaType: Global___ContextInfo.ExternalAdReplyInfo.MediaType.ValueType
        thumbnailURL: builtins.str
        mediaURL: builtins.str
        thumbnail: builtins.bytes
        sourceType: builtins.str
        sourceID: builtins.str
        sourceURL: builtins.str
        containsAutoReply: builtins.bool
        renderLargerThumbnail: builtins.bool
        showAdAttribution: builtins.bool
        ctwaClid: builtins.str
        ref: builtins.str
        clickToWhatsappCall: builtins.bool
        adContextPreviewDismissed: builtins.bool
        sourceApp: builtins.str
        automatedGreetingMessageShown: builtins.bool
        greetingMessageBody: builtins.str
        ctaPayload: builtins.str
        disableNudge: builtins.bool
        originalImageURL: builtins.str
        automatedGreetingMessageCtaType: builtins.str
        wtwaAdFormat: builtins.bool
        adType: Global___ContextInfo.ExternalAdReplyInfo.AdType.ValueType
        wtwaWebsiteURL: builtins.str
        adPreviewURL: builtins.str
        def __init__(
            self,
            *,
            title: builtins.str | None = ...,
            body: builtins.str | None = ...,
            mediaType: Global___ContextInfo.ExternalAdReplyInfo.MediaType.ValueType | None = ...,
            thumbnailURL: builtins.str | None = ...,
            mediaURL: builtins.str | None = ...,
            thumbnail: builtins.bytes | None = ...,
            sourceType: builtins.str | None = ...,
            sourceID: builtins.str | None = ...,
            sourceURL: builtins.str | None = ...,
            containsAutoReply: builtins.bool | None = ...,
            renderLargerThumbnail: builtins.bool | None = ...,
            showAdAttribution: builtins.bool | None = ...,
            ctwaClid: builtins.str | None = ...,
            ref: builtins.str | None = ...,
            clickToWhatsappCall: builtins.bool | None = ...,
            adContextPreviewDismissed: builtins.bool | None = ...,
            sourceApp: builtins.str | None = ...,
            automatedGreetingMessageShown: builtins.bool | None = ...,
            greetingMessageBody: builtins.str | None = ...,
            ctaPayload: builtins.str | None = ...,
            disableNudge: builtins.bool | None = ...,
            originalImageURL: builtins.str | None = ...,
            automatedGreetingMessageCtaType: builtins.str | None = ...,
            wtwaAdFormat: builtins.bool | None = ...,
            adType: Global___ContextInfo.ExternalAdReplyInfo.AdType.ValueType | None = ...,
            wtwaWebsiteURL: builtins.str | None = ...,
            adPreviewURL: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["adContextPreviewDismissed", b"adContextPreviewDismissed", "adPreviewURL", b"adPreviewURL", "adType", b"adType", "automatedGreetingMessageCtaType", b"automatedGreetingMessageCtaType", "automatedGreetingMessageShown", b"automatedGreetingMessageShown", "body", b"body", "clickToWhatsappCall", b"clickToWhatsappCall", "containsAutoReply", b"containsAutoReply", "ctaPayload", b"ctaPayload", "ctwaClid", b"ctwaClid", "disableNudge", b"disableNudge", "greetingMessageBody", b"greetingMessageBody", "mediaType", b"mediaType", "mediaURL", b"mediaURL", "originalImageURL", b"originalImageURL", "ref", b"ref", "renderLargerThumbnail", b"renderLargerThumbnail", "showAdAttribution", b"showAdAttribution", "sourceApp", b"sourceApp", "sourceID", b"sourceID", "sourceType", b"sourceType", "sourceURL", b"sourceURL", "thumbnail", b"thumbnail", "thumbnailURL", b"thumbnailURL", "title", b"title", "wtwaAdFormat", b"wtwaAdFormat", "wtwaWebsiteURL", b"wtwaWebsiteURL"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["adContextPreviewDismissed", b"adContextPreviewDismissed", "adPreviewURL", b"adPreviewURL", "adType", b"adType", "automatedGreetingMessageCtaType", b"automatedGreetingMessageCtaType", "automatedGreetingMessageShown", b"automatedGreetingMessageShown", "body", b"body", "clickToWhatsappCall", b"clickToWhatsappCall", "containsAutoReply", b"containsAutoReply", "ctaPayload", b"ctaPayload", "ctwaClid", b"ctwaClid", "disableNudge", b"disableNudge", "greetingMessageBody", b"greetingMessageBody", "mediaType", b"mediaType", "mediaURL", b"mediaURL", "originalImageURL", b"originalImageURL", "ref", b"ref", "renderLargerThumbnail", b"renderLargerThumbnail", "showAdAttribution", b"showAdAttribution", "sourceApp", b"sourceApp", "sourceID", b"sourceID", "sourceType", b"sourceType", "sourceURL", b"sourceURL", "thumbnail", b"thumbnail", "thumbnailURL", b"thumbnailURL", "title", b"title", "wtwaAdFormat", b"wtwaAdFormat", "wtwaWebsiteURL", b"wtwaWebsiteURL"]) -> None: ...

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

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

        class _MediaTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ContextInfo.AdReplyInfo._MediaType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            NONE: ContextInfo.AdReplyInfo._MediaType.ValueType  # 0
            IMAGE: ContextInfo.AdReplyInfo._MediaType.ValueType  # 1
            VIDEO: ContextInfo.AdReplyInfo._MediaType.ValueType  # 2

        class MediaType(_MediaType, metaclass=_MediaTypeEnumTypeWrapper): ...
        NONE: ContextInfo.AdReplyInfo.MediaType.ValueType  # 0
        IMAGE: ContextInfo.AdReplyInfo.MediaType.ValueType  # 1
        VIDEO: ContextInfo.AdReplyInfo.MediaType.ValueType  # 2

        ADVERTISERNAME_FIELD_NUMBER: builtins.int
        MEDIATYPE_FIELD_NUMBER: builtins.int
        JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
        CAPTION_FIELD_NUMBER: builtins.int
        advertiserName: builtins.str
        mediaType: Global___ContextInfo.AdReplyInfo.MediaType.ValueType
        JPEGThumbnail: builtins.bytes
        caption: builtins.str
        def __init__(
            self,
            *,
            advertiserName: builtins.str | None = ...,
            mediaType: Global___ContextInfo.AdReplyInfo.MediaType.ValueType | None = ...,
            JPEGThumbnail: builtins.bytes | None = ...,
            caption: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "advertiserName", b"advertiserName", "caption", b"caption", "mediaType", b"mediaType"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "advertiserName", b"advertiserName", "caption", b"caption", "mediaType", b"mediaType"]) -> None: ...

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

        CANNOTBEREACTEDTO_FIELD_NUMBER: builtins.int
        CANNOTBERANKED_FIELD_NUMBER: builtins.int
        CANREQUESTFEEDBACK_FIELD_NUMBER: builtins.int
        CANBERESHARED_FIELD_NUMBER: builtins.int
        CANRECEIVEMULTIREACT_FIELD_NUMBER: builtins.int
        cannotBeReactedTo: builtins.bool
        cannotBeRanked: builtins.bool
        canRequestFeedback: builtins.bool
        canBeReshared: builtins.bool
        canReceiveMultiReact: builtins.bool
        def __init__(
            self,
            *,
            cannotBeReactedTo: builtins.bool | None = ...,
            cannotBeRanked: builtins.bool | None = ...,
            canRequestFeedback: builtins.bool | None = ...,
            canBeReshared: builtins.bool | None = ...,
            canReceiveMultiReact: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["canBeReshared", b"canBeReshared", "canReceiveMultiReact", b"canReceiveMultiReact", "canRequestFeedback", b"canRequestFeedback", "cannotBeRanked", b"cannotBeRanked", "cannotBeReactedTo", b"cannotBeReactedTo"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["canBeReshared", b"canBeReshared", "canReceiveMultiReact", b"canReceiveMultiReact", "canRequestFeedback", b"canRequestFeedback", "cannotBeRanked", b"cannotBeRanked", "cannotBeReactedTo", b"cannotBeReactedTo"]) -> None: ...

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

        SERVERQUESTIONID_FIELD_NUMBER: builtins.int
        QUOTEDQUESTION_FIELD_NUMBER: builtins.int
        QUOTEDRESPONSE_FIELD_NUMBER: builtins.int
        serverQuestionID: builtins.int
        @property
        def quotedQuestion(self) -> Global___Message: ...
        @property
        def quotedResponse(self) -> Global___Message: ...
        def __init__(
            self,
            *,
            serverQuestionID: builtins.int | None = ...,
            quotedQuestion: Global___Message | None = ...,
            quotedResponse: Global___Message | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["quotedQuestion", b"quotedQuestion", "quotedResponse", b"quotedResponse", "serverQuestionID", b"serverQuestionID"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["quotedQuestion", b"quotedQuestion", "quotedResponse", b"quotedResponse", "serverQuestionID", b"serverQuestionID"]) -> None: ...

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

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

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

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

    STANZAID_FIELD_NUMBER: builtins.int
    PARTICIPANT_FIELD_NUMBER: builtins.int
    QUOTEDMESSAGE_FIELD_NUMBER: builtins.int
    REMOTEJID_FIELD_NUMBER: builtins.int
    MENTIONEDJID_FIELD_NUMBER: builtins.int
    CONVERSIONSOURCE_FIELD_NUMBER: builtins.int
    CONVERSIONDATA_FIELD_NUMBER: builtins.int
    CONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int
    FORWARDINGSCORE_FIELD_NUMBER: builtins.int
    ISFORWARDED_FIELD_NUMBER: builtins.int
    QUOTEDAD_FIELD_NUMBER: builtins.int
    PLACEHOLDERKEY_FIELD_NUMBER: builtins.int
    EXPIRATION_FIELD_NUMBER: builtins.int
    EPHEMERALSETTINGTIMESTAMP_FIELD_NUMBER: builtins.int
    EPHEMERALSHAREDSECRET_FIELD_NUMBER: builtins.int
    EXTERNALADREPLY_FIELD_NUMBER: builtins.int
    ENTRYPOINTCONVERSIONSOURCE_FIELD_NUMBER: builtins.int
    ENTRYPOINTCONVERSIONAPP_FIELD_NUMBER: builtins.int
    ENTRYPOINTCONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int
    DISAPPEARINGMODE_FIELD_NUMBER: builtins.int
    ACTIONLINK_FIELD_NUMBER: builtins.int
    GROUPSUBJECT_FIELD_NUMBER: builtins.int
    PARENTGROUPJID_FIELD_NUMBER: builtins.int
    TRUSTBANNERTYPE_FIELD_NUMBER: builtins.int
    TRUSTBANNERACTION_FIELD_NUMBER: builtins.int
    ISSAMPLED_FIELD_NUMBER: builtins.int
    GROUPMENTIONS_FIELD_NUMBER: builtins.int
    UTM_FIELD_NUMBER: builtins.int
    FORWARDEDNEWSLETTERMESSAGEINFO_FIELD_NUMBER: builtins.int
    BUSINESSMESSAGEFORWARDINFO_FIELD_NUMBER: builtins.int
    SMBCLIENTCAMPAIGNID_FIELD_NUMBER: builtins.int
    SMBSERVERCAMPAIGNID_FIELD_NUMBER: builtins.int
    DATASHARINGCONTEXT_FIELD_NUMBER: builtins.int
    ALWAYSSHOWADATTRIBUTION_FIELD_NUMBER: builtins.int
    FEATUREELIGIBILITIES_FIELD_NUMBER: builtins.int
    ENTRYPOINTCONVERSIONEXTERNALSOURCE_FIELD_NUMBER: builtins.int
    ENTRYPOINTCONVERSIONEXTERNALMEDIUM_FIELD_NUMBER: builtins.int
    CTWASIGNALS_FIELD_NUMBER: builtins.int
    CTWAPAYLOAD_FIELD_NUMBER: builtins.int
    FORWARDEDAIBOTMESSAGEINFO_FIELD_NUMBER: builtins.int
    STATUSATTRIBUTIONTYPE_FIELD_NUMBER: builtins.int
    URLTRACKINGMAP_FIELD_NUMBER: builtins.int
    PAIREDMEDIATYPE_FIELD_NUMBER: builtins.int
    RANKINGVERSION_FIELD_NUMBER: builtins.int
    MEMBERLABEL_FIELD_NUMBER: builtins.int
    ISQUESTION_FIELD_NUMBER: builtins.int
    STATUSSOURCETYPE_FIELD_NUMBER: builtins.int
    STATUSATTRIBUTIONS_FIELD_NUMBER: builtins.int
    ISGROUPSTATUS_FIELD_NUMBER: builtins.int
    FORWARDORIGIN_FIELD_NUMBER: builtins.int
    QUESTIONREPLYQUOTEDMESSAGE_FIELD_NUMBER: builtins.int
    STATUSAUDIENCEMETADATA_FIELD_NUMBER: builtins.int
    NONJIDMENTIONS_FIELD_NUMBER: builtins.int
    QUOTEDTYPE_FIELD_NUMBER: builtins.int
    BOTMESSAGESHARINGINFO_FIELD_NUMBER: builtins.int
    stanzaID: builtins.str
    participant: builtins.str
    remoteJID: builtins.str
    conversionSource: builtins.str
    conversionData: builtins.bytes
    conversionDelaySeconds: builtins.int
    forwardingScore: builtins.int
    isForwarded: builtins.bool
    expiration: builtins.int
    ephemeralSettingTimestamp: builtins.int
    ephemeralSharedSecret: builtins.bytes
    entryPointConversionSource: builtins.str
    entryPointConversionApp: builtins.str
    entryPointConversionDelaySeconds: builtins.int
    groupSubject: builtins.str
    parentGroupJID: builtins.str
    trustBannerType: builtins.str
    trustBannerAction: builtins.int
    isSampled: builtins.bool
    smbClientCampaignID: builtins.str
    smbServerCampaignID: builtins.str
    alwaysShowAdAttribution: builtins.bool
    entryPointConversionExternalSource: builtins.str
    entryPointConversionExternalMedium: builtins.str
    ctwaSignals: builtins.str
    ctwaPayload: builtins.bytes
    statusAttributionType: Global___ContextInfo.StatusAttributionType.ValueType
    pairedMediaType: Global___ContextInfo.PairedMediaType.ValueType
    rankingVersion: builtins.int
    isQuestion: builtins.bool
    statusSourceType: Global___ContextInfo.StatusSourceType.ValueType
    isGroupStatus: builtins.bool
    forwardOrigin: Global___ContextInfo.ForwardOrigin.ValueType
    nonJIDMentions: builtins.int
    quotedType: Global___ContextInfo.QuotedType.ValueType
    @property
    def quotedMessage(self) -> Global___Message: ...
    @property
    def mentionedJID(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def quotedAd(self) -> Global___ContextInfo.AdReplyInfo: ...
    @property
    def placeholderKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    @property
    def externalAdReply(self) -> Global___ContextInfo.ExternalAdReplyInfo: ...
    @property
    def disappearingMode(self) -> Global___DisappearingMode: ...
    @property
    def actionLink(self) -> Global___ActionLink: ...
    @property
    def groupMentions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___GroupMention]: ...
    @property
    def utm(self) -> Global___ContextInfo.UTMInfo: ...
    @property
    def forwardedNewsletterMessageInfo(self) -> Global___ContextInfo.ForwardedNewsletterMessageInfo: ...
    @property
    def businessMessageForwardInfo(self) -> Global___ContextInfo.BusinessMessageForwardInfo: ...
    @property
    def dataSharingContext(self) -> Global___ContextInfo.DataSharingContext: ...
    @property
    def featureEligibilities(self) -> Global___ContextInfo.FeatureEligibilities: ...
    @property
    def forwardedAiBotMessageInfo(self) -> waAICommon.WAAICommon_pb2.ForwardedAIBotMessageInfo: ...
    @property
    def urlTrackingMap(self) -> Global___UrlTrackingMap: ...
    @property
    def memberLabel(self) -> Global___MemberLabel: ...
    @property
    def statusAttributions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waStatusAttributions.WAStatusAttributions_pb2.StatusAttribution]: ...
    @property
    def questionReplyQuotedMessage(self) -> Global___ContextInfo.QuestionReplyQuotedMessage: ...
    @property
    def statusAudienceMetadata(self) -> Global___ContextInfo.StatusAudienceMetadata: ...
    @property
    def botMessageSharingInfo(self) -> waAICommon.WAAICommon_pb2.BotMessageSharingInfo: ...
    def __init__(
        self,
        *,
        stanzaID: builtins.str | None = ...,
        participant: builtins.str | None = ...,
        quotedMessage: Global___Message | None = ...,
        remoteJID: builtins.str | None = ...,
        mentionedJID: collections.abc.Iterable[builtins.str] | None = ...,
        conversionSource: builtins.str | None = ...,
        conversionData: builtins.bytes | None = ...,
        conversionDelaySeconds: builtins.int | None = ...,
        forwardingScore: builtins.int | None = ...,
        isForwarded: builtins.bool | None = ...,
        quotedAd: Global___ContextInfo.AdReplyInfo | None = ...,
        placeholderKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        expiration: builtins.int | None = ...,
        ephemeralSettingTimestamp: builtins.int | None = ...,
        ephemeralSharedSecret: builtins.bytes | None = ...,
        externalAdReply: Global___ContextInfo.ExternalAdReplyInfo | None = ...,
        entryPointConversionSource: builtins.str | None = ...,
        entryPointConversionApp: builtins.str | None = ...,
        entryPointConversionDelaySeconds: builtins.int | None = ...,
        disappearingMode: Global___DisappearingMode | None = ...,
        actionLink: Global___ActionLink | None = ...,
        groupSubject: builtins.str | None = ...,
        parentGroupJID: builtins.str | None = ...,
        trustBannerType: builtins.str | None = ...,
        trustBannerAction: builtins.int | None = ...,
        isSampled: builtins.bool | None = ...,
        groupMentions: collections.abc.Iterable[Global___GroupMention] | None = ...,
        utm: Global___ContextInfo.UTMInfo | None = ...,
        forwardedNewsletterMessageInfo: Global___ContextInfo.ForwardedNewsletterMessageInfo | None = ...,
        businessMessageForwardInfo: Global___ContextInfo.BusinessMessageForwardInfo | None = ...,
        smbClientCampaignID: builtins.str | None = ...,
        smbServerCampaignID: builtins.str | None = ...,
        dataSharingContext: Global___ContextInfo.DataSharingContext | None = ...,
        alwaysShowAdAttribution: builtins.bool | None = ...,
        featureEligibilities: Global___ContextInfo.FeatureEligibilities | None = ...,
        entryPointConversionExternalSource: builtins.str | None = ...,
        entryPointConversionExternalMedium: builtins.str | None = ...,
        ctwaSignals: builtins.str | None = ...,
        ctwaPayload: builtins.bytes | None = ...,
        forwardedAiBotMessageInfo: waAICommon.WAAICommon_pb2.ForwardedAIBotMessageInfo | None = ...,
        statusAttributionType: Global___ContextInfo.StatusAttributionType.ValueType | None = ...,
        urlTrackingMap: Global___UrlTrackingMap | None = ...,
        pairedMediaType: Global___ContextInfo.PairedMediaType.ValueType | None = ...,
        rankingVersion: builtins.int | None = ...,
        memberLabel: Global___MemberLabel | None = ...,
        isQuestion: builtins.bool | None = ...,
        statusSourceType: Global___ContextInfo.StatusSourceType.ValueType | None = ...,
        statusAttributions: collections.abc.Iterable[waStatusAttributions.WAStatusAttributions_pb2.StatusAttribution] | None = ...,
        isGroupStatus: builtins.bool | None = ...,
        forwardOrigin: Global___ContextInfo.ForwardOrigin.ValueType | None = ...,
        questionReplyQuotedMessage: Global___ContextInfo.QuestionReplyQuotedMessage | None = ...,
        statusAudienceMetadata: Global___ContextInfo.StatusAudienceMetadata | None = ...,
        nonJIDMentions: builtins.int | None = ...,
        quotedType: Global___ContextInfo.QuotedType.ValueType | None = ...,
        botMessageSharingInfo: waAICommon.WAAICommon_pb2.BotMessageSharingInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["actionLink", b"actionLink", "alwaysShowAdAttribution", b"alwaysShowAdAttribution", "botMessageSharingInfo", b"botMessageSharingInfo", "businessMessageForwardInfo", b"businessMessageForwardInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "ctwaPayload", b"ctwaPayload", "ctwaSignals", b"ctwaSignals", "dataSharingContext", b"dataSharingContext", "disappearingMode", b"disappearingMode", "entryPointConversionApp", b"entryPointConversionApp", "entryPointConversionDelaySeconds", b"entryPointConversionDelaySeconds", "entryPointConversionExternalMedium", b"entryPointConversionExternalMedium", "entryPointConversionExternalSource", b"entryPointConversionExternalSource", "entryPointConversionSource", b"entryPointConversionSource", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "ephemeralSharedSecret", b"ephemeralSharedSecret", "expiration", b"expiration", "externalAdReply", b"externalAdReply", "featureEligibilities", b"featureEligibilities", "forwardOrigin", b"forwardOrigin", "forwardedAiBotMessageInfo", b"forwardedAiBotMessageInfo", "forwardedNewsletterMessageInfo", b"forwardedNewsletterMessageInfo", "forwardingScore", b"forwardingScore", "groupSubject", b"groupSubject", "isForwarded", b"isForwarded", "isGroupStatus", b"isGroupStatus", "isQuestion", b"isQuestion", "isSampled", b"isSampled", "memberLabel", b"memberLabel", "nonJIDMentions", b"nonJIDMentions", "pairedMediaType", b"pairedMediaType", "parentGroupJID", b"parentGroupJID", "participant", b"participant", "placeholderKey", b"placeholderKey", "questionReplyQuotedMessage", b"questionReplyQuotedMessage", "quotedAd", b"quotedAd", "quotedMessage", b"quotedMessage", "quotedType", b"quotedType", "rankingVersion", b"rankingVersion", "remoteJID", b"remoteJID", "smbClientCampaignID", b"smbClientCampaignID", "smbServerCampaignID", b"smbServerCampaignID", "stanzaID", b"stanzaID", "statusAttributionType", b"statusAttributionType", "statusAudienceMetadata", b"statusAudienceMetadata", "statusSourceType", b"statusSourceType", "trustBannerAction", b"trustBannerAction", "trustBannerType", b"trustBannerType", "urlTrackingMap", b"urlTrackingMap", "utm", b"utm"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["actionLink", b"actionLink", "alwaysShowAdAttribution", b"alwaysShowAdAttribution", "botMessageSharingInfo", b"botMessageSharingInfo", "businessMessageForwardInfo", b"businessMessageForwardInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "ctwaPayload", b"ctwaPayload", "ctwaSignals", b"ctwaSignals", "dataSharingContext", b"dataSharingContext", "disappearingMode", b"disappearingMode", "entryPointConversionApp", b"entryPointConversionApp", "entryPointConversionDelaySeconds", b"entryPointConversionDelaySeconds", "entryPointConversionExternalMedium", b"entryPointConversionExternalMedium", "entryPointConversionExternalSource", b"entryPointConversionExternalSource", "entryPointConversionSource", b"entryPointConversionSource", "ephemeralSettingTimestamp", b"ephemeralSettingTimestamp", "ephemeralSharedSecret", b"ephemeralSharedSecret", "expiration", b"expiration", "externalAdReply", b"externalAdReply", "featureEligibilities", b"featureEligibilities", "forwardOrigin", b"forwardOrigin", "forwardedAiBotMessageInfo", b"forwardedAiBotMessageInfo", "forwardedNewsletterMessageInfo", b"forwardedNewsletterMessageInfo", "forwardingScore", b"forwardingScore", "groupMentions", b"groupMentions", "groupSubject", b"groupSubject", "isForwarded", b"isForwarded", "isGroupStatus", b"isGroupStatus", "isQuestion", b"isQuestion", "isSampled", b"isSampled", "memberLabel", b"memberLabel", "mentionedJID", b"mentionedJID", "nonJIDMentions", b"nonJIDMentions", "pairedMediaType", b"pairedMediaType", "parentGroupJID", b"parentGroupJID", "participant", b"participant", "placeholderKey", b"placeholderKey", "questionReplyQuotedMessage", b"questionReplyQuotedMessage", "quotedAd", b"quotedAd", "quotedMessage", b"quotedMessage", "quotedType", b"quotedType", "rankingVersion", b"rankingVersion", "remoteJID", b"remoteJID", "smbClientCampaignID", b"smbClientCampaignID", "smbServerCampaignID", b"smbServerCampaignID", "stanzaID", b"stanzaID", "statusAttributionType", b"statusAttributionType", "statusAttributions", b"statusAttributions", "statusAudienceMetadata", b"statusAudienceMetadata", "statusSourceType", b"statusSourceType", "trustBannerAction", b"trustBannerAction", "trustBannerType", b"trustBannerType", "urlTrackingMap", b"urlTrackingMap", "utm", b"utm"]) -> None: ...

Global___ContextInfo: typing_extensions.TypeAlias = ContextInfo

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

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

    class _AssociationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MessageAssociation._AssociationType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: MessageAssociation._AssociationType.ValueType  # 0
        MEDIA_ALBUM: MessageAssociation._AssociationType.ValueType  # 1
        BOT_PLUGIN: MessageAssociation._AssociationType.ValueType  # 2
        EVENT_COVER_IMAGE: MessageAssociation._AssociationType.ValueType  # 3
        STATUS_POLL: MessageAssociation._AssociationType.ValueType  # 4
        HD_VIDEO_DUAL_UPLOAD: MessageAssociation._AssociationType.ValueType  # 5
        STATUS_EXTERNAL_RESHARE: MessageAssociation._AssociationType.ValueType  # 6
        MEDIA_POLL: MessageAssociation._AssociationType.ValueType  # 7
        STATUS_ADD_YOURS: MessageAssociation._AssociationType.ValueType  # 8
        STATUS_NOTIFICATION: MessageAssociation._AssociationType.ValueType  # 9
        HD_IMAGE_DUAL_UPLOAD: MessageAssociation._AssociationType.ValueType  # 10
        STICKER_ANNOTATION: MessageAssociation._AssociationType.ValueType  # 11
        MOTION_PHOTO: MessageAssociation._AssociationType.ValueType  # 12
        STATUS_LINK_ACTION: MessageAssociation._AssociationType.ValueType  # 13
        VIEW_ALL_REPLIES: MessageAssociation._AssociationType.ValueType  # 14
        STATUS_ADD_YOURS_AI_IMAGINE: MessageAssociation._AssociationType.ValueType  # 15
        STATUS_QUESTION: MessageAssociation._AssociationType.ValueType  # 16
        STATUS_ADD_YOURS_DIWALI: MessageAssociation._AssociationType.ValueType  # 17
        STATUS_REACTION: MessageAssociation._AssociationType.ValueType  # 18
        HEVC_VIDEO_DUAL_UPLOAD: MessageAssociation._AssociationType.ValueType  # 19

    class AssociationType(_AssociationType, metaclass=_AssociationTypeEnumTypeWrapper): ...
    UNKNOWN: MessageAssociation.AssociationType.ValueType  # 0
    MEDIA_ALBUM: MessageAssociation.AssociationType.ValueType  # 1
    BOT_PLUGIN: MessageAssociation.AssociationType.ValueType  # 2
    EVENT_COVER_IMAGE: MessageAssociation.AssociationType.ValueType  # 3
    STATUS_POLL: MessageAssociation.AssociationType.ValueType  # 4
    HD_VIDEO_DUAL_UPLOAD: MessageAssociation.AssociationType.ValueType  # 5
    STATUS_EXTERNAL_RESHARE: MessageAssociation.AssociationType.ValueType  # 6
    MEDIA_POLL: MessageAssociation.AssociationType.ValueType  # 7
    STATUS_ADD_YOURS: MessageAssociation.AssociationType.ValueType  # 8
    STATUS_NOTIFICATION: MessageAssociation.AssociationType.ValueType  # 9
    HD_IMAGE_DUAL_UPLOAD: MessageAssociation.AssociationType.ValueType  # 10
    STICKER_ANNOTATION: MessageAssociation.AssociationType.ValueType  # 11
    MOTION_PHOTO: MessageAssociation.AssociationType.ValueType  # 12
    STATUS_LINK_ACTION: MessageAssociation.AssociationType.ValueType  # 13
    VIEW_ALL_REPLIES: MessageAssociation.AssociationType.ValueType  # 14
    STATUS_ADD_YOURS_AI_IMAGINE: MessageAssociation.AssociationType.ValueType  # 15
    STATUS_QUESTION: MessageAssociation.AssociationType.ValueType  # 16
    STATUS_ADD_YOURS_DIWALI: MessageAssociation.AssociationType.ValueType  # 17
    STATUS_REACTION: MessageAssociation.AssociationType.ValueType  # 18
    HEVC_VIDEO_DUAL_UPLOAD: MessageAssociation.AssociationType.ValueType  # 19

    ASSOCIATIONTYPE_FIELD_NUMBER: builtins.int
    PARENTMESSAGEKEY_FIELD_NUMBER: builtins.int
    MESSAGEINDEX_FIELD_NUMBER: builtins.int
    associationType: Global___MessageAssociation.AssociationType.ValueType
    messageIndex: builtins.int
    @property
    def parentMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        associationType: Global___MessageAssociation.AssociationType.ValueType | None = ...,
        parentMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        messageIndex: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["associationType", b"associationType", "messageIndex", b"messageIndex", "parentMessageKey", b"parentMessageKey"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["associationType", b"associationType", "messageIndex", b"messageIndex", "parentMessageKey", b"parentMessageKey"]) -> None: ...

Global___MessageAssociation: typing_extensions.TypeAlias = MessageAssociation

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

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

    class _ThreadTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ThreadID._ThreadType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: ThreadID._ThreadType.ValueType  # 0
        VIEW_REPLIES: ThreadID._ThreadType.ValueType  # 1
        AI_THREAD: ThreadID._ThreadType.ValueType  # 2

    class ThreadType(_ThreadType, metaclass=_ThreadTypeEnumTypeWrapper): ...
    UNKNOWN: ThreadID.ThreadType.ValueType  # 0
    VIEW_REPLIES: ThreadID.ThreadType.ValueType  # 1
    AI_THREAD: ThreadID.ThreadType.ValueType  # 2

    THREADTYPE_FIELD_NUMBER: builtins.int
    THREADKEY_FIELD_NUMBER: builtins.int
    threadType: Global___ThreadID.ThreadType.ValueType
    @property
    def threadKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        threadType: Global___ThreadID.ThreadType.ValueType | None = ...,
        threadKey: waCommon.WACommon_pb2.MessageKey | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["threadKey", b"threadKey", "threadType", b"threadType"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["threadKey", b"threadKey", "threadType", b"threadType"]) -> None: ...

Global___ThreadID: typing_extensions.TypeAlias = ThreadID

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

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

    class _MessageAddonExpiryTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[MessageContextInfo._MessageAddonExpiryType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        STATIC: MessageContextInfo._MessageAddonExpiryType.ValueType  # 1
        DEPENDENT_ON_PARENT: MessageContextInfo._MessageAddonExpiryType.ValueType  # 2

    class MessageAddonExpiryType(_MessageAddonExpiryType, metaclass=_MessageAddonExpiryTypeEnumTypeWrapper): ...
    STATIC: MessageContextInfo.MessageAddonExpiryType.ValueType  # 1
    DEPENDENT_ON_PARENT: MessageContextInfo.MessageAddonExpiryType.ValueType  # 2

    DEVICELISTMETADATA_FIELD_NUMBER: builtins.int
    DEVICELISTMETADATAVERSION_FIELD_NUMBER: builtins.int
    MESSAGESECRET_FIELD_NUMBER: builtins.int
    PADDINGBYTES_FIELD_NUMBER: builtins.int
    MESSAGEADDONDURATIONINSECS_FIELD_NUMBER: builtins.int
    BOTMESSAGESECRET_FIELD_NUMBER: builtins.int
    BOTMETADATA_FIELD_NUMBER: builtins.int
    REPORTINGTOKENVERSION_FIELD_NUMBER: builtins.int
    MESSAGEADDONEXPIRYTYPE_FIELD_NUMBER: builtins.int
    MESSAGEASSOCIATION_FIELD_NUMBER: builtins.int
    CAPICREATEDGROUP_FIELD_NUMBER: builtins.int
    SUPPORTPAYLOAD_FIELD_NUMBER: builtins.int
    LIMITSHARING_FIELD_NUMBER: builtins.int
    LIMITSHARINGV2_FIELD_NUMBER: builtins.int
    THREADID_FIELD_NUMBER: builtins.int
    WEBLINKRENDERCONFIG_FIELD_NUMBER: builtins.int
    deviceListMetadataVersion: builtins.int
    messageSecret: builtins.bytes
    paddingBytes: builtins.bytes
    messageAddOnDurationInSecs: builtins.int
    botMessageSecret: builtins.bytes
    reportingTokenVersion: builtins.int
    messageAddOnExpiryType: Global___MessageContextInfo.MessageAddonExpiryType.ValueType
    capiCreatedGroup: builtins.bool
    supportPayload: builtins.str
    weblinkRenderConfig: Global___WebLinkRenderConfig.ValueType
    @property
    def deviceListMetadata(self) -> Global___DeviceListMetadata: ...
    @property
    def botMetadata(self) -> waAICommon.WAAICommon_pb2.BotMetadata: ...
    @property
    def messageAssociation(self) -> Global___MessageAssociation: ...
    @property
    def limitSharing(self) -> waCommon.WACommon_pb2.LimitSharing: ...
    @property
    def limitSharingV2(self) -> waCommon.WACommon_pb2.LimitSharing: ...
    @property
    def threadID(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ThreadID]: ...
    def __init__(
        self,
        *,
        deviceListMetadata: Global___DeviceListMetadata | None = ...,
        deviceListMetadataVersion: builtins.int | None = ...,
        messageSecret: builtins.bytes | None = ...,
        paddingBytes: builtins.bytes | None = ...,
        messageAddOnDurationInSecs: builtins.int | None = ...,
        botMessageSecret: builtins.bytes | None = ...,
        botMetadata: waAICommon.WAAICommon_pb2.BotMetadata | None = ...,
        reportingTokenVersion: builtins.int | None = ...,
        messageAddOnExpiryType: Global___MessageContextInfo.MessageAddonExpiryType.ValueType | None = ...,
        messageAssociation: Global___MessageAssociation | None = ...,
        capiCreatedGroup: builtins.bool | None = ...,
        supportPayload: builtins.str | None = ...,
        limitSharing: waCommon.WACommon_pb2.LimitSharing | None = ...,
        limitSharingV2: waCommon.WACommon_pb2.LimitSharing | None = ...,
        threadID: collections.abc.Iterable[Global___ThreadID] | None = ...,
        weblinkRenderConfig: Global___WebLinkRenderConfig.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["botMessageSecret", b"botMessageSecret", "botMetadata", b"botMetadata", "capiCreatedGroup", b"capiCreatedGroup", "deviceListMetadata", b"deviceListMetadata", "deviceListMetadataVersion", b"deviceListMetadataVersion", "limitSharing", b"limitSharing", "limitSharingV2", b"limitSharingV2", "messageAddOnDurationInSecs", b"messageAddOnDurationInSecs", "messageAddOnExpiryType", b"messageAddOnExpiryType", "messageAssociation", b"messageAssociation", "messageSecret", b"messageSecret", "paddingBytes", b"paddingBytes", "reportingTokenVersion", b"reportingTokenVersion", "supportPayload", b"supportPayload", "weblinkRenderConfig", b"weblinkRenderConfig"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["botMessageSecret", b"botMessageSecret", "botMetadata", b"botMetadata", "capiCreatedGroup", b"capiCreatedGroup", "deviceListMetadata", b"deviceListMetadata", "deviceListMetadataVersion", b"deviceListMetadataVersion", "limitSharing", b"limitSharing", "limitSharingV2", b"limitSharingV2", "messageAddOnDurationInSecs", b"messageAddOnDurationInSecs", "messageAddOnExpiryType", b"messageAddOnExpiryType", "messageAssociation", b"messageAssociation", "messageSecret", b"messageSecret", "paddingBytes", b"paddingBytes", "reportingTokenVersion", b"reportingTokenVersion", "supportPayload", b"supportPayload", "threadID", b"threadID", "weblinkRenderConfig", b"weblinkRenderConfig"]) -> None: ...

Global___MessageContextInfo: typing_extensions.TypeAlias = MessageContextInfo

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

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

    class _StatusLinkTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[InteractiveAnnotation._StatusLinkType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        RASTERIZED_LINK_PREVIEW: InteractiveAnnotation._StatusLinkType.ValueType  # 1
        RASTERIZED_LINK_TRUNCATED: InteractiveAnnotation._StatusLinkType.ValueType  # 2
        RASTERIZED_LINK_FULL_URL: InteractiveAnnotation._StatusLinkType.ValueType  # 3

    class StatusLinkType(_StatusLinkType, metaclass=_StatusLinkTypeEnumTypeWrapper): ...
    RASTERIZED_LINK_PREVIEW: InteractiveAnnotation.StatusLinkType.ValueType  # 1
    RASTERIZED_LINK_TRUNCATED: InteractiveAnnotation.StatusLinkType.ValueType  # 2
    RASTERIZED_LINK_FULL_URL: InteractiveAnnotation.StatusLinkType.ValueType  # 3

    LOCATION_FIELD_NUMBER: builtins.int
    NEWSLETTER_FIELD_NUMBER: builtins.int
    EMBEDDEDACTION_FIELD_NUMBER: builtins.int
    TAPACTION_FIELD_NUMBER: builtins.int
    POLYGONVERTICES_FIELD_NUMBER: builtins.int
    SHOULDSKIPCONFIRMATION_FIELD_NUMBER: builtins.int
    EMBEDDEDCONTENT_FIELD_NUMBER: builtins.int
    STATUSLINKTYPE_FIELD_NUMBER: builtins.int
    embeddedAction: builtins.bool
    shouldSkipConfirmation: builtins.bool
    statusLinkType: Global___InteractiveAnnotation.StatusLinkType.ValueType
    @property
    def location(self) -> Global___Location: ...
    @property
    def newsletter(self) -> Global___ContextInfo.ForwardedNewsletterMessageInfo: ...
    @property
    def tapAction(self) -> Global___TapLinkAction: ...
    @property
    def polygonVertices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___Point]: ...
    @property
    def embeddedContent(self) -> Global___EmbeddedContent: ...
    def __init__(
        self,
        *,
        location: Global___Location | None = ...,
        newsletter: Global___ContextInfo.ForwardedNewsletterMessageInfo | None = ...,
        embeddedAction: builtins.bool | None = ...,
        tapAction: Global___TapLinkAction | None = ...,
        polygonVertices: collections.abc.Iterable[Global___Point] | None = ...,
        shouldSkipConfirmation: builtins.bool | None = ...,
        embeddedContent: Global___EmbeddedContent | None = ...,
        statusLinkType: Global___InteractiveAnnotation.StatusLinkType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["action", b"action", "embeddedAction", b"embeddedAction", "embeddedContent", b"embeddedContent", "location", b"location", "newsletter", b"newsletter", "shouldSkipConfirmation", b"shouldSkipConfirmation", "statusLinkType", b"statusLinkType", "tapAction", b"tapAction"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["action", b"action", "embeddedAction", b"embeddedAction", "embeddedContent", b"embeddedContent", "location", b"location", "newsletter", b"newsletter", "polygonVertices", b"polygonVertices", "shouldSkipConfirmation", b"shouldSkipConfirmation", "statusLinkType", b"statusLinkType", "tapAction", b"tapAction"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["action", b"action"]) -> typing.Literal["location", "newsletter", "embeddedAction", "tapAction"] | None: ...

Global___InteractiveAnnotation: typing_extensions.TypeAlias = InteractiveAnnotation

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

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

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

        class _WebviewPresentationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            FULL: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType  # 1
            TALL: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType  # 2
            COMPACT: HydratedTemplateButton.HydratedURLButton._WebviewPresentationType.ValueType  # 3

        class WebviewPresentationType(_WebviewPresentationType, metaclass=_WebviewPresentationTypeEnumTypeWrapper): ...
        FULL: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType  # 1
        TALL: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType  # 2
        COMPACT: HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType  # 3

        DISPLAYTEXT_FIELD_NUMBER: builtins.int
        URL_FIELD_NUMBER: builtins.int
        CONSENTEDUSERSURL_FIELD_NUMBER: builtins.int
        WEBVIEWPRESENTATION_FIELD_NUMBER: builtins.int
        displayText: builtins.str
        URL: builtins.str
        consentedUsersURL: builtins.str
        webviewPresentation: Global___HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType
        def __init__(
            self,
            *,
            displayText: builtins.str | None = ...,
            URL: builtins.str | None = ...,
            consentedUsersURL: builtins.str | None = ...,
            webviewPresentation: Global___HydratedTemplateButton.HydratedURLButton.WebviewPresentationType.ValueType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["URL", b"URL", "consentedUsersURL", b"consentedUsersURL", "displayText", b"displayText", "webviewPresentation", b"webviewPresentation"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["URL", b"URL", "consentedUsersURL", b"consentedUsersURL", "displayText", b"displayText", "webviewPresentation", b"webviewPresentation"]) -> None: ...

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

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

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

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

    QUICKREPLYBUTTON_FIELD_NUMBER: builtins.int
    URLBUTTON_FIELD_NUMBER: builtins.int
    CALLBUTTON_FIELD_NUMBER: builtins.int
    INDEX_FIELD_NUMBER: builtins.int
    index: builtins.int
    @property
    def quickReplyButton(self) -> Global___HydratedTemplateButton.HydratedQuickReplyButton: ...
    @property
    def urlButton(self) -> Global___HydratedTemplateButton.HydratedURLButton: ...
    @property
    def callButton(self) -> Global___HydratedTemplateButton.HydratedCallButton: ...
    def __init__(
        self,
        *,
        quickReplyButton: Global___HydratedTemplateButton.HydratedQuickReplyButton | None = ...,
        urlButton: Global___HydratedTemplateButton.HydratedURLButton | None = ...,
        callButton: Global___HydratedTemplateButton.HydratedCallButton | None = ...,
        index: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["callButton", b"callButton", "hydratedButton", b"hydratedButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["callButton", b"callButton", "hydratedButton", b"hydratedButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["hydratedButton", b"hydratedButton"]) -> typing.Literal["quickReplyButton", "urlButton", "callButton"] | None: ...

Global___HydratedTemplateButton: typing_extensions.TypeAlias = HydratedTemplateButton

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

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

    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[PaymentBackground._Type.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: PaymentBackground._Type.ValueType  # 0
        DEFAULT: PaymentBackground._Type.ValueType  # 1

    class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
    UNKNOWN: PaymentBackground.Type.ValueType  # 0
    DEFAULT: PaymentBackground.Type.ValueType  # 1

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

        MEDIAKEY_FIELD_NUMBER: builtins.int
        MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
        FILESHA256_FIELD_NUMBER: builtins.int
        FILEENCSHA256_FIELD_NUMBER: builtins.int
        DIRECTPATH_FIELD_NUMBER: builtins.int
        mediaKey: builtins.bytes
        mediaKeyTimestamp: builtins.int
        fileSHA256: builtins.bytes
        fileEncSHA256: builtins.bytes
        directPath: builtins.str
        def __init__(
            self,
            *,
            mediaKey: builtins.bytes | None = ...,
            mediaKeyTimestamp: builtins.int | None = ...,
            fileSHA256: builtins.bytes | None = ...,
            fileEncSHA256: builtins.bytes | None = ...,
            directPath: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp"]) -> None: ...

    ID_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    MIMETYPE_FIELD_NUMBER: builtins.int
    PLACEHOLDERARGB_FIELD_NUMBER: builtins.int
    TEXTARGB_FIELD_NUMBER: builtins.int
    SUBTEXTARGB_FIELD_NUMBER: builtins.int
    MEDIADATA_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    ID: builtins.str
    fileLength: builtins.int
    width: builtins.int
    height: builtins.int
    mimetype: builtins.str
    placeholderArgb: builtins.int
    textArgb: builtins.int
    subtextArgb: builtins.int
    type: Global___PaymentBackground.Type.ValueType
    @property
    def mediaData(self) -> Global___PaymentBackground.MediaData: ...
    def __init__(
        self,
        *,
        ID: builtins.str | None = ...,
        fileLength: builtins.int | None = ...,
        width: builtins.int | None = ...,
        height: builtins.int | None = ...,
        mimetype: builtins.str | None = ...,
        placeholderArgb: builtins.int | None = ...,
        textArgb: builtins.int | None = ...,
        subtextArgb: builtins.int | None = ...,
        mediaData: Global___PaymentBackground.MediaData | None = ...,
        type: Global___PaymentBackground.Type.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ID", b"ID", "fileLength", b"fileLength", "height", b"height", "mediaData", b"mediaData", "mimetype", b"mimetype", "placeholderArgb", b"placeholderArgb", "subtextArgb", b"subtextArgb", "textArgb", b"textArgb", "type", b"type", "width", b"width"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ID", b"ID", "fileLength", b"fileLength", "height", b"height", "mediaData", b"mediaData", "mimetype", b"mimetype", "placeholderArgb", b"placeholderArgb", "subtextArgb", b"subtextArgb", "textArgb", b"textArgb", "type", b"type", "width", b"width"]) -> None: ...

Global___PaymentBackground: typing_extensions.TypeAlias = PaymentBackground

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

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

    class _TriggerEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DisappearingMode._Trigger.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: DisappearingMode._Trigger.ValueType  # 0
        CHAT_SETTING: DisappearingMode._Trigger.ValueType  # 1
        ACCOUNT_SETTING: DisappearingMode._Trigger.ValueType  # 2
        BULK_CHANGE: DisappearingMode._Trigger.ValueType  # 3
        BIZ_SUPPORTS_FB_HOSTING: DisappearingMode._Trigger.ValueType  # 4
        UNKNOWN_GROUPS: DisappearingMode._Trigger.ValueType  # 5

    class Trigger(_Trigger, metaclass=_TriggerEnumTypeWrapper): ...
    UNKNOWN: DisappearingMode.Trigger.ValueType  # 0
    CHAT_SETTING: DisappearingMode.Trigger.ValueType  # 1
    ACCOUNT_SETTING: DisappearingMode.Trigger.ValueType  # 2
    BULK_CHANGE: DisappearingMode.Trigger.ValueType  # 3
    BIZ_SUPPORTS_FB_HOSTING: DisappearingMode.Trigger.ValueType  # 4
    UNKNOWN_GROUPS: DisappearingMode.Trigger.ValueType  # 5

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

    class _InitiatorEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[DisappearingMode._Initiator.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        CHANGED_IN_CHAT: DisappearingMode._Initiator.ValueType  # 0
        INITIATED_BY_ME: DisappearingMode._Initiator.ValueType  # 1
        INITIATED_BY_OTHER: DisappearingMode._Initiator.ValueType  # 2
        BIZ_UPGRADE_FB_HOSTING: DisappearingMode._Initiator.ValueType  # 3

    class Initiator(_Initiator, metaclass=_InitiatorEnumTypeWrapper): ...
    CHANGED_IN_CHAT: DisappearingMode.Initiator.ValueType  # 0
    INITIATED_BY_ME: DisappearingMode.Initiator.ValueType  # 1
    INITIATED_BY_OTHER: DisappearingMode.Initiator.ValueType  # 2
    BIZ_UPGRADE_FB_HOSTING: DisappearingMode.Initiator.ValueType  # 3

    INITIATOR_FIELD_NUMBER: builtins.int
    TRIGGER_FIELD_NUMBER: builtins.int
    INITIATORDEVICEJID_FIELD_NUMBER: builtins.int
    INITIATEDBYME_FIELD_NUMBER: builtins.int
    initiator: Global___DisappearingMode.Initiator.ValueType
    trigger: Global___DisappearingMode.Trigger.ValueType
    initiatorDeviceJID: builtins.str
    initiatedByMe: builtins.bool
    def __init__(
        self,
        *,
        initiator: Global___DisappearingMode.Initiator.ValueType | None = ...,
        trigger: Global___DisappearingMode.Trigger.ValueType | None = ...,
        initiatorDeviceJID: builtins.str | None = ...,
        initiatedByMe: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["initiatedByMe", b"initiatedByMe", "initiator", b"initiator", "initiatorDeviceJID", b"initiatorDeviceJID", "trigger", b"trigger"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["initiatedByMe", b"initiatedByMe", "initiator", b"initiator", "initiatorDeviceJID", b"initiatorDeviceJID", "trigger", b"trigger"]) -> None: ...

Global___DisappearingMode: typing_extensions.TypeAlias = DisappearingMode

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

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

    class _VideoQualityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ProcessedVideo._VideoQuality.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNDEFINED: ProcessedVideo._VideoQuality.ValueType  # 0
        LOW: ProcessedVideo._VideoQuality.ValueType  # 1
        MID: ProcessedVideo._VideoQuality.ValueType  # 2
        HIGH: ProcessedVideo._VideoQuality.ValueType  # 3

    class VideoQuality(_VideoQuality, metaclass=_VideoQualityEnumTypeWrapper): ...
    UNDEFINED: ProcessedVideo.VideoQuality.ValueType  # 0
    LOW: ProcessedVideo.VideoQuality.ValueType  # 1
    MID: ProcessedVideo.VideoQuality.ValueType  # 2
    HIGH: ProcessedVideo.VideoQuality.ValueType  # 3

    DIRECTPATH_FIELD_NUMBER: builtins.int
    FILESHA256_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    BITRATE_FIELD_NUMBER: builtins.int
    QUALITY_FIELD_NUMBER: builtins.int
    CAPABILITIES_FIELD_NUMBER: builtins.int
    directPath: builtins.str
    fileSHA256: builtins.bytes
    height: builtins.int
    width: builtins.int
    fileLength: builtins.int
    bitrate: builtins.int
    quality: Global___ProcessedVideo.VideoQuality.ValueType
    @property
    def capabilities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        directPath: builtins.str | None = ...,
        fileSHA256: builtins.bytes | None = ...,
        height: builtins.int | None = ...,
        width: builtins.int | None = ...,
        fileLength: builtins.int | None = ...,
        bitrate: builtins.int | None = ...,
        quality: Global___ProcessedVideo.VideoQuality.ValueType | None = ...,
        capabilities: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["bitrate", b"bitrate", "directPath", b"directPath", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "height", b"height", "quality", b"quality", "width", b"width"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["bitrate", b"bitrate", "capabilities", b"capabilities", "directPath", b"directPath", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "height", b"height", "quality", b"quality", "width", b"width"]) -> None: ...

Global___ProcessedVideo: typing_extensions.TypeAlias = ProcessedVideo

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

    CONVERSATION_FIELD_NUMBER: builtins.int
    SENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int
    IMAGEMESSAGE_FIELD_NUMBER: builtins.int
    CONTACTMESSAGE_FIELD_NUMBER: builtins.int
    LOCATIONMESSAGE_FIELD_NUMBER: builtins.int
    EXTENDEDTEXTMESSAGE_FIELD_NUMBER: builtins.int
    DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int
    AUDIOMESSAGE_FIELD_NUMBER: builtins.int
    VIDEOMESSAGE_FIELD_NUMBER: builtins.int
    CALL_FIELD_NUMBER: builtins.int
    CHAT_FIELD_NUMBER: builtins.int
    PROTOCOLMESSAGE_FIELD_NUMBER: builtins.int
    CONTACTSARRAYMESSAGE_FIELD_NUMBER: builtins.int
    HIGHLYSTRUCTUREDMESSAGE_FIELD_NUMBER: builtins.int
    FASTRATCHETKEYSENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int
    SENDPAYMENTMESSAGE_FIELD_NUMBER: builtins.int
    LIVELOCATIONMESSAGE_FIELD_NUMBER: builtins.int
    REQUESTPAYMENTMESSAGE_FIELD_NUMBER: builtins.int
    DECLINEPAYMENTREQUESTMESSAGE_FIELD_NUMBER: builtins.int
    CANCELPAYMENTREQUESTMESSAGE_FIELD_NUMBER: builtins.int
    TEMPLATEMESSAGE_FIELD_NUMBER: builtins.int
    STICKERMESSAGE_FIELD_NUMBER: builtins.int
    GROUPINVITEMESSAGE_FIELD_NUMBER: builtins.int
    TEMPLATEBUTTONREPLYMESSAGE_FIELD_NUMBER: builtins.int
    PRODUCTMESSAGE_FIELD_NUMBER: builtins.int
    DEVICESENTMESSAGE_FIELD_NUMBER: builtins.int
    MESSAGECONTEXTINFO_FIELD_NUMBER: builtins.int
    LISTMESSAGE_FIELD_NUMBER: builtins.int
    VIEWONCEMESSAGE_FIELD_NUMBER: builtins.int
    ORDERMESSAGE_FIELD_NUMBER: builtins.int
    LISTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int
    EPHEMERALMESSAGE_FIELD_NUMBER: builtins.int
    INVOICEMESSAGE_FIELD_NUMBER: builtins.int
    BUTTONSMESSAGE_FIELD_NUMBER: builtins.int
    BUTTONSRESPONSEMESSAGE_FIELD_NUMBER: builtins.int
    PAYMENTINVITEMESSAGE_FIELD_NUMBER: builtins.int
    INTERACTIVEMESSAGE_FIELD_NUMBER: builtins.int
    REACTIONMESSAGE_FIELD_NUMBER: builtins.int
    STICKERSYNCRMRMESSAGE_FIELD_NUMBER: builtins.int
    INTERACTIVERESPONSEMESSAGE_FIELD_NUMBER: builtins.int
    POLLCREATIONMESSAGE_FIELD_NUMBER: builtins.int
    POLLUPDATEMESSAGE_FIELD_NUMBER: builtins.int
    KEEPINCHATMESSAGE_FIELD_NUMBER: builtins.int
    DOCUMENTWITHCAPTIONMESSAGE_FIELD_NUMBER: builtins.int
    REQUESTPHONENUMBERMESSAGE_FIELD_NUMBER: builtins.int
    VIEWONCEMESSAGEV2_FIELD_NUMBER: builtins.int
    ENCREACTIONMESSAGE_FIELD_NUMBER: builtins.int
    EDITEDMESSAGE_FIELD_NUMBER: builtins.int
    VIEWONCEMESSAGEV2EXTENSION_FIELD_NUMBER: builtins.int
    POLLCREATIONMESSAGEV2_FIELD_NUMBER: builtins.int
    SCHEDULEDCALLCREATIONMESSAGE_FIELD_NUMBER: builtins.int
    GROUPMENTIONEDMESSAGE_FIELD_NUMBER: builtins.int
    PININCHATMESSAGE_FIELD_NUMBER: builtins.int
    POLLCREATIONMESSAGEV3_FIELD_NUMBER: builtins.int
    SCHEDULEDCALLEDITMESSAGE_FIELD_NUMBER: builtins.int
    PTVMESSAGE_FIELD_NUMBER: builtins.int
    BOTINVOKEMESSAGE_FIELD_NUMBER: builtins.int
    CALLLOGMESSSAGE_FIELD_NUMBER: builtins.int
    MESSAGEHISTORYBUNDLE_FIELD_NUMBER: builtins.int
    ENCCOMMENTMESSAGE_FIELD_NUMBER: builtins.int
    BCALLMESSAGE_FIELD_NUMBER: builtins.int
    LOTTIESTICKERMESSAGE_FIELD_NUMBER: builtins.int
    EVENTMESSAGE_FIELD_NUMBER: builtins.int
    ENCEVENTRESPONSEMESSAGE_FIELD_NUMBER: builtins.int
    COMMENTMESSAGE_FIELD_NUMBER: builtins.int
    NEWSLETTERADMININVITEMESSAGE_FIELD_NUMBER: builtins.int
    PLACEHOLDERMESSAGE_FIELD_NUMBER: builtins.int
    SECRETENCRYPTEDMESSAGE_FIELD_NUMBER: builtins.int
    ALBUMMESSAGE_FIELD_NUMBER: builtins.int
    EVENTCOVERIMAGE_FIELD_NUMBER: builtins.int
    STICKERPACKMESSAGE_FIELD_NUMBER: builtins.int
    STATUSMENTIONMESSAGE_FIELD_NUMBER: builtins.int
    POLLRESULTSNAPSHOTMESSAGE_FIELD_NUMBER: builtins.int
    POLLCREATIONOPTIONIMAGEMESSAGE_FIELD_NUMBER: builtins.int
    ASSOCIATEDCHILDMESSAGE_FIELD_NUMBER: builtins.int
    GROUPSTATUSMENTIONMESSAGE_FIELD_NUMBER: builtins.int
    POLLCREATIONMESSAGEV4_FIELD_NUMBER: builtins.int
    STATUSADDYOURS_FIELD_NUMBER: builtins.int
    GROUPSTATUSMESSAGE_FIELD_NUMBER: builtins.int
    RICHRESPONSEMESSAGE_FIELD_NUMBER: builtins.int
    STATUSNOTIFICATIONMESSAGE_FIELD_NUMBER: builtins.int
    LIMITSHARINGMESSAGE_FIELD_NUMBER: builtins.int
    BOTTASKMESSAGE_FIELD_NUMBER: builtins.int
    QUESTIONMESSAGE_FIELD_NUMBER: builtins.int
    MESSAGEHISTORYNOTICE_FIELD_NUMBER: builtins.int
    GROUPSTATUSMESSAGEV2_FIELD_NUMBER: builtins.int
    BOTFORWARDEDMESSAGE_FIELD_NUMBER: builtins.int
    STATUSQUESTIONANSWERMESSAGE_FIELD_NUMBER: builtins.int
    QUESTIONREPLYMESSAGE_FIELD_NUMBER: builtins.int
    QUESTIONRESPONSEMESSAGE_FIELD_NUMBER: builtins.int
    STATUSQUOTEDMESSAGE_FIELD_NUMBER: builtins.int
    STATUSSTICKERINTERACTIONMESSAGE_FIELD_NUMBER: builtins.int
    POLLCREATIONMESSAGEV5_FIELD_NUMBER: builtins.int
    NEWSLETTERFOLLOWERINVITEMESSAGEV2_FIELD_NUMBER: builtins.int
    POLLRESULTSNAPSHOTMESSAGEV3_FIELD_NUMBER: builtins.int
    NEWSLETTERADMINPROFILEMESSAGE_FIELD_NUMBER: builtins.int
    conversation: builtins.str
    @property
    def senderKeyDistributionMessage(self) -> Global___SenderKeyDistributionMessage: ...
    @property
    def imageMessage(self) -> Global___ImageMessage: ...
    @property
    def contactMessage(self) -> Global___ContactMessage: ...
    @property
    def locationMessage(self) -> Global___LocationMessage: ...
    @property
    def extendedTextMessage(self) -> Global___ExtendedTextMessage: ...
    @property
    def documentMessage(self) -> Global___DocumentMessage: ...
    @property
    def audioMessage(self) -> Global___AudioMessage: ...
    @property
    def videoMessage(self) -> Global___VideoMessage: ...
    @property
    def call(self) -> Global___Call: ...
    @property
    def chat(self) -> Global___Chat: ...
    @property
    def protocolMessage(self) -> Global___ProtocolMessage: ...
    @property
    def contactsArrayMessage(self) -> Global___ContactsArrayMessage: ...
    @property
    def highlyStructuredMessage(self) -> Global___HighlyStructuredMessage: ...
    @property
    def fastRatchetKeySenderKeyDistributionMessage(self) -> Global___SenderKeyDistributionMessage: ...
    @property
    def sendPaymentMessage(self) -> Global___SendPaymentMessage: ...
    @property
    def liveLocationMessage(self) -> Global___LiveLocationMessage: ...
    @property
    def requestPaymentMessage(self) -> Global___RequestPaymentMessage: ...
    @property
    def declinePaymentRequestMessage(self) -> Global___DeclinePaymentRequestMessage: ...
    @property
    def cancelPaymentRequestMessage(self) -> Global___CancelPaymentRequestMessage: ...
    @property
    def templateMessage(self) -> Global___TemplateMessage: ...
    @property
    def stickerMessage(self) -> Global___StickerMessage: ...
    @property
    def groupInviteMessage(self) -> Global___GroupInviteMessage: ...
    @property
    def templateButtonReplyMessage(self) -> Global___TemplateButtonReplyMessage: ...
    @property
    def productMessage(self) -> Global___ProductMessage: ...
    @property
    def deviceSentMessage(self) -> Global___DeviceSentMessage: ...
    @property
    def messageContextInfo(self) -> Global___MessageContextInfo: ...
    @property
    def listMessage(self) -> Global___ListMessage: ...
    @property
    def viewOnceMessage(self) -> Global___FutureProofMessage: ...
    @property
    def orderMessage(self) -> Global___OrderMessage: ...
    @property
    def listResponseMessage(self) -> Global___ListResponseMessage: ...
    @property
    def ephemeralMessage(self) -> Global___FutureProofMessage: ...
    @property
    def invoiceMessage(self) -> Global___InvoiceMessage: ...
    @property
    def buttonsMessage(self) -> Global___ButtonsMessage: ...
    @property
    def buttonsResponseMessage(self) -> Global___ButtonsResponseMessage: ...
    @property
    def paymentInviteMessage(self) -> Global___PaymentInviteMessage: ...
    @property
    def interactiveMessage(self) -> Global___InteractiveMessage: ...
    @property
    def reactionMessage(self) -> Global___ReactionMessage: ...
    @property
    def stickerSyncRmrMessage(self) -> Global___StickerSyncRMRMessage: ...
    @property
    def interactiveResponseMessage(self) -> Global___InteractiveResponseMessage: ...
    @property
    def pollCreationMessage(self) -> Global___PollCreationMessage: ...
    @property
    def pollUpdateMessage(self) -> Global___PollUpdateMessage: ...
    @property
    def keepInChatMessage(self) -> Global___KeepInChatMessage: ...
    @property
    def documentWithCaptionMessage(self) -> Global___FutureProofMessage: ...
    @property
    def requestPhoneNumberMessage(self) -> Global___RequestPhoneNumberMessage: ...
    @property
    def viewOnceMessageV2(self) -> Global___FutureProofMessage: ...
    @property
    def encReactionMessage(self) -> Global___EncReactionMessage: ...
    @property
    def editedMessage(self) -> Global___FutureProofMessage: ...
    @property
    def viewOnceMessageV2Extension(self) -> Global___FutureProofMessage: ...
    @property
    def pollCreationMessageV2(self) -> Global___PollCreationMessage: ...
    @property
    def scheduledCallCreationMessage(self) -> Global___ScheduledCallCreationMessage: ...
    @property
    def groupMentionedMessage(self) -> Global___FutureProofMessage: ...
    @property
    def pinInChatMessage(self) -> Global___PinInChatMessage: ...
    @property
    def pollCreationMessageV3(self) -> Global___PollCreationMessage: ...
    @property
    def scheduledCallEditMessage(self) -> Global___ScheduledCallEditMessage: ...
    @property
    def ptvMessage(self) -> Global___VideoMessage: ...
    @property
    def botInvokeMessage(self) -> Global___FutureProofMessage: ...
    @property
    def callLogMesssage(self) -> Global___CallLogMessage: ...
    @property
    def messageHistoryBundle(self) -> Global___MessageHistoryBundle: ...
    @property
    def encCommentMessage(self) -> Global___EncCommentMessage: ...
    @property
    def bcallMessage(self) -> Global___BCallMessage: ...
    @property
    def lottieStickerMessage(self) -> Global___FutureProofMessage: ...
    @property
    def eventMessage(self) -> Global___EventMessage: ...
    @property
    def encEventResponseMessage(self) -> Global___EncEventResponseMessage: ...
    @property
    def commentMessage(self) -> Global___CommentMessage: ...
    @property
    def newsletterAdminInviteMessage(self) -> Global___NewsletterAdminInviteMessage: ...
    @property
    def placeholderMessage(self) -> Global___PlaceholderMessage: ...
    @property
    def secretEncryptedMessage(self) -> Global___SecretEncryptedMessage: ...
    @property
    def albumMessage(self) -> Global___AlbumMessage: ...
    @property
    def eventCoverImage(self) -> Global___FutureProofMessage: ...
    @property
    def stickerPackMessage(self) -> Global___StickerPackMessage: ...
    @property
    def statusMentionMessage(self) -> Global___FutureProofMessage: ...
    @property
    def pollResultSnapshotMessage(self) -> Global___PollResultSnapshotMessage: ...
    @property
    def pollCreationOptionImageMessage(self) -> Global___FutureProofMessage: ...
    @property
    def associatedChildMessage(self) -> Global___FutureProofMessage: ...
    @property
    def groupStatusMentionMessage(self) -> Global___FutureProofMessage: ...
    @property
    def pollCreationMessageV4(self) -> Global___FutureProofMessage: ...
    @property
    def statusAddYours(self) -> Global___FutureProofMessage: ...
    @property
    def groupStatusMessage(self) -> Global___FutureProofMessage: ...
    @property
    def richResponseMessage(self) -> Global___AIRichResponseMessage: ...
    @property
    def statusNotificationMessage(self) -> Global___StatusNotificationMessage: ...
    @property
    def limitSharingMessage(self) -> Global___FutureProofMessage: ...
    @property
    def botTaskMessage(self) -> Global___FutureProofMessage: ...
    @property
    def questionMessage(self) -> Global___FutureProofMessage: ...
    @property
    def messageHistoryNotice(self) -> Global___MessageHistoryNotice: ...
    @property
    def groupStatusMessageV2(self) -> Global___FutureProofMessage: ...
    @property
    def botForwardedMessage(self) -> Global___FutureProofMessage: ...
    @property
    def statusQuestionAnswerMessage(self) -> Global___StatusQuestionAnswerMessage: ...
    @property
    def questionReplyMessage(self) -> Global___FutureProofMessage: ...
    @property
    def questionResponseMessage(self) -> Global___QuestionResponseMessage: ...
    @property
    def statusQuotedMessage(self) -> Global___StatusQuotedMessage: ...
    @property
    def statusStickerInteractionMessage(self) -> Global___StatusStickerInteractionMessage: ...
    @property
    def pollCreationMessageV5(self) -> Global___PollCreationMessage: ...
    @property
    def newsletterFollowerInviteMessageV2(self) -> Global___NewsletterFollowerInviteMessage: ...
    @property
    def pollResultSnapshotMessageV3(self) -> Global___PollResultSnapshotMessage: ...
    @property
    def newsletterAdminProfileMessage(self) -> Global___FutureProofMessage: ...
    def __init__(
        self,
        *,
        conversation: builtins.str | None = ...,
        senderKeyDistributionMessage: Global___SenderKeyDistributionMessage | None = ...,
        imageMessage: Global___ImageMessage | None = ...,
        contactMessage: Global___ContactMessage | None = ...,
        locationMessage: Global___LocationMessage | None = ...,
        extendedTextMessage: Global___ExtendedTextMessage | None = ...,
        documentMessage: Global___DocumentMessage | None = ...,
        audioMessage: Global___AudioMessage | None = ...,
        videoMessage: Global___VideoMessage | None = ...,
        call: Global___Call | None = ...,
        chat: Global___Chat | None = ...,
        protocolMessage: Global___ProtocolMessage | None = ...,
        contactsArrayMessage: Global___ContactsArrayMessage | None = ...,
        highlyStructuredMessage: Global___HighlyStructuredMessage | None = ...,
        fastRatchetKeySenderKeyDistributionMessage: Global___SenderKeyDistributionMessage | None = ...,
        sendPaymentMessage: Global___SendPaymentMessage | None = ...,
        liveLocationMessage: Global___LiveLocationMessage | None = ...,
        requestPaymentMessage: Global___RequestPaymentMessage | None = ...,
        declinePaymentRequestMessage: Global___DeclinePaymentRequestMessage | None = ...,
        cancelPaymentRequestMessage: Global___CancelPaymentRequestMessage | None = ...,
        templateMessage: Global___TemplateMessage | None = ...,
        stickerMessage: Global___StickerMessage | None = ...,
        groupInviteMessage: Global___GroupInviteMessage | None = ...,
        templateButtonReplyMessage: Global___TemplateButtonReplyMessage | None = ...,
        productMessage: Global___ProductMessage | None = ...,
        deviceSentMessage: Global___DeviceSentMessage | None = ...,
        messageContextInfo: Global___MessageContextInfo | None = ...,
        listMessage: Global___ListMessage | None = ...,
        viewOnceMessage: Global___FutureProofMessage | None = ...,
        orderMessage: Global___OrderMessage | None = ...,
        listResponseMessage: Global___ListResponseMessage | None = ...,
        ephemeralMessage: Global___FutureProofMessage | None = ...,
        invoiceMessage: Global___InvoiceMessage | None = ...,
        buttonsMessage: Global___ButtonsMessage | None = ...,
        buttonsResponseMessage: Global___ButtonsResponseMessage | None = ...,
        paymentInviteMessage: Global___PaymentInviteMessage | None = ...,
        interactiveMessage: Global___InteractiveMessage | None = ...,
        reactionMessage: Global___ReactionMessage | None = ...,
        stickerSyncRmrMessage: Global___StickerSyncRMRMessage | None = ...,
        interactiveResponseMessage: Global___InteractiveResponseMessage | None = ...,
        pollCreationMessage: Global___PollCreationMessage | None = ...,
        pollUpdateMessage: Global___PollUpdateMessage | None = ...,
        keepInChatMessage: Global___KeepInChatMessage | None = ...,
        documentWithCaptionMessage: Global___FutureProofMessage | None = ...,
        requestPhoneNumberMessage: Global___RequestPhoneNumberMessage | None = ...,
        viewOnceMessageV2: Global___FutureProofMessage | None = ...,
        encReactionMessage: Global___EncReactionMessage | None = ...,
        editedMessage: Global___FutureProofMessage | None = ...,
        viewOnceMessageV2Extension: Global___FutureProofMessage | None = ...,
        pollCreationMessageV2: Global___PollCreationMessage | None = ...,
        scheduledCallCreationMessage: Global___ScheduledCallCreationMessage | None = ...,
        groupMentionedMessage: Global___FutureProofMessage | None = ...,
        pinInChatMessage: Global___PinInChatMessage | None = ...,
        pollCreationMessageV3: Global___PollCreationMessage | None = ...,
        scheduledCallEditMessage: Global___ScheduledCallEditMessage | None = ...,
        ptvMessage: Global___VideoMessage | None = ...,
        botInvokeMessage: Global___FutureProofMessage | None = ...,
        callLogMesssage: Global___CallLogMessage | None = ...,
        messageHistoryBundle: Global___MessageHistoryBundle | None = ...,
        encCommentMessage: Global___EncCommentMessage | None = ...,
        bcallMessage: Global___BCallMessage | None = ...,
        lottieStickerMessage: Global___FutureProofMessage | None = ...,
        eventMessage: Global___EventMessage | None = ...,
        encEventResponseMessage: Global___EncEventResponseMessage | None = ...,
        commentMessage: Global___CommentMessage | None = ...,
        newsletterAdminInviteMessage: Global___NewsletterAdminInviteMessage | None = ...,
        placeholderMessage: Global___PlaceholderMessage | None = ...,
        secretEncryptedMessage: Global___SecretEncryptedMessage | None = ...,
        albumMessage: Global___AlbumMessage | None = ...,
        eventCoverImage: Global___FutureProofMessage | None = ...,
        stickerPackMessage: Global___StickerPackMessage | None = ...,
        statusMentionMessage: Global___FutureProofMessage | None = ...,
        pollResultSnapshotMessage: Global___PollResultSnapshotMessage | None = ...,
        pollCreationOptionImageMessage: Global___FutureProofMessage | None = ...,
        associatedChildMessage: Global___FutureProofMessage | None = ...,
        groupStatusMentionMessage: Global___FutureProofMessage | None = ...,
        pollCreationMessageV4: Global___FutureProofMessage | None = ...,
        statusAddYours: Global___FutureProofMessage | None = ...,
        groupStatusMessage: Global___FutureProofMessage | None = ...,
        richResponseMessage: Global___AIRichResponseMessage | None = ...,
        statusNotificationMessage: Global___StatusNotificationMessage | None = ...,
        limitSharingMessage: Global___FutureProofMessage | None = ...,
        botTaskMessage: Global___FutureProofMessage | None = ...,
        questionMessage: Global___FutureProofMessage | None = ...,
        messageHistoryNotice: Global___MessageHistoryNotice | None = ...,
        groupStatusMessageV2: Global___FutureProofMessage | None = ...,
        botForwardedMessage: Global___FutureProofMessage | None = ...,
        statusQuestionAnswerMessage: Global___StatusQuestionAnswerMessage | None = ...,
        questionReplyMessage: Global___FutureProofMessage | None = ...,
        questionResponseMessage: Global___QuestionResponseMessage | None = ...,
        statusQuotedMessage: Global___StatusQuotedMessage | None = ...,
        statusStickerInteractionMessage: Global___StatusStickerInteractionMessage | None = ...,
        pollCreationMessageV5: Global___PollCreationMessage | None = ...,
        newsletterFollowerInviteMessageV2: Global___NewsletterFollowerInviteMessage | None = ...,
        pollResultSnapshotMessageV3: Global___PollResultSnapshotMessage | None = ...,
        newsletterAdminProfileMessage: Global___FutureProofMessage | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["albumMessage", b"albumMessage", "associatedChildMessage", b"associatedChildMessage", "audioMessage", b"audioMessage", "bcallMessage", b"bcallMessage", "botForwardedMessage", b"botForwardedMessage", "botInvokeMessage", b"botInvokeMessage", "botTaskMessage", b"botTaskMessage", "buttonsMessage", b"buttonsMessage", "buttonsResponseMessage", b"buttonsResponseMessage", "call", b"call", "callLogMesssage", b"callLogMesssage", "cancelPaymentRequestMessage", b"cancelPaymentRequestMessage", "chat", b"chat", "commentMessage", b"commentMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "conversation", b"conversation", "declinePaymentRequestMessage", b"declinePaymentRequestMessage", "deviceSentMessage", b"deviceSentMessage", "documentMessage", b"documentMessage", "documentWithCaptionMessage", b"documentWithCaptionMessage", "editedMessage", b"editedMessage", "encCommentMessage", b"encCommentMessage", "encEventResponseMessage", b"encEventResponseMessage", "encReactionMessage", b"encReactionMessage", "ephemeralMessage", b"ephemeralMessage", "eventCoverImage", b"eventCoverImage", "eventMessage", b"eventMessage", "extendedTextMessage", b"extendedTextMessage", "fastRatchetKeySenderKeyDistributionMessage", b"fastRatchetKeySenderKeyDistributionMessage", "groupInviteMessage", b"groupInviteMessage", "groupMentionedMessage", b"groupMentionedMessage", "groupStatusMentionMessage", b"groupStatusMentionMessage", "groupStatusMessage", b"groupStatusMessage", "groupStatusMessageV2", b"groupStatusMessageV2", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "interactiveMessage", b"interactiveMessage", "interactiveResponseMessage", b"interactiveResponseMessage", "invoiceMessage", b"invoiceMessage", "keepInChatMessage", b"keepInChatMessage", "limitSharingMessage", b"limitSharingMessage", "listMessage", b"listMessage", "listResponseMessage", b"listResponseMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "lottieStickerMessage", b"lottieStickerMessage", "messageContextInfo", b"messageContextInfo", "messageHistoryBundle", b"messageHistoryBundle", "messageHistoryNotice", b"messageHistoryNotice", "newsletterAdminInviteMessage", b"newsletterAdminInviteMessage", "newsletterAdminProfileMessage", b"newsletterAdminProfileMessage", "newsletterFollowerInviteMessageV2", b"newsletterFollowerInviteMessageV2", "orderMessage", b"orderMessage", "paymentInviteMessage", b"paymentInviteMessage", "pinInChatMessage", b"pinInChatMessage", "placeholderMessage", b"placeholderMessage", "pollCreationMessage", b"pollCreationMessage", "pollCreationMessageV2", b"pollCreationMessageV2", "pollCreationMessageV3", b"pollCreationMessageV3", "pollCreationMessageV4", b"pollCreationMessageV4", "pollCreationMessageV5", b"pollCreationMessageV5", "pollCreationOptionImageMessage", b"pollCreationOptionImageMessage", "pollResultSnapshotMessage", b"pollResultSnapshotMessage", "pollResultSnapshotMessageV3", b"pollResultSnapshotMessageV3", "pollUpdateMessage", b"pollUpdateMessage", "productMessage", b"productMessage", "protocolMessage", b"protocolMessage", "ptvMessage", b"ptvMessage", "questionMessage", b"questionMessage", "questionReplyMessage", b"questionReplyMessage", "questionResponseMessage", b"questionResponseMessage", "reactionMessage", b"reactionMessage", "requestPaymentMessage", b"requestPaymentMessage", "requestPhoneNumberMessage", b"requestPhoneNumberMessage", "richResponseMessage", b"richResponseMessage", "scheduledCallCreationMessage", b"scheduledCallCreationMessage", "scheduledCallEditMessage", b"scheduledCallEditMessage", "secretEncryptedMessage", b"secretEncryptedMessage", "sendPaymentMessage", b"sendPaymentMessage", "senderKeyDistributionMessage", b"senderKeyDistributionMessage", "statusAddYours", b"statusAddYours", "statusMentionMessage", b"statusMentionMessage", "statusNotificationMessage", b"statusNotificationMessage", "statusQuestionAnswerMessage", b"statusQuestionAnswerMessage", "statusQuotedMessage", b"statusQuotedMessage", "statusStickerInteractionMessage", b"statusStickerInteractionMessage", "stickerMessage", b"stickerMessage", "stickerPackMessage", b"stickerPackMessage", "stickerSyncRmrMessage", b"stickerSyncRmrMessage", "templateButtonReplyMessage", b"templateButtonReplyMessage", "templateMessage", b"templateMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage", "viewOnceMessageV2", b"viewOnceMessageV2", "viewOnceMessageV2Extension", b"viewOnceMessageV2Extension"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["albumMessage", b"albumMessage", "associatedChildMessage", b"associatedChildMessage", "audioMessage", b"audioMessage", "bcallMessage", b"bcallMessage", "botForwardedMessage", b"botForwardedMessage", "botInvokeMessage", b"botInvokeMessage", "botTaskMessage", b"botTaskMessage", "buttonsMessage", b"buttonsMessage", "buttonsResponseMessage", b"buttonsResponseMessage", "call", b"call", "callLogMesssage", b"callLogMesssage", "cancelPaymentRequestMessage", b"cancelPaymentRequestMessage", "chat", b"chat", "commentMessage", b"commentMessage", "contactMessage", b"contactMessage", "contactsArrayMessage", b"contactsArrayMessage", "conversation", b"conversation", "declinePaymentRequestMessage", b"declinePaymentRequestMessage", "deviceSentMessage", b"deviceSentMessage", "documentMessage", b"documentMessage", "documentWithCaptionMessage", b"documentWithCaptionMessage", "editedMessage", b"editedMessage", "encCommentMessage", b"encCommentMessage", "encEventResponseMessage", b"encEventResponseMessage", "encReactionMessage", b"encReactionMessage", "ephemeralMessage", b"ephemeralMessage", "eventCoverImage", b"eventCoverImage", "eventMessage", b"eventMessage", "extendedTextMessage", b"extendedTextMessage", "fastRatchetKeySenderKeyDistributionMessage", b"fastRatchetKeySenderKeyDistributionMessage", "groupInviteMessage", b"groupInviteMessage", "groupMentionedMessage", b"groupMentionedMessage", "groupStatusMentionMessage", b"groupStatusMentionMessage", "groupStatusMessage", b"groupStatusMessage", "groupStatusMessageV2", b"groupStatusMessageV2", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "interactiveMessage", b"interactiveMessage", "interactiveResponseMessage", b"interactiveResponseMessage", "invoiceMessage", b"invoiceMessage", "keepInChatMessage", b"keepInChatMessage", "limitSharingMessage", b"limitSharingMessage", "listMessage", b"listMessage", "listResponseMessage", b"listResponseMessage", "liveLocationMessage", b"liveLocationMessage", "locationMessage", b"locationMessage", "lottieStickerMessage", b"lottieStickerMessage", "messageContextInfo", b"messageContextInfo", "messageHistoryBundle", b"messageHistoryBundle", "messageHistoryNotice", b"messageHistoryNotice", "newsletterAdminInviteMessage", b"newsletterAdminInviteMessage", "newsletterAdminProfileMessage", b"newsletterAdminProfileMessage", "newsletterFollowerInviteMessageV2", b"newsletterFollowerInviteMessageV2", "orderMessage", b"orderMessage", "paymentInviteMessage", b"paymentInviteMessage", "pinInChatMessage", b"pinInChatMessage", "placeholderMessage", b"placeholderMessage", "pollCreationMessage", b"pollCreationMessage", "pollCreationMessageV2", b"pollCreationMessageV2", "pollCreationMessageV3", b"pollCreationMessageV3", "pollCreationMessageV4", b"pollCreationMessageV4", "pollCreationMessageV5", b"pollCreationMessageV5", "pollCreationOptionImageMessage", b"pollCreationOptionImageMessage", "pollResultSnapshotMessage", b"pollResultSnapshotMessage", "pollResultSnapshotMessageV3", b"pollResultSnapshotMessageV3", "pollUpdateMessage", b"pollUpdateMessage", "productMessage", b"productMessage", "protocolMessage", b"protocolMessage", "ptvMessage", b"ptvMessage", "questionMessage", b"questionMessage", "questionReplyMessage", b"questionReplyMessage", "questionResponseMessage", b"questionResponseMessage", "reactionMessage", b"reactionMessage", "requestPaymentMessage", b"requestPaymentMessage", "requestPhoneNumberMessage", b"requestPhoneNumberMessage", "richResponseMessage", b"richResponseMessage", "scheduledCallCreationMessage", b"scheduledCallCreationMessage", "scheduledCallEditMessage", b"scheduledCallEditMessage", "secretEncryptedMessage", b"secretEncryptedMessage", "sendPaymentMessage", b"sendPaymentMessage", "senderKeyDistributionMessage", b"senderKeyDistributionMessage", "statusAddYours", b"statusAddYours", "statusMentionMessage", b"statusMentionMessage", "statusNotificationMessage", b"statusNotificationMessage", "statusQuestionAnswerMessage", b"statusQuestionAnswerMessage", "statusQuotedMessage", b"statusQuotedMessage", "statusStickerInteractionMessage", b"statusStickerInteractionMessage", "stickerMessage", b"stickerMessage", "stickerPackMessage", b"stickerPackMessage", "stickerSyncRmrMessage", b"stickerSyncRmrMessage", "templateButtonReplyMessage", b"templateButtonReplyMessage", "templateMessage", b"templateMessage", "videoMessage", b"videoMessage", "viewOnceMessage", b"viewOnceMessage", "viewOnceMessageV2", b"viewOnceMessageV2", "viewOnceMessageV2Extension", b"viewOnceMessageV2Extension"]) -> None: ...

Global___Message: typing_extensions.TypeAlias = Message

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

    EXPECTEDIMAGECOUNT_FIELD_NUMBER: builtins.int
    EXPECTEDVIDEOCOUNT_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    expectedImageCount: builtins.int
    expectedVideoCount: builtins.int
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        expectedImageCount: builtins.int | None = ...,
        expectedVideoCount: builtins.int | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "expectedImageCount", b"expectedImageCount", "expectedVideoCount", b"expectedVideoCount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "expectedImageCount", b"expectedImageCount", "expectedVideoCount", b"expectedVideoCount"]) -> None: ...

Global___AlbumMessage: typing_extensions.TypeAlias = AlbumMessage

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

    HISTORYRECEIVERS_FIELD_NUMBER: builtins.int
    OLDESTMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int
    MESSAGECOUNT_FIELD_NUMBER: builtins.int
    oldestMessageTimestamp: builtins.int
    messageCount: builtins.int
    @property
    def historyReceivers(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        historyReceivers: collections.abc.Iterable[builtins.str] | None = ...,
        oldestMessageTimestamp: builtins.int | None = ...,
        messageCount: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["messageCount", b"messageCount", "oldestMessageTimestamp", b"oldestMessageTimestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["historyReceivers", b"historyReceivers", "messageCount", b"messageCount", "oldestMessageTimestamp", b"oldestMessageTimestamp"]) -> None: ...

Global___MessageHistoryMetadata: typing_extensions.TypeAlias = MessageHistoryMetadata

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

    CONTEXTINFO_FIELD_NUMBER: builtins.int
    MESSAGEHISTORYMETADATA_FIELD_NUMBER: builtins.int
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def messageHistoryMetadata(self) -> Global___MessageHistoryMetadata: ...
    def __init__(
        self,
        *,
        contextInfo: Global___ContextInfo | None = ...,
        messageHistoryMetadata: Global___MessageHistoryMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "messageHistoryMetadata", b"messageHistoryMetadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "messageHistoryMetadata", b"messageHistoryMetadata"]) -> None: ...

Global___MessageHistoryNotice: typing_extensions.TypeAlias = MessageHistoryNotice

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

    MIMETYPE_FIELD_NUMBER: builtins.int
    FILESHA256_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    DIRECTPATH_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    MESSAGEHISTORYMETADATA_FIELD_NUMBER: builtins.int
    mimetype: builtins.str
    fileSHA256: builtins.bytes
    mediaKey: builtins.bytes
    fileEncSHA256: builtins.bytes
    directPath: builtins.str
    mediaKeyTimestamp: builtins.int
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def messageHistoryMetadata(self) -> Global___MessageHistoryMetadata: ...
    def __init__(
        self,
        *,
        mimetype: builtins.str | None = ...,
        fileSHA256: builtins.bytes | None = ...,
        mediaKey: builtins.bytes | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        directPath: builtins.str | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        messageHistoryMetadata: Global___MessageHistoryMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "messageHistoryMetadata", b"messageHistoryMetadata", "mimetype", b"mimetype"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "messageHistoryMetadata", b"messageHistoryMetadata", "mimetype", b"mimetype"]) -> None: ...

Global___MessageHistoryBundle: typing_extensions.TypeAlias = MessageHistoryBundle

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

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

Global___EncEventResponseMessage: typing_extensions.TypeAlias = EncEventResponseMessage

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

    CONTEXTINFO_FIELD_NUMBER: builtins.int
    ISCANCELED_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    LOCATION_FIELD_NUMBER: builtins.int
    JOINLINK_FIELD_NUMBER: builtins.int
    STARTTIME_FIELD_NUMBER: builtins.int
    ENDTIME_FIELD_NUMBER: builtins.int
    EXTRAGUESTSALLOWED_FIELD_NUMBER: builtins.int
    ISSCHEDULECALL_FIELD_NUMBER: builtins.int
    HASREMINDER_FIELD_NUMBER: builtins.int
    REMINDEROFFSETSEC_FIELD_NUMBER: builtins.int
    isCanceled: builtins.bool
    name: builtins.str
    description: builtins.str
    joinLink: builtins.str
    startTime: builtins.int
    endTime: builtins.int
    extraGuestsAllowed: builtins.bool
    isScheduleCall: builtins.bool
    hasReminder: builtins.bool
    reminderOffsetSec: builtins.int
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def location(self) -> Global___LocationMessage: ...
    def __init__(
        self,
        *,
        contextInfo: Global___ContextInfo | None = ...,
        isCanceled: builtins.bool | None = ...,
        name: builtins.str | None = ...,
        description: builtins.str | None = ...,
        location: Global___LocationMessage | None = ...,
        joinLink: builtins.str | None = ...,
        startTime: builtins.int | None = ...,
        endTime: builtins.int | None = ...,
        extraGuestsAllowed: builtins.bool | None = ...,
        isScheduleCall: builtins.bool | None = ...,
        hasReminder: builtins.bool | None = ...,
        reminderOffsetSec: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "endTime", b"endTime", "extraGuestsAllowed", b"extraGuestsAllowed", "hasReminder", b"hasReminder", "isCanceled", b"isCanceled", "isScheduleCall", b"isScheduleCall", "joinLink", b"joinLink", "location", b"location", "name", b"name", "reminderOffsetSec", b"reminderOffsetSec", "startTime", b"startTime"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "endTime", b"endTime", "extraGuestsAllowed", b"extraGuestsAllowed", "hasReminder", b"hasReminder", "isCanceled", b"isCanceled", "isScheduleCall", b"isScheduleCall", "joinLink", b"joinLink", "location", b"location", "name", b"name", "reminderOffsetSec", b"reminderOffsetSec", "startTime", b"startTime"]) -> None: ...

Global___EventMessage: typing_extensions.TypeAlias = EventMessage

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

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

Global___CommentMessage: typing_extensions.TypeAlias = CommentMessage

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

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

Global___EncCommentMessage: typing_extensions.TypeAlias = EncCommentMessage

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

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

Global___EncReactionMessage: typing_extensions.TypeAlias = EncReactionMessage

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

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

Global___KeepInChatMessage: typing_extensions.TypeAlias = KeepInChatMessage

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

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

Global___QuestionResponseMessage: typing_extensions.TypeAlias = QuestionResponseMessage

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

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

Global___StatusQuestionAnswerMessage: typing_extensions.TypeAlias = StatusQuestionAnswerMessage

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

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

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

    NAME_FIELD_NUMBER: builtins.int
    POLLVOTES_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    POLLTYPE_FIELD_NUMBER: builtins.int
    name: builtins.str
    pollType: Global___PollType.ValueType
    @property
    def pollVotes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PollResultSnapshotMessage.PollVote]: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        name: builtins.str | None = ...,
        pollVotes: collections.abc.Iterable[Global___PollResultSnapshotMessage.PollVote] | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        pollType: Global___PollType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "name", b"name", "pollType", b"pollType"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "name", b"name", "pollType", b"pollType", "pollVotes", b"pollVotes"]) -> None: ...

Global___PollResultSnapshotMessage: typing_extensions.TypeAlias = PollResultSnapshotMessage

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

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

Global___PollVoteMessage: typing_extensions.TypeAlias = PollVoteMessage

@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: ...

Global___PollEncValue: typing_extensions.TypeAlias = PollEncValue

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

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

Global___PollUpdateMessageMetadata: typing_extensions.TypeAlias = PollUpdateMessageMetadata

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

    POLLCREATIONMESSAGEKEY_FIELD_NUMBER: builtins.int
    VOTE_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    SENDERTIMESTAMPMS_FIELD_NUMBER: builtins.int
    senderTimestampMS: builtins.int
    @property
    def pollCreationMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    @property
    def vote(self) -> Global___PollEncValue: ...
    @property
    def metadata(self) -> Global___PollUpdateMessageMetadata: ...
    def __init__(
        self,
        *,
        pollCreationMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        vote: Global___PollEncValue | None = ...,
        metadata: Global___PollUpdateMessageMetadata | None = ...,
        senderTimestampMS: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["metadata", b"metadata", "pollCreationMessageKey", b"pollCreationMessageKey", "senderTimestampMS", b"senderTimestampMS", "vote", b"vote"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["metadata", b"metadata", "pollCreationMessageKey", b"pollCreationMessageKey", "senderTimestampMS", b"senderTimestampMS", "vote", b"vote"]) -> None: ...

Global___PollUpdateMessage: typing_extensions.TypeAlias = PollUpdateMessage

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

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

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

    ENCKEY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    SELECTABLEOPTIONSCOUNT_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    POLLCONTENTTYPE_FIELD_NUMBER: builtins.int
    POLLTYPE_FIELD_NUMBER: builtins.int
    CORRECTANSWER_FIELD_NUMBER: builtins.int
    encKey: builtins.bytes
    name: builtins.str
    selectableOptionsCount: builtins.int
    pollContentType: Global___PollContentType.ValueType
    pollType: Global___PollType.ValueType
    @property
    def options(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PollCreationMessage.Option]: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def correctAnswer(self) -> Global___PollCreationMessage.Option: ...
    def __init__(
        self,
        *,
        encKey: builtins.bytes | None = ...,
        name: builtins.str | None = ...,
        options: collections.abc.Iterable[Global___PollCreationMessage.Option] | None = ...,
        selectableOptionsCount: builtins.int | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        pollContentType: Global___PollContentType.ValueType | None = ...,
        pollType: Global___PollType.ValueType | None = ...,
        correctAnswer: Global___PollCreationMessage.Option | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "correctAnswer", b"correctAnswer", "encKey", b"encKey", "name", b"name", "pollContentType", b"pollContentType", "pollType", b"pollType", "selectableOptionsCount", b"selectableOptionsCount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "correctAnswer", b"correctAnswer", "encKey", b"encKey", "name", b"name", "options", b"options", "pollContentType", b"pollContentType", "pollType", b"pollType", "selectableOptionsCount", b"selectableOptionsCount"]) -> None: ...

Global___PollCreationMessage: typing_extensions.TypeAlias = PollCreationMessage

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

    FILEHASH_FIELD_NUMBER: builtins.int
    RMRSOURCE_FIELD_NUMBER: builtins.int
    REQUESTTIMESTAMP_FIELD_NUMBER: builtins.int
    rmrSource: builtins.str
    requestTimestamp: builtins.int
    @property
    def filehash(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        filehash: collections.abc.Iterable[builtins.str] | None = ...,
        rmrSource: builtins.str | None = ...,
        requestTimestamp: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["requestTimestamp", b"requestTimestamp", "rmrSource", b"rmrSource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["filehash", b"filehash", "requestTimestamp", b"requestTimestamp", "rmrSource", b"rmrSource"]) -> None: ...

Global___StickerSyncRMRMessage: typing_extensions.TypeAlias = StickerSyncRMRMessage

@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
    text: builtins.str
    groupingKey: builtins.str
    senderTimestampMS: 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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMS", b"senderTimestampMS", "text", b"text"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["groupingKey", b"groupingKey", "key", b"key", "senderTimestampMS", b"senderTimestampMS", "text", b"text"]) -> None: ...

Global___ReactionMessage: typing_extensions.TypeAlias = ReactionMessage

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

    MESSAGE_FIELD_NUMBER: builtins.int
    @property
    def message(self) -> Global___Message: ...
    def __init__(
        self,
        *,
        message: Global___Message | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["message", b"message"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["message", b"message"]) -> None: ...

Global___FutureProofMessage: typing_extensions.TypeAlias = FutureProofMessage

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

    DESTINATIONJID_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    PHASH_FIELD_NUMBER: builtins.int
    destinationJID: builtins.str
    phash: builtins.str
    @property
    def message(self) -> Global___Message: ...
    def __init__(
        self,
        *,
        destinationJID: builtins.str | None = ...,
        message: Global___Message | None = ...,
        phash: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["destinationJID", b"destinationJID", "message", b"message", "phash", b"phash"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["destinationJID", b"destinationJID", "message", b"message", "phash", b"phash"]) -> None: ...

Global___DeviceSentMessage: typing_extensions.TypeAlias = DeviceSentMessage

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

    CONTEXTINFO_FIELD_NUMBER: builtins.int
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo"]) -> None: ...

Global___RequestPhoneNumberMessage: typing_extensions.TypeAlias = RequestPhoneNumberMessage

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

    NEWSLETTERJID_FIELD_NUMBER: builtins.int
    NEWSLETTERNAME_FIELD_NUMBER: builtins.int
    JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CAPTION_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    newsletterJID: builtins.str
    newsletterName: builtins.str
    JPEGThumbnail: builtins.bytes
    caption: builtins.str
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        newsletterJID: builtins.str | None = ...,
        newsletterName: builtins.str | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        caption: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName"]) -> None: ...

Global___NewsletterFollowerInviteMessage: typing_extensions.TypeAlias = NewsletterFollowerInviteMessage

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

    NEWSLETTERJID_FIELD_NUMBER: builtins.int
    NEWSLETTERNAME_FIELD_NUMBER: builtins.int
    JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CAPTION_FIELD_NUMBER: builtins.int
    INVITEEXPIRATION_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    newsletterJID: builtins.str
    newsletterName: builtins.str
    JPEGThumbnail: builtins.bytes
    caption: builtins.str
    inviteExpiration: builtins.int
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        newsletterJID: builtins.str | None = ...,
        newsletterName: builtins.str | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        caption: builtins.str | None = ...,
        inviteExpiration: builtins.int | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "inviteExpiration", b"inviteExpiration", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "caption", b"caption", "contextInfo", b"contextInfo", "inviteExpiration", b"inviteExpiration", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName"]) -> None: ...

Global___NewsletterAdminInviteMessage: typing_extensions.TypeAlias = NewsletterAdminInviteMessage

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

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

        PRODUCTIMAGE_FIELD_NUMBER: builtins.int
        PRODUCTID_FIELD_NUMBER: builtins.int
        TITLE_FIELD_NUMBER: builtins.int
        DESCRIPTION_FIELD_NUMBER: builtins.int
        CURRENCYCODE_FIELD_NUMBER: builtins.int
        PRICEAMOUNT1000_FIELD_NUMBER: builtins.int
        RETAILERID_FIELD_NUMBER: builtins.int
        URL_FIELD_NUMBER: builtins.int
        PRODUCTIMAGECOUNT_FIELD_NUMBER: builtins.int
        FIRSTIMAGEID_FIELD_NUMBER: builtins.int
        SALEPRICEAMOUNT1000_FIELD_NUMBER: builtins.int
        SIGNEDURL_FIELD_NUMBER: builtins.int
        productID: builtins.str
        title: builtins.str
        description: builtins.str
        currencyCode: builtins.str
        priceAmount1000: builtins.int
        retailerID: builtins.str
        URL: builtins.str
        productImageCount: builtins.int
        firstImageID: builtins.str
        salePriceAmount1000: builtins.int
        signedURL: builtins.str
        @property
        def productImage(self) -> Global___ImageMessage: ...
        def __init__(
            self,
            *,
            productImage: Global___ImageMessage | None = ...,
            productID: builtins.str | None = ...,
            title: builtins.str | None = ...,
            description: builtins.str | None = ...,
            currencyCode: builtins.str | None = ...,
            priceAmount1000: builtins.int | None = ...,
            retailerID: builtins.str | None = ...,
            URL: builtins.str | None = ...,
            productImageCount: builtins.int | None = ...,
            firstImageID: builtins.str | None = ...,
            salePriceAmount1000: builtins.int | None = ...,
            signedURL: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["URL", b"URL", "currencyCode", b"currencyCode", "description", b"description", "firstImageID", b"firstImageID", "priceAmount1000", b"priceAmount1000", "productID", b"productID", "productImage", b"productImage", "productImageCount", b"productImageCount", "retailerID", b"retailerID", "salePriceAmount1000", b"salePriceAmount1000", "signedURL", b"signedURL", "title", b"title"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["URL", b"URL", "currencyCode", b"currencyCode", "description", b"description", "firstImageID", b"firstImageID", "priceAmount1000", b"priceAmount1000", "productID", b"productID", "productImage", b"productImage", "productImageCount", b"productImageCount", "retailerID", b"retailerID", "salePriceAmount1000", b"salePriceAmount1000", "signedURL", b"signedURL", "title", b"title"]) -> None: ...

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

        CATALOGIMAGE_FIELD_NUMBER: builtins.int
        TITLE_FIELD_NUMBER: builtins.int
        DESCRIPTION_FIELD_NUMBER: builtins.int
        title: builtins.str
        description: builtins.str
        @property
        def catalogImage(self) -> Global___ImageMessage: ...
        def __init__(
            self,
            *,
            catalogImage: Global___ImageMessage | None = ...,
            title: builtins.str | None = ...,
            description: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["catalogImage", b"catalogImage", "description", b"description", "title", b"title"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["catalogImage", b"catalogImage", "description", b"description", "title", b"title"]) -> None: ...

    PRODUCT_FIELD_NUMBER: builtins.int
    BUSINESSOWNERJID_FIELD_NUMBER: builtins.int
    CATALOG_FIELD_NUMBER: builtins.int
    BODY_FIELD_NUMBER: builtins.int
    FOOTER_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    businessOwnerJID: builtins.str
    body: builtins.str
    footer: builtins.str
    @property
    def product(self) -> Global___ProductMessage.ProductSnapshot: ...
    @property
    def catalog(self) -> Global___ProductMessage.CatalogSnapshot: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        product: Global___ProductMessage.ProductSnapshot | None = ...,
        businessOwnerJID: builtins.str | None = ...,
        catalog: Global___ProductMessage.CatalogSnapshot | None = ...,
        body: builtins.str | None = ...,
        footer: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["body", b"body", "businessOwnerJID", b"businessOwnerJID", "catalog", b"catalog", "contextInfo", b"contextInfo", "footer", b"footer", "product", b"product"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["body", b"body", "businessOwnerJID", b"businessOwnerJID", "catalog", b"catalog", "contextInfo", b"contextInfo", "footer", b"footer", "product", b"product"]) -> None: ...

Global___ProductMessage: typing_extensions.TypeAlias = ProductMessage

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

    SELECTEDID_FIELD_NUMBER: builtins.int
    SELECTEDDISPLAYTEXT_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    SELECTEDINDEX_FIELD_NUMBER: builtins.int
    SELECTEDCAROUSELCARDINDEX_FIELD_NUMBER: builtins.int
    selectedID: builtins.str
    selectedDisplayText: builtins.str
    selectedIndex: builtins.int
    selectedCarouselCardIndex: builtins.int
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        selectedID: builtins.str | None = ...,
        selectedDisplayText: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        selectedIndex: builtins.int | None = ...,
        selectedCarouselCardIndex: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "selectedCarouselCardIndex", b"selectedCarouselCardIndex", "selectedDisplayText", b"selectedDisplayText", "selectedID", b"selectedID", "selectedIndex", b"selectedIndex"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "selectedCarouselCardIndex", b"selectedCarouselCardIndex", "selectedDisplayText", b"selectedDisplayText", "selectedID", b"selectedID", "selectedIndex", b"selectedIndex"]) -> None: ...

Global___TemplateButtonReplyMessage: typing_extensions.TypeAlias = TemplateButtonReplyMessage

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

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

        DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int
        HYDRATEDTITLETEXT_FIELD_NUMBER: builtins.int
        IMAGEMESSAGE_FIELD_NUMBER: builtins.int
        VIDEOMESSAGE_FIELD_NUMBER: builtins.int
        LOCATIONMESSAGE_FIELD_NUMBER: builtins.int
        HYDRATEDCONTENTTEXT_FIELD_NUMBER: builtins.int
        HYDRATEDFOOTERTEXT_FIELD_NUMBER: builtins.int
        HYDRATEDBUTTONS_FIELD_NUMBER: builtins.int
        TEMPLATEID_FIELD_NUMBER: builtins.int
        MASKLINKEDDEVICES_FIELD_NUMBER: builtins.int
        hydratedTitleText: builtins.str
        hydratedContentText: builtins.str
        hydratedFooterText: builtins.str
        templateID: builtins.str
        maskLinkedDevices: builtins.bool
        @property
        def documentMessage(self) -> Global___DocumentMessage: ...
        @property
        def imageMessage(self) -> Global___ImageMessage: ...
        @property
        def videoMessage(self) -> Global___VideoMessage: ...
        @property
        def locationMessage(self) -> Global___LocationMessage: ...
        @property
        def hydratedButtons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___HydratedTemplateButton]: ...
        def __init__(
            self,
            *,
            documentMessage: Global___DocumentMessage | None = ...,
            hydratedTitleText: builtins.str | None = ...,
            imageMessage: Global___ImageMessage | None = ...,
            videoMessage: Global___VideoMessage | None = ...,
            locationMessage: Global___LocationMessage | None = ...,
            hydratedContentText: builtins.str | None = ...,
            hydratedFooterText: builtins.str | None = ...,
            hydratedButtons: collections.abc.Iterable[Global___HydratedTemplateButton] | None = ...,
            templateID: builtins.str | None = ...,
            maskLinkedDevices: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["documentMessage", b"documentMessage", "hydratedContentText", b"hydratedContentText", "hydratedFooterText", b"hydratedFooterText", "hydratedTitleText", b"hydratedTitleText", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "maskLinkedDevices", b"maskLinkedDevices", "templateID", b"templateID", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["documentMessage", b"documentMessage", "hydratedButtons", b"hydratedButtons", "hydratedContentText", b"hydratedContentText", "hydratedFooterText", b"hydratedFooterText", "hydratedTitleText", b"hydratedTitleText", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "maskLinkedDevices", b"maskLinkedDevices", "templateID", b"templateID", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ...
        def WhichOneof(self, oneof_group: typing.Literal["title", b"title"]) -> typing.Literal["documentMessage", "hydratedTitleText", "imageMessage", "videoMessage", "locationMessage"] | None: ...

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

        DOCUMENTMESSAGE_FIELD_NUMBER: builtins.int
        HIGHLYSTRUCTUREDMESSAGE_FIELD_NUMBER: builtins.int
        IMAGEMESSAGE_FIELD_NUMBER: builtins.int
        VIDEOMESSAGE_FIELD_NUMBER: builtins.int
        LOCATIONMESSAGE_FIELD_NUMBER: builtins.int
        CONTENT_FIELD_NUMBER: builtins.int
        FOOTER_FIELD_NUMBER: builtins.int
        BUTTONS_FIELD_NUMBER: builtins.int
        @property
        def documentMessage(self) -> Global___DocumentMessage: ...
        @property
        def highlyStructuredMessage(self) -> Global___HighlyStructuredMessage: ...
        @property
        def imageMessage(self) -> Global___ImageMessage: ...
        @property
        def videoMessage(self) -> Global___VideoMessage: ...
        @property
        def locationMessage(self) -> Global___LocationMessage: ...
        @property
        def content(self) -> Global___HighlyStructuredMessage: ...
        @property
        def footer(self) -> Global___HighlyStructuredMessage: ...
        @property
        def buttons(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___TemplateButton]: ...
        def __init__(
            self,
            *,
            documentMessage: Global___DocumentMessage | None = ...,
            highlyStructuredMessage: Global___HighlyStructuredMessage | None = ...,
            imageMessage: Global___ImageMessage | None = ...,
            videoMessage: Global___VideoMessage | None = ...,
            locationMessage: Global___LocationMessage | None = ...,
            content: Global___HighlyStructuredMessage | None = ...,
            footer: Global___HighlyStructuredMessage | None = ...,
            buttons: collections.abc.Iterable[Global___TemplateButton] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["content", b"content", "documentMessage", b"documentMessage", "footer", b"footer", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "title", b"title", "videoMessage", b"videoMessage"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["buttons", b"buttons", "content", b"content", "documentMessage", b"documentMessage", "footer", b"footer", "highlyStructuredMessage", b"highlyStructuredMessage", "imageMessage", b"imageMessage", "locationMessage", b"locationMessage", "title", b"title", "videoMessage", b"videoMessage"]) -> None: ...
        def WhichOneof(self, oneof_group: typing.Literal["title", b"title"]) -> typing.Literal["documentMessage", "highlyStructuredMessage", "imageMessage", "videoMessage", "locationMessage"] | None: ...

    FOURROWTEMPLATE_FIELD_NUMBER: builtins.int
    HYDRATEDFOURROWTEMPLATE_FIELD_NUMBER: builtins.int
    INTERACTIVEMESSAGETEMPLATE_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    HYDRATEDTEMPLATE_FIELD_NUMBER: builtins.int
    TEMPLATEID_FIELD_NUMBER: builtins.int
    templateID: builtins.str
    @property
    def fourRowTemplate(self) -> Global___TemplateMessage.FourRowTemplate: ...
    @property
    def hydratedFourRowTemplate(self) -> Global___TemplateMessage.HydratedFourRowTemplate: ...
    @property
    def interactiveMessageTemplate(self) -> Global___InteractiveMessage: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def hydratedTemplate(self) -> Global___TemplateMessage.HydratedFourRowTemplate: ...
    def __init__(
        self,
        *,
        fourRowTemplate: Global___TemplateMessage.FourRowTemplate | None = ...,
        hydratedFourRowTemplate: Global___TemplateMessage.HydratedFourRowTemplate | None = ...,
        interactiveMessageTemplate: Global___InteractiveMessage | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        hydratedTemplate: Global___TemplateMessage.HydratedFourRowTemplate | None = ...,
        templateID: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "format", b"format", "fourRowTemplate", b"fourRowTemplate", "hydratedFourRowTemplate", b"hydratedFourRowTemplate", "hydratedTemplate", b"hydratedTemplate", "interactiveMessageTemplate", b"interactiveMessageTemplate", "templateID", b"templateID"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "format", b"format", "fourRowTemplate", b"fourRowTemplate", "hydratedFourRowTemplate", b"hydratedFourRowTemplate", "hydratedTemplate", b"hydratedTemplate", "interactiveMessageTemplate", b"interactiveMessageTemplate", "templateID", b"templateID"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["format", b"format"]) -> typing.Literal["fourRowTemplate", "hydratedFourRowTemplate", "interactiveMessageTemplate"] | None: ...

Global___TemplateMessage: typing_extensions.TypeAlias = TemplateMessage

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

    URL_FIELD_NUMBER: builtins.int
    FILESHA256_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    MIMETYPE_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    DIRECTPATH_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    FIRSTFRAMELENGTH_FIELD_NUMBER: builtins.int
    FIRSTFRAMESIDECAR_FIELD_NUMBER: builtins.int
    ISANIMATED_FIELD_NUMBER: builtins.int
    PNGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    STICKERSENTTS_FIELD_NUMBER: builtins.int
    ISAVATAR_FIELD_NUMBER: builtins.int
    ISAISTICKER_FIELD_NUMBER: builtins.int
    ISLOTTIE_FIELD_NUMBER: builtins.int
    ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int
    MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int
    URL: builtins.str
    fileSHA256: builtins.bytes
    fileEncSHA256: builtins.bytes
    mediaKey: builtins.bytes
    mimetype: builtins.str
    height: builtins.int
    width: builtins.int
    directPath: builtins.str
    fileLength: builtins.int
    mediaKeyTimestamp: builtins.int
    firstFrameLength: builtins.int
    firstFrameSidecar: builtins.bytes
    isAnimated: builtins.bool
    pngThumbnail: builtins.bytes
    stickerSentTS: builtins.int
    isAvatar: builtins.bool
    isAiSticker: builtins.bool
    isLottie: builtins.bool
    accessibilityLabel: builtins.str
    mediaKeyDomain: Global___MediaKeyDomain.ValueType
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        URL: builtins.str | None = ...,
        fileSHA256: builtins.bytes | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        mediaKey: builtins.bytes | None = ...,
        mimetype: builtins.str | None = ...,
        height: builtins.int | None = ...,
        width: builtins.int | None = ...,
        directPath: builtins.str | None = ...,
        fileLength: builtins.int | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        firstFrameLength: builtins.int | None = ...,
        firstFrameSidecar: builtins.bytes | None = ...,
        isAnimated: builtins.bool | None = ...,
        pngThumbnail: builtins.bytes | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        stickerSentTS: builtins.int | None = ...,
        isAvatar: builtins.bool | None = ...,
        isAiSticker: builtins.bool | None = ...,
        isLottie: builtins.bool | None = ...,
        accessibilityLabel: builtins.str | None = ...,
        mediaKeyDomain: Global___MediaKeyDomain.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "firstFrameLength", b"firstFrameLength", "firstFrameSidecar", b"firstFrameSidecar", "height", b"height", "isAiSticker", b"isAiSticker", "isAnimated", b"isAnimated", "isAvatar", b"isAvatar", "isLottie", b"isLottie", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pngThumbnail", b"pngThumbnail", "stickerSentTS", b"stickerSentTS", "width", b"width"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "firstFrameLength", b"firstFrameLength", "firstFrameSidecar", b"firstFrameSidecar", "height", b"height", "isAiSticker", b"isAiSticker", "isAnimated", b"isAnimated", "isAvatar", b"isAvatar", "isLottie", b"isLottie", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pngThumbnail", b"pngThumbnail", "stickerSentTS", b"stickerSentTS", "width", b"width"]) -> None: ...

Global___StickerMessage: typing_extensions.TypeAlias = StickerMessage

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

    DEGREESLATITUDE_FIELD_NUMBER: builtins.int
    DEGREESLONGITUDE_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
    JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    degreesLatitude: builtins.float
    degreesLongitude: builtins.float
    accuracyInMeters: builtins.int
    speedInMps: builtins.float
    degreesClockwiseFromMagneticNorth: builtins.int
    caption: builtins.str
    sequenceNumber: builtins.int
    timeOffset: builtins.int
    JPEGThumbnail: builtins.bytes
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        degreesLatitude: builtins.float | None = ...,
        degreesLongitude: builtins.float | None = ...,
        accuracyInMeters: builtins.int | None = ...,
        speedInMps: builtins.float | None = ...,
        degreesClockwiseFromMagneticNorth: builtins.int | None = ...,
        caption: builtins.str | None = ...,
        sequenceNumber: builtins.int | None = ...,
        timeOffset: builtins.int | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "accuracyInMeters", b"accuracyInMeters", "caption", b"caption", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "sequenceNumber", b"sequenceNumber", "speedInMps", b"speedInMps", "timeOffset", b"timeOffset"]) -> None: ...

Global___LiveLocationMessage: typing_extensions.TypeAlias = LiveLocationMessage

@typing.final
class CancelPaymentRequestMessage(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: ...

Global___CancelPaymentRequestMessage: typing_extensions.TypeAlias = CancelPaymentRequestMessage

@typing.final
class DeclinePaymentRequestMessage(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: ...

Global___DeclinePaymentRequestMessage: typing_extensions.TypeAlias = DeclinePaymentRequestMessage

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

    NOTEMESSAGE_FIELD_NUMBER: builtins.int
    CURRENCYCODEISO4217_FIELD_NUMBER: builtins.int
    AMOUNT1000_FIELD_NUMBER: builtins.int
    REQUESTFROM_FIELD_NUMBER: builtins.int
    EXPIRYTIMESTAMP_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    BACKGROUND_FIELD_NUMBER: builtins.int
    currencyCodeIso4217: builtins.str
    amount1000: builtins.int
    requestFrom: builtins.str
    expiryTimestamp: builtins.int
    @property
    def noteMessage(self) -> Global___Message: ...
    @property
    def amount(self) -> Global___Money: ...
    @property
    def background(self) -> Global___PaymentBackground: ...
    def __init__(
        self,
        *,
        noteMessage: Global___Message | None = ...,
        currencyCodeIso4217: builtins.str | None = ...,
        amount1000: builtins.int | None = ...,
        requestFrom: builtins.str | None = ...,
        expiryTimestamp: builtins.int | None = ...,
        amount: Global___Money | None = ...,
        background: Global___PaymentBackground | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["amount", b"amount", "amount1000", b"amount1000", "background", b"background", "currencyCodeIso4217", b"currencyCodeIso4217", "expiryTimestamp", b"expiryTimestamp", "noteMessage", b"noteMessage", "requestFrom", b"requestFrom"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["amount", b"amount", "amount1000", b"amount1000", "background", b"background", "currencyCodeIso4217", b"currencyCodeIso4217", "expiryTimestamp", b"expiryTimestamp", "noteMessage", b"noteMessage", "requestFrom", b"requestFrom"]) -> None: ...

Global___RequestPaymentMessage: typing_extensions.TypeAlias = RequestPaymentMessage

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

    NOTEMESSAGE_FIELD_NUMBER: builtins.int
    REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int
    BACKGROUND_FIELD_NUMBER: builtins.int
    TRANSACTIONDATA_FIELD_NUMBER: builtins.int
    transactionData: builtins.str
    @property
    def noteMessage(self) -> Global___Message: ...
    @property
    def requestMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    @property
    def background(self) -> Global___PaymentBackground: ...
    def __init__(
        self,
        *,
        noteMessage: Global___Message | None = ...,
        requestMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        background: Global___PaymentBackground | None = ...,
        transactionData: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["background", b"background", "noteMessage", b"noteMessage", "requestMessageKey", b"requestMessageKey", "transactionData", b"transactionData"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["background", b"background", "noteMessage", b"noteMessage", "requestMessageKey", b"requestMessageKey", "transactionData", b"transactionData"]) -> None: ...

Global___SendPaymentMessage: typing_extensions.TypeAlias = SendPaymentMessage

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

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

Global___ContactsArrayMessage: typing_extensions.TypeAlias = ContactsArrayMessage

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

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

Global___InitialSecurityNotificationSettingSync: typing_extensions.TypeAlias = InitialSecurityNotificationSettingSync

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

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

Global___FullHistorySyncOnDemandRequestMetadata: typing_extensions.TypeAlias = FullHistorySyncOnDemandRequestMetadata

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

    COLLECTIONNAMES_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    timestamp: builtins.int
    @property
    def collectionNames(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        collectionNames: collections.abc.Iterable[builtins.str] | None = ...,
        timestamp: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["timestamp", b"timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["collectionNames", b"collectionNames", "timestamp", b"timestamp"]) -> None: ...

Global___AppStateFatalExceptionNotification: typing_extensions.TypeAlias = AppStateFatalExceptionNotification

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

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

Global___AppStateSyncKeyRequest: typing_extensions.TypeAlias = AppStateSyncKeyRequest

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

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

Global___AppStateSyncKeyShare: typing_extensions.TypeAlias = AppStateSyncKeyShare

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

    KEYDATA_FIELD_NUMBER: builtins.int
    FINGERPRINT_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    keyData: builtins.bytes
    timestamp: builtins.int
    @property
    def fingerprint(self) -> Global___AppStateSyncKeyFingerprint: ...
    def __init__(
        self,
        *,
        keyData: builtins.bytes | None = ...,
        fingerprint: Global___AppStateSyncKeyFingerprint | None = ...,
        timestamp: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["fingerprint", b"fingerprint", "keyData", b"keyData", "timestamp", b"timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["fingerprint", b"fingerprint", "keyData", b"keyData", "timestamp", b"timestamp"]) -> None: ...

Global___AppStateSyncKeyData: typing_extensions.TypeAlias = AppStateSyncKeyData

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

    RAWID_FIELD_NUMBER: builtins.int
    CURRENTINDEX_FIELD_NUMBER: builtins.int
    DEVICEINDEXES_FIELD_NUMBER: builtins.int
    rawID: builtins.int
    currentIndex: builtins.int
    @property
    def deviceIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        rawID: builtins.int | None = ...,
        currentIndex: builtins.int | None = ...,
        deviceIndexes: collections.abc.Iterable[builtins.int] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["currentIndex", b"currentIndex", "rawID", b"rawID"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["currentIndex", b"currentIndex", "deviceIndexes", b"deviceIndexes", "rawID", b"rawID"]) -> None: ...

Global___AppStateSyncKeyFingerprint: typing_extensions.TypeAlias = AppStateSyncKeyFingerprint

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

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

Global___AppStateSyncKeyId: typing_extensions.TypeAlias = AppStateSyncKeyId

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

    KEYID_FIELD_NUMBER: builtins.int
    KEYDATA_FIELD_NUMBER: builtins.int
    @property
    def keyID(self) -> Global___AppStateSyncKeyId: ...
    @property
    def keyData(self) -> Global___AppStateSyncKeyData: ...
    def __init__(
        self,
        *,
        keyID: Global___AppStateSyncKeyId | None = ...,
        keyData: Global___AppStateSyncKeyData | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["keyData", b"keyData", "keyID", b"keyID"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["keyData", b"keyData", "keyID", b"keyID"]) -> None: ...

Global___AppStateSyncKey: typing_extensions.TypeAlias = AppStateSyncKey

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

    FILESHA256_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    DIRECTPATH_FIELD_NUMBER: builtins.int
    SYNCTYPE_FIELD_NUMBER: builtins.int
    CHUNKORDER_FIELD_NUMBER: builtins.int
    ORIGINALMESSAGEID_FIELD_NUMBER: builtins.int
    PROGRESS_FIELD_NUMBER: builtins.int
    OLDESTMSGINCHUNKTIMESTAMPSEC_FIELD_NUMBER: builtins.int
    INITIALHISTBOOTSTRAPINLINEPAYLOAD_FIELD_NUMBER: builtins.int
    PEERDATAREQUESTSESSIONID_FIELD_NUMBER: builtins.int
    FULLHISTORYSYNCONDEMANDREQUESTMETADATA_FIELD_NUMBER: builtins.int
    ENCHANDLE_FIELD_NUMBER: builtins.int
    MESSAGEACCESSSTATUS_FIELD_NUMBER: builtins.int
    fileSHA256: builtins.bytes
    fileLength: builtins.int
    mediaKey: builtins.bytes
    fileEncSHA256: builtins.bytes
    directPath: builtins.str
    syncType: Global___HistorySyncType.ValueType
    chunkOrder: builtins.int
    originalMessageID: builtins.str
    progress: builtins.int
    oldestMsgInChunkTimestampSec: builtins.int
    initialHistBootstrapInlinePayload: builtins.bytes
    peerDataRequestSessionID: builtins.str
    encHandle: builtins.str
    @property
    def fullHistorySyncOnDemandRequestMetadata(self) -> Global___FullHistorySyncOnDemandRequestMetadata: ...
    @property
    def messageAccessStatus(self) -> Global___HistorySyncMessageAccessStatus: ...
    def __init__(
        self,
        *,
        fileSHA256: builtins.bytes | None = ...,
        fileLength: builtins.int | None = ...,
        mediaKey: builtins.bytes | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        directPath: builtins.str | None = ...,
        syncType: Global___HistorySyncType.ValueType | None = ...,
        chunkOrder: builtins.int | None = ...,
        originalMessageID: builtins.str | None = ...,
        progress: builtins.int | None = ...,
        oldestMsgInChunkTimestampSec: builtins.int | None = ...,
        initialHistBootstrapInlinePayload: builtins.bytes | None = ...,
        peerDataRequestSessionID: builtins.str | None = ...,
        fullHistorySyncOnDemandRequestMetadata: Global___FullHistorySyncOnDemandRequestMetadata | None = ...,
        encHandle: builtins.str | None = ...,
        messageAccessStatus: Global___HistorySyncMessageAccessStatus | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["chunkOrder", b"chunkOrder", "directPath", b"directPath", "encHandle", b"encHandle", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "fullHistorySyncOnDemandRequestMetadata", b"fullHistorySyncOnDemandRequestMetadata", "initialHistBootstrapInlinePayload", b"initialHistBootstrapInlinePayload", "mediaKey", b"mediaKey", "messageAccessStatus", b"messageAccessStatus", "oldestMsgInChunkTimestampSec", b"oldestMsgInChunkTimestampSec", "originalMessageID", b"originalMessageID", "peerDataRequestSessionID", b"peerDataRequestSessionID", "progress", b"progress", "syncType", b"syncType"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["chunkOrder", b"chunkOrder", "directPath", b"directPath", "encHandle", b"encHandle", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "fullHistorySyncOnDemandRequestMetadata", b"fullHistorySyncOnDemandRequestMetadata", "initialHistBootstrapInlinePayload", b"initialHistBootstrapInlinePayload", "mediaKey", b"mediaKey", "messageAccessStatus", b"messageAccessStatus", "oldestMsgInChunkTimestampSec", b"oldestMsgInChunkTimestampSec", "originalMessageID", b"originalMessageID", "peerDataRequestSessionID", b"peerDataRequestSessionID", "progress", b"progress", "syncType", b"syncType"]) -> None: ...

Global___HistorySyncNotification: typing_extensions.TypeAlias = HistorySyncNotification

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

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

Global___HistorySyncMessageAccessStatus: typing_extensions.TypeAlias = HistorySyncMessageAccessStatus

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

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

Global___Chat: typing_extensions.TypeAlias = Chat

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

    CALLKEY_FIELD_NUMBER: builtins.int
    CONVERSIONSOURCE_FIELD_NUMBER: builtins.int
    CONVERSIONDATA_FIELD_NUMBER: builtins.int
    CONVERSIONDELAYSECONDS_FIELD_NUMBER: builtins.int
    CTWASIGNALS_FIELD_NUMBER: builtins.int
    CTWAPAYLOAD_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    NATIVEFLOWCALLBUTTONPAYLOAD_FIELD_NUMBER: builtins.int
    DEEPLINKPAYLOAD_FIELD_NUMBER: builtins.int
    MESSAGECONTEXTINFO_FIELD_NUMBER: builtins.int
    callKey: builtins.bytes
    conversionSource: builtins.str
    conversionData: builtins.bytes
    conversionDelaySeconds: builtins.int
    ctwaSignals: builtins.str
    ctwaPayload: builtins.bytes
    nativeFlowCallButtonPayload: builtins.str
    deeplinkPayload: builtins.str
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    @property
    def messageContextInfo(self) -> Global___MessageContextInfo: ...
    def __init__(
        self,
        *,
        callKey: builtins.bytes | None = ...,
        conversionSource: builtins.str | None = ...,
        conversionData: builtins.bytes | None = ...,
        conversionDelaySeconds: builtins.int | None = ...,
        ctwaSignals: builtins.str | None = ...,
        ctwaPayload: builtins.bytes | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        nativeFlowCallButtonPayload: builtins.str | None = ...,
        deeplinkPayload: builtins.str | None = ...,
        messageContextInfo: Global___MessageContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["callKey", b"callKey", "contextInfo", b"contextInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "ctwaPayload", b"ctwaPayload", "ctwaSignals", b"ctwaSignals", "deeplinkPayload", b"deeplinkPayload", "messageContextInfo", b"messageContextInfo", "nativeFlowCallButtonPayload", b"nativeFlowCallButtonPayload"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["callKey", b"callKey", "contextInfo", b"contextInfo", "conversionData", b"conversionData", "conversionDelaySeconds", b"conversionDelaySeconds", "conversionSource", b"conversionSource", "ctwaPayload", b"ctwaPayload", "ctwaSignals", b"ctwaSignals", "deeplinkPayload", b"deeplinkPayload", "messageContextInfo", b"messageContextInfo", "nativeFlowCallButtonPayload", b"nativeFlowCallButtonPayload"]) -> None: ...

Global___Call: typing_extensions.TypeAlias = Call

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

    URL_FIELD_NUMBER: builtins.int
    MIMETYPE_FIELD_NUMBER: builtins.int
    FILESHA256_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    SECONDS_FIELD_NUMBER: builtins.int
    PTT_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    DIRECTPATH_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    STREAMINGSIDECAR_FIELD_NUMBER: builtins.int
    WAVEFORM_FIELD_NUMBER: builtins.int
    BACKGROUNDARGB_FIELD_NUMBER: builtins.int
    VIEWONCE_FIELD_NUMBER: builtins.int
    ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int
    MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int
    URL: builtins.str
    mimetype: builtins.str
    fileSHA256: builtins.bytes
    fileLength: builtins.int
    seconds: builtins.int
    PTT: builtins.bool
    mediaKey: builtins.bytes
    fileEncSHA256: builtins.bytes
    directPath: builtins.str
    mediaKeyTimestamp: builtins.int
    streamingSidecar: builtins.bytes
    waveform: builtins.bytes
    backgroundArgb: builtins.int
    viewOnce: builtins.bool
    accessibilityLabel: builtins.str
    mediaKeyDomain: Global___MediaKeyDomain.ValueType
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        URL: builtins.str | None = ...,
        mimetype: builtins.str | None = ...,
        fileSHA256: builtins.bytes | None = ...,
        fileLength: builtins.int | None = ...,
        seconds: builtins.int | None = ...,
        PTT: builtins.bool | None = ...,
        mediaKey: builtins.bytes | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        directPath: builtins.str | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        streamingSidecar: builtins.bytes | None = ...,
        waveform: builtins.bytes | None = ...,
        backgroundArgb: builtins.int | None = ...,
        viewOnce: builtins.bool | None = ...,
        accessibilityLabel: builtins.str | None = ...,
        mediaKeyDomain: Global___MediaKeyDomain.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["PTT", b"PTT", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "seconds", b"seconds", "streamingSidecar", b"streamingSidecar", "viewOnce", b"viewOnce", "waveform", b"waveform"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["PTT", b"PTT", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "backgroundArgb", b"backgroundArgb", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "seconds", b"seconds", "streamingSidecar", b"streamingSidecar", "viewOnce", b"viewOnce", "waveform", b"waveform"]) -> None: ...

Global___AudioMessage: typing_extensions.TypeAlias = AudioMessage

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

    URL_FIELD_NUMBER: builtins.int
    MIMETYPE_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    FILESHA256_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    PAGECOUNT_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    FILENAME_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    DIRECTPATH_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    CONTACTVCARD_FIELD_NUMBER: builtins.int
    THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int
    THUMBNAILSHA256_FIELD_NUMBER: builtins.int
    THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int
    JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int
    THUMBNAILWIDTH_FIELD_NUMBER: builtins.int
    CAPTION_FIELD_NUMBER: builtins.int
    ACCESSIBILITYLABEL_FIELD_NUMBER: builtins.int
    MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int
    URL: builtins.str
    mimetype: builtins.str
    title: builtins.str
    fileSHA256: builtins.bytes
    fileLength: builtins.int
    pageCount: builtins.int
    mediaKey: builtins.bytes
    fileName: builtins.str
    fileEncSHA256: builtins.bytes
    directPath: builtins.str
    mediaKeyTimestamp: builtins.int
    contactVcard: builtins.bool
    thumbnailDirectPath: builtins.str
    thumbnailSHA256: builtins.bytes
    thumbnailEncSHA256: builtins.bytes
    JPEGThumbnail: builtins.bytes
    thumbnailHeight: builtins.int
    thumbnailWidth: builtins.int
    caption: builtins.str
    accessibilityLabel: builtins.str
    mediaKeyDomain: Global___MediaKeyDomain.ValueType
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        URL: builtins.str | None = ...,
        mimetype: builtins.str | None = ...,
        title: builtins.str | None = ...,
        fileSHA256: builtins.bytes | None = ...,
        fileLength: builtins.int | None = ...,
        pageCount: builtins.int | None = ...,
        mediaKey: builtins.bytes | None = ...,
        fileName: builtins.str | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        directPath: builtins.str | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        contactVcard: builtins.bool | None = ...,
        thumbnailDirectPath: builtins.str | None = ...,
        thumbnailSHA256: builtins.bytes | None = ...,
        thumbnailEncSHA256: builtins.bytes | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
        thumbnailHeight: builtins.int | None = ...,
        thumbnailWidth: builtins.int | None = ...,
        caption: builtins.str | None = ...,
        accessibilityLabel: builtins.str | None = ...,
        mediaKeyDomain: Global___MediaKeyDomain.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "contactVcard", b"contactVcard", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileName", b"fileName", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pageCount", b"pageCount", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "title", b"title"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accessibilityLabel", b"accessibilityLabel", "caption", b"caption", "contactVcard", b"contactVcard", "contextInfo", b"contextInfo", "directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength", "fileName", b"fileName", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pageCount", b"pageCount", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth", "title", b"title"]) -> None: ...

Global___DocumentMessage: typing_extensions.TypeAlias = DocumentMessage

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

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

Global___URLMetadata: typing_extensions.TypeAlias = URLMetadata

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

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

Global___PaymentExtendedMetadata: typing_extensions.TypeAlias = PaymentExtendedMetadata

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

    THUMBNAILDIRECTPATH_FIELD_NUMBER: builtins.int
    THUMBNAILSHA256_FIELD_NUMBER: builtins.int
    THUMBNAILENCSHA256_FIELD_NUMBER: builtins.int
    MEDIAKEY_FIELD_NUMBER: builtins.int
    MEDIAKEYTIMESTAMP_FIELD_NUMBER: builtins.int
    THUMBNAILHEIGHT_FIELD_NUMBER: builtins.int
    THUMBNAILWIDTH_FIELD_NUMBER: builtins.int
    MEDIAKEYDOMAIN_FIELD_NUMBER: builtins.int
    thumbnailDirectPath: builtins.str
    thumbnailSHA256: builtins.bytes
    thumbnailEncSHA256: builtins.bytes
    mediaKey: builtins.bytes
    mediaKeyTimestamp: builtins.int
    thumbnailHeight: builtins.int
    thumbnailWidth: builtins.int
    mediaKeyDomain: Global___MediaKeyDomain.ValueType
    def __init__(
        self,
        *,
        thumbnailDirectPath: builtins.str | None = ...,
        thumbnailSHA256: builtins.bytes | None = ...,
        thumbnailEncSHA256: builtins.bytes | None = ...,
        mediaKey: builtins.bytes | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        thumbnailHeight: builtins.int | None = ...,
        thumbnailWidth: builtins.int | None = ...,
        mediaKeyDomain: Global___MediaKeyDomain.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["mediaKey", b"mediaKey", "mediaKeyDomain", b"mediaKeyDomain", "mediaKeyTimestamp", b"mediaKeyTimestamp", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth"]) -> None: ...

Global___MMSThumbnailMetadata: typing_extensions.TypeAlias = MMSThumbnailMetadata

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

    DEGREESLATITUDE_FIELD_NUMBER: builtins.int
    DEGREESLONGITUDE_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    ADDRESS_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    ISLIVE_FIELD_NUMBER: builtins.int
    ACCURACYINMETERS_FIELD_NUMBER: builtins.int
    SPEEDINMPS_FIELD_NUMBER: builtins.int
    DEGREESCLOCKWISEFROMMAGNETICNORTH_FIELD_NUMBER: builtins.int
    COMMENT_FIELD_NUMBER: builtins.int
    JPEGTHUMBNAIL_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    degreesLatitude: builtins.float
    degreesLongitude: builtins.float
    name: builtins.str
    address: builtins.str
    URL: builtins.str
    isLive: builtins.bool
    accuracyInMeters: builtins.int
    speedInMps: builtins.float
    degreesClockwiseFromMagneticNorth: builtins.int
    comment: builtins.str
    JPEGThumbnail: builtins.bytes
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        degreesLatitude: builtins.float | None = ...,
        degreesLongitude: builtins.float | None = ...,
        name: builtins.str | None = ...,
        address: builtins.str | None = ...,
        URL: builtins.str | None = ...,
        isLive: builtins.bool | None = ...,
        accuracyInMeters: builtins.int | None = ...,
        speedInMps: builtins.float | None = ...,
        degreesClockwiseFromMagneticNorth: builtins.int | None = ...,
        comment: builtins.str | None = ...,
        JPEGThumbnail: builtins.bytes | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accuracyInMeters", b"accuracyInMeters", "address", b"address", "comment", b"comment", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "isLive", b"isLive", "name", b"name", "speedInMps", b"speedInMps"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["JPEGThumbnail", b"JPEGThumbnail", "URL", b"URL", "accuracyInMeters", b"accuracyInMeters", "address", b"address", "comment", b"comment", "contextInfo", b"contextInfo", "degreesClockwiseFromMagneticNorth", b"degreesClockwiseFromMagneticNorth", "degreesLatitude", b"degreesLatitude", "degreesLongitude", b"degreesLongitude", "isLive", b"isLive", "name", b"name", "speedInMps", b"speedInMps"]) -> None: ...

Global___LocationMessage: typing_extensions.TypeAlias = LocationMessage

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

    DISPLAYNAME_FIELD_NUMBER: builtins.int
    VCARD_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    displayName: builtins.str
    vcard: builtins.str
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        displayName: builtins.str | None = ...,
        vcard: builtins.str | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "displayName", b"displayName", "vcard", b"vcard"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "displayName", b"displayName", "vcard", b"vcard"]) -> None: ...

Global___ContactMessage: typing_extensions.TypeAlias = ContactMessage

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

    GROUPID_FIELD_NUMBER: builtins.int
    AXOLOTLSENDERKEYDISTRIBUTIONMESSAGE_FIELD_NUMBER: builtins.int
    groupID: builtins.str
    axolotlSenderKeyDistributionMessage: builtins.bytes
    def __init__(
        self,
        *,
        groupID: builtins.str | None = ...,
        axolotlSenderKeyDistributionMessage: builtins.bytes | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["axolotlSenderKeyDistributionMessage", b"axolotlSenderKeyDistributionMessage", "groupID", b"groupID"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["axolotlSenderKeyDistributionMessage", b"axolotlSenderKeyDistributionMessage", "groupID", b"groupID"]) -> None: ...

Global___SenderKeyDistributionMessage: typing_extensions.TypeAlias = SenderKeyDistributionMessage

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

    USERNAME_FIELD_NUMBER: builtins.int
    CAPTION_FIELD_NUMBER: builtins.int
    THUMBNAILIMAGEURL_FIELD_NUMBER: builtins.int
    PROFILEPICTUREURL_FIELD_NUMBER: builtins.int
    username: builtins.str
    caption: builtins.str
    thumbnailImageURL: builtins.str
    profilePictureURL: builtins.str
    def __init__(
        self,
        *,
        username: builtins.str | None = ...,
        caption: builtins.str | None = ...,
        thumbnailImageURL: builtins.str | None = ...,
        profilePictureURL: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["caption", b"caption", "profilePictureURL", b"profilePictureURL", "thumbnailImageURL", b"thumbnailImageURL", "username", b"username"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["caption", b"caption", "profilePictureURL", b"profilePictureURL", "thumbnailImageURL", b"thumbnailImageURL", "username", b"username"]) -> None: ...

Global___VideoEndCard: typing_extensions.TypeAlias = VideoEndCard

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

    SENDERKEYHASH_FIELD_NUMBER: builtins.int
    SENDERTIMESTAMP_FIELD_NUMBER: builtins.int
    SENDERKEYINDEXES_FIELD_NUMBER: builtins.int
    SENDERACCOUNTTYPE_FIELD_NUMBER: builtins.int
    RECEIVERACCOUNTTYPE_FIELD_NUMBER: builtins.int
    RECIPIENTKEYHASH_FIELD_NUMBER: builtins.int
    RECIPIENTTIMESTAMP_FIELD_NUMBER: builtins.int
    RECIPIENTKEYINDEXES_FIELD_NUMBER: builtins.int
    senderKeyHash: builtins.bytes
    senderTimestamp: builtins.int
    senderAccountType: waAdv.WAAdv_pb2.ADVEncryptionType.ValueType
    receiverAccountType: waAdv.WAAdv_pb2.ADVEncryptionType.ValueType
    recipientKeyHash: builtins.bytes
    recipientTimestamp: builtins.int
    @property
    def senderKeyIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    @property
    def recipientKeyIndexes(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: ...
    def __init__(
        self,
        *,
        senderKeyHash: builtins.bytes | None = ...,
        senderTimestamp: builtins.int | None = ...,
        senderKeyIndexes: collections.abc.Iterable[builtins.int] | None = ...,
        senderAccountType: waAdv.WAAdv_pb2.ADVEncryptionType.ValueType | None = ...,
        receiverAccountType: waAdv.WAAdv_pb2.ADVEncryptionType.ValueType | None = ...,
        recipientKeyHash: builtins.bytes | None = ...,
        recipientTimestamp: builtins.int | None = ...,
        recipientKeyIndexes: collections.abc.Iterable[builtins.int] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["receiverAccountType", b"receiverAccountType", "recipientKeyHash", b"recipientKeyHash", "recipientTimestamp", b"recipientTimestamp", "senderAccountType", b"senderAccountType", "senderKeyHash", b"senderKeyHash", "senderTimestamp", b"senderTimestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["receiverAccountType", b"receiverAccountType", "recipientKeyHash", b"recipientKeyHash", "recipientKeyIndexes", b"recipientKeyIndexes", "recipientTimestamp", b"recipientTimestamp", "senderAccountType", b"senderAccountType", "senderKeyHash", b"senderKeyHash", "senderKeyIndexes", b"senderKeyIndexes", "senderTimestamp", b"senderTimestamp"]) -> None: ...

Global___DeviceListMetadata: typing_extensions.TypeAlias = DeviceListMetadata

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

    STANZAID_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    stanzaID: builtins.str
    @property
    def message(self) -> Global___Message: ...
    def __init__(
        self,
        *,
        stanzaID: builtins.str | None = ...,
        message: Global___Message | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["message", b"message", "stanzaID", b"stanzaID"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["message", b"message", "stanzaID", b"stanzaID"]) -> None: ...

Global___EmbeddedMessage: typing_extensions.TypeAlias = EmbeddedMessage

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

    MUSICCONTENTMEDIAID_FIELD_NUMBER: builtins.int
    SONGID_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    TITLE_FIELD_NUMBER: builtins.int
    ARTWORKDIRECTPATH_FIELD_NUMBER: builtins.int
    ARTWORKSHA256_FIELD_NUMBER: builtins.int
    ARTWORKENCSHA256_FIELD_NUMBER: builtins.int
    ARTISTATTRIBUTION_FIELD_NUMBER: builtins.int
    COUNTRYBLOCKLIST_FIELD_NUMBER: builtins.int
    ISEXPLICIT_FIELD_NUMBER: builtins.int
    ARTWORKMEDIAKEY_FIELD_NUMBER: builtins.int
    MUSICSONGSTARTTIMEINMS_FIELD_NUMBER: builtins.int
    DERIVEDCONTENTSTARTTIMEINMS_FIELD_NUMBER: builtins.int
    OVERLAPDURATIONINMS_FIELD_NUMBER: builtins.int
    musicContentMediaID: builtins.str
    songID: builtins.str
    author: builtins.str
    title: builtins.str
    artworkDirectPath: builtins.str
    artworkSHA256: builtins.bytes
    artworkEncSHA256: builtins.bytes
    artistAttribution: builtins.str
    countryBlocklist: builtins.bytes
    isExplicit: builtins.bool
    artworkMediaKey: builtins.bytes
    musicSongStartTimeInMS: builtins.int
    derivedContentStartTimeInMS: builtins.int
    overlapDurationInMS: builtins.int
    def __init__(
        self,
        *,
        musicContentMediaID: builtins.str | None = ...,
        songID: builtins.str | None = ...,
        author: builtins.str | None = ...,
        title: builtins.str | None = ...,
        artworkDirectPath: builtins.str | None = ...,
        artworkSHA256: builtins.bytes | None = ...,
        artworkEncSHA256: builtins.bytes | None = ...,
        artistAttribution: builtins.str | None = ...,
        countryBlocklist: builtins.bytes | None = ...,
        isExplicit: builtins.bool | None = ...,
        artworkMediaKey: builtins.bytes | None = ...,
        musicSongStartTimeInMS: builtins.int | None = ...,
        derivedContentStartTimeInMS: builtins.int | None = ...,
        overlapDurationInMS: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["artistAttribution", b"artistAttribution", "artworkDirectPath", b"artworkDirectPath", "artworkEncSHA256", b"artworkEncSHA256", "artworkMediaKey", b"artworkMediaKey", "artworkSHA256", b"artworkSHA256", "author", b"author", "countryBlocklist", b"countryBlocklist", "derivedContentStartTimeInMS", b"derivedContentStartTimeInMS", "isExplicit", b"isExplicit", "musicContentMediaID", b"musicContentMediaID", "musicSongStartTimeInMS", b"musicSongStartTimeInMS", "overlapDurationInMS", b"overlapDurationInMS", "songID", b"songID", "title", b"title"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["artistAttribution", b"artistAttribution", "artworkDirectPath", b"artworkDirectPath", "artworkEncSHA256", b"artworkEncSHA256", "artworkMediaKey", b"artworkMediaKey", "artworkSHA256", b"artworkSHA256", "author", b"author", "countryBlocklist", b"countryBlocklist", "derivedContentStartTimeInMS", b"derivedContentStartTimeInMS", "isExplicit", b"isExplicit", "musicContentMediaID", b"musicContentMediaID", "musicSongStartTimeInMS", b"musicSongStartTimeInMS", "overlapDurationInMS", b"overlapDurationInMS", "songID", b"songID", "title", b"title"]) -> None: ...

Global___EmbeddedMusic: typing_extensions.TypeAlias = EmbeddedMusic

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

    EMBEDDEDMESSAGE_FIELD_NUMBER: builtins.int
    EMBEDDEDMUSIC_FIELD_NUMBER: builtins.int
    @property
    def embeddedMessage(self) -> Global___EmbeddedMessage: ...
    @property
    def embeddedMusic(self) -> Global___EmbeddedMusic: ...
    def __init__(
        self,
        *,
        embeddedMessage: Global___EmbeddedMessage | None = ...,
        embeddedMusic: Global___EmbeddedMusic | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["content", b"content", "embeddedMessage", b"embeddedMessage", "embeddedMusic", b"embeddedMusic"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["content", b"content", "embeddedMessage", b"embeddedMessage", "embeddedMusic", b"embeddedMusic"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["content", b"content"]) -> typing.Literal["embeddedMessage", "embeddedMusic"] | None: ...

Global___EmbeddedContent: typing_extensions.TypeAlias = EmbeddedContent

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

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

Global___TapLinkAction: typing_extensions.TypeAlias = TapLinkAction

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

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

Global___Point: typing_extensions.TypeAlias = Point

@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: ...

Global___Location: typing_extensions.TypeAlias = Location

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

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

        DISPLAYTEXT_FIELD_NUMBER: builtins.int
        PHONENUMBER_FIELD_NUMBER: builtins.int
        @property
        def displayText(self) -> Global___HighlyStructuredMessage: ...
        @property
        def phoneNumber(self) -> Global___HighlyStructuredMessage: ...
        def __init__(
            self,
            *,
            displayText: Global___HighlyStructuredMessage | None = ...,
            phoneNumber: Global___HighlyStructuredMessage | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["displayText", b"displayText", "phoneNumber", b"phoneNumber"]) -> None: ...

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

        DISPLAYTEXT_FIELD_NUMBER: builtins.int
        URL_FIELD_NUMBER: builtins.int
        @property
        def displayText(self) -> Global___HighlyStructuredMessage: ...
        @property
        def URL(self) -> Global___HighlyStructuredMessage: ...
        def __init__(
            self,
            *,
            displayText: Global___HighlyStructuredMessage | None = ...,
            URL: Global___HighlyStructuredMessage | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["URL", b"URL", "displayText", b"displayText"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["URL", b"URL", "displayText", b"displayText"]) -> None: ...

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

        DISPLAYTEXT_FIELD_NUMBER: builtins.int
        ID_FIELD_NUMBER: builtins.int
        ID: builtins.str
        @property
        def displayText(self) -> Global___HighlyStructuredMessage: ...
        def __init__(
            self,
            *,
            displayText: Global___HighlyStructuredMessage | None = ...,
            ID: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["ID", b"ID", "displayText", b"displayText"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["ID", b"ID", "displayText", b"displayText"]) -> None: ...

    QUICKREPLYBUTTON_FIELD_NUMBER: builtins.int
    URLBUTTON_FIELD_NUMBER: builtins.int
    CALLBUTTON_FIELD_NUMBER: builtins.int
    INDEX_FIELD_NUMBER: builtins.int
    index: builtins.int
    @property
    def quickReplyButton(self) -> Global___TemplateButton.QuickReplyButton: ...
    @property
    def urlButton(self) -> Global___TemplateButton.URLButton: ...
    @property
    def callButton(self) -> Global___TemplateButton.CallButton: ...
    def __init__(
        self,
        *,
        quickReplyButton: Global___TemplateButton.QuickReplyButton | None = ...,
        urlButton: Global___TemplateButton.URLButton | None = ...,
        callButton: Global___TemplateButton.CallButton | None = ...,
        index: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["button", b"button", "callButton", b"callButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["button", b"button", "callButton", b"callButton", "index", b"index", "quickReplyButton", b"quickReplyButton", "urlButton", b"urlButton"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["button", b"button"]) -> typing.Literal["quickReplyButton", "urlButton", "callButton"] | None: ...

Global___TemplateButton: typing_extensions.TypeAlias = TemplateButton

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

    VALUE_FIELD_NUMBER: builtins.int
    OFFSET_FIELD_NUMBER: builtins.int
    CURRENCYCODE_FIELD_NUMBER: builtins.int
    value: builtins.int
    offset: builtins.int
    currencyCode: builtins.str
    def __init__(
        self,
        *,
        value: builtins.int | None = ...,
        offset: builtins.int | None = ...,
        currencyCode: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["currencyCode", b"currencyCode", "offset", b"offset", "value", b"value"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["currencyCode", b"currencyCode", "offset", b"offset", "value", b"value"]) -> None: ...

Global___Money: typing_extensions.TypeAlias = Money

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

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

Global___ActionLink: typing_extensions.TypeAlias = ActionLink

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

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

Global___GroupMention: typing_extensions.TypeAlias = GroupMention

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

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

Global___MessageSecretMessage: typing_extensions.TypeAlias = MessageSecretMessage

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

    EXPRESSPATHURL_FIELD_NUMBER: builtins.int
    FILEENCSHA256_FIELD_NUMBER: builtins.int
    FILELENGTH_FIELD_NUMBER: builtins.int
    expressPathURL: builtins.str
    fileEncSHA256: builtins.bytes
    fileLength: builtins.int
    def __init__(
        self,
        *,
        expressPathURL: builtins.str | None = ...,
        fileEncSHA256: builtins.bytes | None = ...,
        fileLength: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["expressPathURL", b"expressPathURL", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["expressPathURL", b"expressPathURL", "fileEncSHA256", b"fileEncSHA256", "fileLength", b"fileLength"]) -> None: ...

Global___MediaNotifyMessage: typing_extensions.TypeAlias = MediaNotifyMessage

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

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

Global___LIDMigrationMappingSyncMessage: typing_extensions.TypeAlias = LIDMigrationMappingSyncMessage

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

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

        ORIGINALURL_FIELD_NUMBER: builtins.int
        UNCONSENTEDUSERSURL_FIELD_NUMBER: builtins.int
        CONSENTEDUSERSURL_FIELD_NUMBER: builtins.int
        CARDINDEX_FIELD_NUMBER: builtins.int
        originalURL: builtins.str
        unconsentedUsersURL: builtins.str
        consentedUsersURL: builtins.str
        cardIndex: builtins.int
        def __init__(
            self,
            *,
            originalURL: builtins.str | None = ...,
            unconsentedUsersURL: builtins.str | None = ...,
            consentedUsersURL: builtins.str | None = ...,
            cardIndex: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["cardIndex", b"cardIndex", "consentedUsersURL", b"consentedUsersURL", "originalURL", b"originalURL", "unconsentedUsersURL", b"unconsentedUsersURL"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["cardIndex", b"cardIndex", "consentedUsersURL", b"consentedUsersURL", "originalURL", b"originalURL", "unconsentedUsersURL", b"unconsentedUsersURL"]) -> None: ...

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

Global___UrlTrackingMap: typing_extensions.TypeAlias = UrlTrackingMap

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

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

Global___MemberLabel: typing_extensions.TypeAlias = MemberLabel

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

    MESSAGETYPE_FIELD_NUMBER: builtins.int
    SUBMESSAGES_FIELD_NUMBER: builtins.int
    UNIFIEDRESPONSE_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    messageType: waAICommon.WAAICommon_pb2.AIRichResponseMessageType.ValueType
    @property
    def submessages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[waAICommon.WAAICommon_pb2.AIRichResponseSubMessage]: ...
    @property
    def unifiedResponse(self) -> waAICommon.WAAICommon_pb2.AIRichResponseUnifiedResponse: ...
    @property
    def contextInfo(self) -> Global___ContextInfo: ...
    def __init__(
        self,
        *,
        messageType: waAICommon.WAAICommon_pb2.AIRichResponseMessageType.ValueType | None = ...,
        submessages: collections.abc.Iterable[waAICommon.WAAICommon_pb2.AIRichResponseSubMessage] | None = ...,
        unifiedResponse: waAICommon.WAAICommon_pb2.AIRichResponseUnifiedResponse | None = ...,
        contextInfo: Global___ContextInfo | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "messageType", b"messageType", "unifiedResponse", b"unifiedResponse"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "messageType", b"messageType", "submessages", b"submessages", "unifiedResponse", b"unifiedResponse"]) -> None: ...

Global___AIRichResponseMessage: typing_extensions.TypeAlias = AIRichResponseMessage

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

    MESSAGEKEY_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    timestamp: builtins.int
    @property
    def messageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    @property
    def message(self) -> Global___Message: ...
    def __init__(
        self,
        *,
        messageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        message: Global___Message | None = ...,
        timestamp: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["message", b"message", "messageKey", b"messageKey", "timestamp", b"timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["message", b"message", "messageKey", b"messageKey", "timestamp", b"timestamp"]) -> None: ...

Global___AIQueryFanout: typing_extensions.TypeAlias = AIQueryFanout
