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

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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 = 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

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
global___PeerDataOperationRequestType = PeerDataOperationRequestType

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

class _BotMetricsEntryPointEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotMetricsEntryPoint.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    FAVICON: _BotMetricsEntryPoint.ValueType  # 1
    CHATLIST: _BotMetricsEntryPoint.ValueType  # 2
    AISEARCH_NULL_STATE_PAPER_PLANE: _BotMetricsEntryPoint.ValueType  # 3
    AISEARCH_NULL_STATE_SUGGESTION: _BotMetricsEntryPoint.ValueType  # 4
    AISEARCH_TYPE_AHEAD_SUGGESTION: _BotMetricsEntryPoint.ValueType  # 5
    AISEARCH_TYPE_AHEAD_PAPER_PLANE: _BotMetricsEntryPoint.ValueType  # 6
    AISEARCH_TYPE_AHEAD_RESULT_CHATLIST: _BotMetricsEntryPoint.ValueType  # 7
    AISEARCH_TYPE_AHEAD_RESULT_MESSAGES: _BotMetricsEntryPoint.ValueType  # 8
    AIVOICE_SEARCH_BAR: _BotMetricsEntryPoint.ValueType  # 9
    AIVOICE_FAVICON: _BotMetricsEntryPoint.ValueType  # 10
    AISTUDIO: _BotMetricsEntryPoint.ValueType  # 11
    DEEPLINK: _BotMetricsEntryPoint.ValueType  # 12
    NOTIFICATION: _BotMetricsEntryPoint.ValueType  # 13
    PROFILE_MESSAGE_BUTTON: _BotMetricsEntryPoint.ValueType  # 14
    FORWARD: _BotMetricsEntryPoint.ValueType  # 15
    APP_SHORTCUT: _BotMetricsEntryPoint.ValueType  # 16
    FF_FAMILY: _BotMetricsEntryPoint.ValueType  # 17
    AI_TAB: _BotMetricsEntryPoint.ValueType  # 18
    AI_HOME: _BotMetricsEntryPoint.ValueType  # 19
    AI_DEEPLINK_IMMERSIVE: _BotMetricsEntryPoint.ValueType  # 20
    AI_DEEPLINK: _BotMetricsEntryPoint.ValueType  # 21
    META_AI_CHAT_SHORTCUT_AI_STUDIO: _BotMetricsEntryPoint.ValueType  # 22
    UGC_CHAT_SHORTCUT_AI_STUDIO: _BotMetricsEntryPoint.ValueType  # 23
    NEW_CHAT_AI_STUDIO: _BotMetricsEntryPoint.ValueType  # 24

class BotMetricsEntryPoint(_BotMetricsEntryPoint, metaclass=_BotMetricsEntryPointEnumTypeWrapper): ...

FAVICON: BotMetricsEntryPoint.ValueType  # 1
CHATLIST: BotMetricsEntryPoint.ValueType  # 2
AISEARCH_NULL_STATE_PAPER_PLANE: BotMetricsEntryPoint.ValueType  # 3
AISEARCH_NULL_STATE_SUGGESTION: BotMetricsEntryPoint.ValueType  # 4
AISEARCH_TYPE_AHEAD_SUGGESTION: BotMetricsEntryPoint.ValueType  # 5
AISEARCH_TYPE_AHEAD_PAPER_PLANE: BotMetricsEntryPoint.ValueType  # 6
AISEARCH_TYPE_AHEAD_RESULT_CHATLIST: BotMetricsEntryPoint.ValueType  # 7
AISEARCH_TYPE_AHEAD_RESULT_MESSAGES: BotMetricsEntryPoint.ValueType  # 8
AIVOICE_SEARCH_BAR: BotMetricsEntryPoint.ValueType  # 9
AIVOICE_FAVICON: BotMetricsEntryPoint.ValueType  # 10
AISTUDIO: BotMetricsEntryPoint.ValueType  # 11
DEEPLINK: BotMetricsEntryPoint.ValueType  # 12
NOTIFICATION: BotMetricsEntryPoint.ValueType  # 13
PROFILE_MESSAGE_BUTTON: BotMetricsEntryPoint.ValueType  # 14
FORWARD: BotMetricsEntryPoint.ValueType  # 15
APP_SHORTCUT: BotMetricsEntryPoint.ValueType  # 16
FF_FAMILY: BotMetricsEntryPoint.ValueType  # 17
AI_TAB: BotMetricsEntryPoint.ValueType  # 18
AI_HOME: BotMetricsEntryPoint.ValueType  # 19
AI_DEEPLINK_IMMERSIVE: BotMetricsEntryPoint.ValueType  # 20
AI_DEEPLINK: BotMetricsEntryPoint.ValueType  # 21
META_AI_CHAT_SHORTCUT_AI_STUDIO: BotMetricsEntryPoint.ValueType  # 22
UGC_CHAT_SHORTCUT_AI_STUDIO: BotMetricsEntryPoint.ValueType  # 23
NEW_CHAT_AI_STUDIO: BotMetricsEntryPoint.ValueType  # 24
global___BotMetricsEntryPoint = BotMetricsEntryPoint

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

class _BotMetricsThreadEntryPointEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotMetricsThreadEntryPoint.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    AI_TAB_THREAD: _BotMetricsThreadEntryPoint.ValueType  # 1
    AI_HOME_THREAD: _BotMetricsThreadEntryPoint.ValueType  # 2
    AI_DEEPLINK_IMMERSIVE_THREAD: _BotMetricsThreadEntryPoint.ValueType  # 3
    AI_DEEPLINK_THREAD: _BotMetricsThreadEntryPoint.ValueType  # 4

class BotMetricsThreadEntryPoint(_BotMetricsThreadEntryPoint, metaclass=_BotMetricsThreadEntryPointEnumTypeWrapper): ...

AI_TAB_THREAD: BotMetricsThreadEntryPoint.ValueType  # 1
AI_HOME_THREAD: BotMetricsThreadEntryPoint.ValueType  # 2
AI_DEEPLINK_IMMERSIVE_THREAD: BotMetricsThreadEntryPoint.ValueType  # 3
AI_DEEPLINK_THREAD: BotMetricsThreadEntryPoint.ValueType  # 4
global___BotMetricsThreadEntryPoint = BotMetricsThreadEntryPoint

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

class _BotSessionSourceEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_BotSessionSource.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    NONE: _BotSessionSource.ValueType  # 0
    NULL_STATE: _BotSessionSource.ValueType  # 1
    TYPEAHEAD: _BotSessionSource.ValueType  # 2
    USER_INPUT: _BotSessionSource.ValueType  # 3
    EMU_FLASH: _BotSessionSource.ValueType  # 4
    EMU_FLASH_FOLLOWUP: _BotSessionSource.ValueType  # 5
    VOICE: _BotSessionSource.ValueType  # 6

class BotSessionSource(_BotSessionSource, metaclass=_BotSessionSourceEnumTypeWrapper): ...

NONE: BotSessionSource.ValueType  # 0
NULL_STATE: BotSessionSource.ValueType  # 1
TYPEAHEAD: BotSessionSource.ValueType  # 2
USER_INPUT: BotSessionSource.ValueType  # 3
EMU_FLASH: BotSessionSource.ValueType  # 4
EMU_FLASH_FOLLOWUP: BotSessionSource.ValueType  # 5
VOICE: BotSessionSource.ValueType  # 6
global___BotSessionSource = BotSessionSource

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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = PinInChatMessage

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

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

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

    class PollType(_PollType, metaclass=_PollTypeEnumTypeWrapper): ...
    POLL: PollCreationMessage.PollType.ValueType  # 0
    QUIZ: PollCreationMessage.PollType.ValueType  # 1

    @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___PollCreationMessage.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___PollCreationMessage.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 = PollCreationMessage

@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 = 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 = 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 = 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 = 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 = InteractiveResponseMessage

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

    @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 CarouselMessage(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        CARDS_FIELD_NUMBER: builtins.int
        MESSAGEVERSION_FIELD_NUMBER: builtins.int
        messageVersion: builtins.int
        @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 = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["messageVersion", b"messageVersion"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["cards", b"cards", "messageVersion", b"messageVersion"]) -> 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

        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 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 = 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 = 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 = 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 = OrderMessage

@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 = 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 = 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 _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 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 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 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
            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: ...
            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 = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["URL", b"URL", "description", b"description", "hqThumbnail", b"hqThumbnail", "matchText", b"matchText", "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", "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
        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: ...
        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 = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["companionMetaNonceFetchRequestResponse", b"companionMetaNonceFetchRequestResponse", "fullHistorySyncOnDemandRequestResponse", b"fullHistorySyncOnDemandRequestResponse", "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["companionMetaNonceFetchRequestResponse", b"companionMetaNonceFetchRequestResponse", "fullHistorySyncOnDemandRequestResponse", b"fullHistorySyncOnDemandRequestResponse", "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 = PeerDataOperationRequestResponseMessage

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

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

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

    class HistorySyncType(_HistorySyncType, metaclass=_HistorySyncTypeEnumTypeWrapper): ...
    INITIAL_BOOTSTRAP: HistorySyncNotification.HistorySyncType.ValueType  # 0
    INITIAL_STATUS_V3: HistorySyncNotification.HistorySyncType.ValueType  # 1
    FULL: HistorySyncNotification.HistorySyncType.ValueType  # 2
    RECENT: HistorySyncNotification.HistorySyncType.ValueType  # 3
    PUSH_NAME: HistorySyncNotification.HistorySyncType.ValueType  # 4
    NON_BLOCKING_DATA: HistorySyncNotification.HistorySyncType.ValueType  # 5
    ON_DEMAND: HistorySyncNotification.HistorySyncType.ValueType  # 6
    NO_HISTORY: HistorySyncNotification.HistorySyncType.ValueType  # 7

    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
    fileSHA256: builtins.bytes
    fileLength: builtins.int
    mediaKey: builtins.bytes
    fileEncSHA256: builtins.bytes
    directPath: builtins.str
    syncType: global___HistorySyncNotification.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: ...
    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___HistorySyncNotification.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 = ...,
    ) -> 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", "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", "oldestMsgInChunkTimestampSec", b"oldestMsgInChunkTimestampSec", "originalMessageID", b"originalMessageID", "peerDataRequestSessionID", b"peerDataRequestSessionID", "progress", b"progress", "syncType", b"syncType"]) -> None: ...

global___HistorySyncNotification = HistorySyncNotification

@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 = 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) -> global___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: global___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 = 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
    status: global___CloudAPIThreadControlNotification.CloudAPIThreadControl.ValueType
    senderNotificationTimestampMS: builtins.int
    consumerLid: builtins.str
    consumerPhoneNumber: builtins.str
    @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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["consumerLid", b"consumerLid", "consumerPhoneNumber", b"consumerPhoneNumber", "notificationContent", b"notificationContent", "senderNotificationTimestampMS", b"senderNotificationTimestampMS", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["consumerLid", b"consumerLid", "consumerPhoneNumber", b"consumerPhoneNumber", "notificationContent", b"notificationContent", "senderNotificationTimestampMS", b"senderNotificationTimestampMS", "status", b"status"]) -> None: ...

global___CloudAPIThreadControlNotification = CloudAPIThreadControlNotification

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

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

    class _ReportKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._ReportKind.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        GENERIC: BotFeedbackMessage._ReportKind.ValueType  # 0

    class ReportKind(_ReportKind, metaclass=_ReportKindEnumTypeWrapper): ...
    GENERIC: BotFeedbackMessage.ReportKind.ValueType  # 0

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

    class _BotFeedbackKindMultiplePositiveEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKindMultiplePositive.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC: BotFeedbackMessage._BotFeedbackKindMultiplePositive.ValueType  # 1

    class BotFeedbackKindMultiplePositive(_BotFeedbackKindMultiplePositive, metaclass=_BotFeedbackKindMultiplePositiveEnumTypeWrapper): ...
    BOT_FEEDBACK_MULTIPLE_POSITIVE_GENERIC: BotFeedbackMessage.BotFeedbackKindMultiplePositive.ValueType  # 1

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

    class _BotFeedbackKindMultipleNegativeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 1
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 2
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 4
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 8
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 16
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 32
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 64
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 128
        BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage._BotFeedbackKindMultipleNegative.ValueType  # 256

    class BotFeedbackKindMultipleNegative(_BotFeedbackKindMultipleNegative, metaclass=_BotFeedbackKindMultipleNegativeEnumTypeWrapper): ...
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_GENERIC: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 1
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_HELPFUL: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 2
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_INTERESTING: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 4
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_ACCURATE: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 8
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_SAFE: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 16
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_OTHER: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 32
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_REFUSED: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 64
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 128
    BOT_FEEDBACK_MULTIPLE_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage.BotFeedbackKindMultipleNegative.ValueType  # 256

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

    class _BotFeedbackKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotFeedbackMessage._BotFeedbackKind.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        BOT_FEEDBACK_POSITIVE: BotFeedbackMessage._BotFeedbackKind.ValueType  # 0
        BOT_FEEDBACK_NEGATIVE_GENERIC: BotFeedbackMessage._BotFeedbackKind.ValueType  # 1
        BOT_FEEDBACK_NEGATIVE_HELPFUL: BotFeedbackMessage._BotFeedbackKind.ValueType  # 2
        BOT_FEEDBACK_NEGATIVE_INTERESTING: BotFeedbackMessage._BotFeedbackKind.ValueType  # 3
        BOT_FEEDBACK_NEGATIVE_ACCURATE: BotFeedbackMessage._BotFeedbackKind.ValueType  # 4
        BOT_FEEDBACK_NEGATIVE_SAFE: BotFeedbackMessage._BotFeedbackKind.ValueType  # 5
        BOT_FEEDBACK_NEGATIVE_OTHER: BotFeedbackMessage._BotFeedbackKind.ValueType  # 6
        BOT_FEEDBACK_NEGATIVE_REFUSED: BotFeedbackMessage._BotFeedbackKind.ValueType  # 7
        BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage._BotFeedbackKind.ValueType  # 8
        BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage._BotFeedbackKind.ValueType  # 9
        BOT_FEEDBACK_NEGATIVE_PERSONALIZED: BotFeedbackMessage._BotFeedbackKind.ValueType  # 10
        BOT_FEEDBACK_NEGATIVE_CLARITY: BotFeedbackMessage._BotFeedbackKind.ValueType  # 11
        BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON: BotFeedbackMessage._BotFeedbackKind.ValueType  # 12

    class BotFeedbackKind(_BotFeedbackKind, metaclass=_BotFeedbackKindEnumTypeWrapper): ...
    BOT_FEEDBACK_POSITIVE: BotFeedbackMessage.BotFeedbackKind.ValueType  # 0
    BOT_FEEDBACK_NEGATIVE_GENERIC: BotFeedbackMessage.BotFeedbackKind.ValueType  # 1
    BOT_FEEDBACK_NEGATIVE_HELPFUL: BotFeedbackMessage.BotFeedbackKind.ValueType  # 2
    BOT_FEEDBACK_NEGATIVE_INTERESTING: BotFeedbackMessage.BotFeedbackKind.ValueType  # 3
    BOT_FEEDBACK_NEGATIVE_ACCURATE: BotFeedbackMessage.BotFeedbackKind.ValueType  # 4
    BOT_FEEDBACK_NEGATIVE_SAFE: BotFeedbackMessage.BotFeedbackKind.ValueType  # 5
    BOT_FEEDBACK_NEGATIVE_OTHER: BotFeedbackMessage.BotFeedbackKind.ValueType  # 6
    BOT_FEEDBACK_NEGATIVE_REFUSED: BotFeedbackMessage.BotFeedbackKind.ValueType  # 7
    BOT_FEEDBACK_NEGATIVE_NOT_VISUALLY_APPEALING: BotFeedbackMessage.BotFeedbackKind.ValueType  # 8
    BOT_FEEDBACK_NEGATIVE_NOT_RELEVANT_TO_TEXT: BotFeedbackMessage.BotFeedbackKind.ValueType  # 9
    BOT_FEEDBACK_NEGATIVE_PERSONALIZED: BotFeedbackMessage.BotFeedbackKind.ValueType  # 10
    BOT_FEEDBACK_NEGATIVE_CLARITY: BotFeedbackMessage.BotFeedbackKind.ValueType  # 11
    BOT_FEEDBACK_NEGATIVE_DOESNT_LOOK_LIKE_THE_PERSON: BotFeedbackMessage.BotFeedbackKind.ValueType  # 12

    MESSAGEKEY_FIELD_NUMBER: builtins.int
    KIND_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    KINDNEGATIVE_FIELD_NUMBER: builtins.int
    KINDPOSITIVE_FIELD_NUMBER: builtins.int
    KINDREPORT_FIELD_NUMBER: builtins.int
    kind: global___BotFeedbackMessage.BotFeedbackKind.ValueType
    text: builtins.str
    kindNegative: builtins.int
    kindPositive: builtins.int
    kindReport: global___BotFeedbackMessage.ReportKind.ValueType
    @property
    def messageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        messageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        kind: global___BotFeedbackMessage.BotFeedbackKind.ValueType | None = ...,
        text: builtins.str | None = ...,
        kindNegative: builtins.int | None = ...,
        kindPositive: builtins.int | None = ...,
        kindReport: global___BotFeedbackMessage.ReportKind.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["kind", b"kind", "kindNegative", b"kindNegative", "kindPositive", b"kindPositive", "kindReport", b"kindReport", "messageKey", b"messageKey", "text", b"text"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["kind", b"kind", "kindNegative", b"kindNegative", "kindPositive", b"kindPositive", "kindReport", b"kindReport", "messageKey", b"messageKey", "text", b"text"]) -> None: ...

global___BotFeedbackMessage = BotFeedbackMessage

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

    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

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

    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
    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
    @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 = ...,
    ) -> 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", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "seconds", b"seconds", "staticURL", b"staticURL", "streamingSidecar", b"streamingSidecar", "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", "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", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "processedVideos", b"processedVideos", "seconds", b"seconds", "staticURL", b"staticURL", "streamingSidecar", b"streamingSidecar", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailSHA256", b"thumbnailSHA256", "viewOnce", b"viewOnce", "width", b"width"]) -> None: ...

global___VideoMessage = 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
    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
    @property
    def contextInfo(self) -> global___ContextInfo: ...
    @property
    def faviconMMSMetadata(self) -> global___MMSThumbnailMetadata: ...
    @property
    def linkPreviewMetadata(self) -> global___LinkPreviewMetadata: ...
    @property
    def paymentLinkMetadata(self) -> global___PaymentLinkMetadata: ...
    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 = ...,
    ) -> 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", "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", "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", "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", "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", "videoHeight", b"videoHeight", "videoWidth", b"videoWidth", "viewOnce", b"viewOnce"]) -> None: ...

global___ExtendedTextMessage = ExtendedTextMessage

@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 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
    @property
    def button(self) -> global___PaymentLinkMetadata.PaymentLinkButton: ...
    @property
    def header(self) -> global___PaymentLinkMetadata.PaymentLinkHeader: ...
    def __init__(
        self,
        *,
        button: global___PaymentLinkMetadata.PaymentLinkButton | None = ...,
        header: global___PaymentLinkMetadata.PaymentLinkHeader | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["button", b"button", "header", b"header"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["button", b"button", "header", b"header"]) -> None: ...

global___PaymentLinkMetadata = 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

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

    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 = 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 = 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
    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
    @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 = ...,
    ) -> 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", "mediaKeyTimestamp", b"mediaKeyTimestamp", "midQualityFileEncSHA256", b"midQualityFileEncSHA256", "midQualityFileSHA256", b"midQualityFileSHA256", "mimetype", b"mimetype", "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", "mediaKeyTimestamp", b"mediaKeyTimestamp", "midQualityFileEncSHA256", b"midQualityFileEncSHA256", "midQualityFileSHA256", b"midQualityFileSHA256", "mimetype", b"mimetype", "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 = ImageMessage

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

    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

    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

    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

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

    @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
        newsletterJID: builtins.str
        serverMessageID: builtins.int
        newsletterName: builtins.str
        contentType: global___ContextInfo.ForwardedNewsletterMessageInfo.ContentType.ValueType
        accessibilityText: 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 = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["accessibilityText", b"accessibilityText", "contentType", b"contentType", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName", "serverMessageID", b"serverMessageID"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["accessibilityText", b"accessibilityText", "contentType", b"contentType", "newsletterJID", b"newsletterJID", "newsletterName", b"newsletterName", "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
        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
        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 = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["adContextPreviewDismissed", b"adContextPreviewDismissed", "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"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["adContextPreviewDismissed", b"adContextPreviewDismissed", "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"]) -> 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
        cannotBeReactedTo: builtins.bool
        cannotBeRanked: builtins.bool
        canRequestFeedback: builtins.bool
        canBeReshared: builtins.bool
        def __init__(
            self,
            *,
            cannotBeReactedTo: builtins.bool | None = ...,
            cannotBeRanked: builtins.bool | None = ...,
            canRequestFeedback: builtins.bool | None = ...,
            canBeReshared: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["canBeReshared", b"canBeReshared", "canRequestFeedback", b"canRequestFeedback", "cannotBeRanked", b"cannotBeRanked", "cannotBeReactedTo", b"cannotBeReactedTo"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["canBeReshared", b"canBeReshared", "canRequestFeedback", b"canRequestFeedback", "cannotBeRanked", b"cannotBeRanked", "cannotBeReactedTo", b"cannotBeReactedTo"]) -> None: ...

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

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

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

        BOTNAME_FIELD_NUMBER: builtins.int
        BOTJID_FIELD_NUMBER: builtins.int
        CREATORNAME_FIELD_NUMBER: builtins.int
        botName: builtins.str
        botJID: builtins.str
        creatorName: builtins.str
        def __init__(
            self,
            *,
            botName: builtins.str | None = ...,
            botJID: builtins.str | None = ...,
            creatorName: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["botJID", b"botJID", "botName", b"botName", "creatorName", b"creatorName"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["botJID", b"botJID", "botName", b"botName", "creatorName", b"creatorName"]) -> 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
    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
    @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) -> global___ContextInfo.ForwardedAIBotMessageInfo: ...
    @property
    def urlTrackingMap(self) -> global___UrlTrackingMap: ...
    @property
    def memberLabel(self) -> global___MemberLabel: ...
    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: global___ContextInfo.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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["actionLink", b"actionLink", "alwaysShowAdAttribution", b"alwaysShowAdAttribution", "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", "forwardedAiBotMessageInfo", b"forwardedAiBotMessageInfo", "forwardedNewsletterMessageInfo", b"forwardedNewsletterMessageInfo", "forwardingScore", b"forwardingScore", "groupSubject", b"groupSubject", "isForwarded", b"isForwarded", "isQuestion", b"isQuestion", "isSampled", b"isSampled", "memberLabel", b"memberLabel", "pairedMediaType", b"pairedMediaType", "parentGroupJID", b"parentGroupJID", "participant", b"participant", "placeholderKey", b"placeholderKey", "quotedAd", b"quotedAd", "quotedMessage", b"quotedMessage", "rankingVersion", b"rankingVersion", "remoteJID", b"remoteJID", "smbClientCampaignID", b"smbClientCampaignID", "smbServerCampaignID", b"smbServerCampaignID", "stanzaID", b"stanzaID", "statusAttributionType", b"statusAttributionType", "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", "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", "forwardedAiBotMessageInfo", b"forwardedAiBotMessageInfo", "forwardedNewsletterMessageInfo", b"forwardedNewsletterMessageInfo", "forwardingScore", b"forwardingScore", "groupMentions", b"groupMentions", "groupSubject", b"groupSubject", "isForwarded", b"isForwarded", "isQuestion", b"isQuestion", "isSampled", b"isSampled", "memberLabel", b"memberLabel", "mentionedJID", b"mentionedJID", "pairedMediaType", b"pairedMediaType", "parentGroupJID", b"parentGroupJID", "participant", b"participant", "placeholderKey", b"placeholderKey", "quotedAd", b"quotedAd", "quotedMessage", b"quotedMessage", "rankingVersion", b"rankingVersion", "remoteJID", b"remoteJID", "smbClientCampaignID", b"smbClientCampaignID", "smbServerCampaignID", b"smbServerCampaignID", "stanzaID", b"stanzaID", "statusAttributionType", b"statusAttributionType", "statusSourceType", b"statusSourceType", "trustBannerAction", b"trustBannerAction", "trustBannerType", b"trustBannerType", "urlTrackingMap", b"urlTrackingMap", "utm", b"utm"]) -> None: ...

global___ContextInfo = ContextInfo

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

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

    class _PluginTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._PluginType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN_PLUGIN: BotPluginMetadata._PluginType.ValueType  # 0
        REELS: BotPluginMetadata._PluginType.ValueType  # 1
        SEARCH: BotPluginMetadata._PluginType.ValueType  # 2

    class PluginType(_PluginType, metaclass=_PluginTypeEnumTypeWrapper): ...
    UNKNOWN_PLUGIN: BotPluginMetadata.PluginType.ValueType  # 0
    REELS: BotPluginMetadata.PluginType.ValueType  # 1
    SEARCH: BotPluginMetadata.PluginType.ValueType  # 2

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

    class _SearchProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPluginMetadata._SearchProvider.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: BotPluginMetadata._SearchProvider.ValueType  # 0
        BING: BotPluginMetadata._SearchProvider.ValueType  # 1
        GOOGLE: BotPluginMetadata._SearchProvider.ValueType  # 2
        SUPPORT: BotPluginMetadata._SearchProvider.ValueType  # 3

    class SearchProvider(_SearchProvider, metaclass=_SearchProviderEnumTypeWrapper): ...
    UNKNOWN: BotPluginMetadata.SearchProvider.ValueType  # 0
    BING: BotPluginMetadata.SearchProvider.ValueType  # 1
    GOOGLE: BotPluginMetadata.SearchProvider.ValueType  # 2
    SUPPORT: BotPluginMetadata.SearchProvider.ValueType  # 3

    PROVIDER_FIELD_NUMBER: builtins.int
    PLUGINTYPE_FIELD_NUMBER: builtins.int
    THUMBNAILCDNURL_FIELD_NUMBER: builtins.int
    PROFILEPHOTOCDNURL_FIELD_NUMBER: builtins.int
    SEARCHPROVIDERURL_FIELD_NUMBER: builtins.int
    REFERENCEINDEX_FIELD_NUMBER: builtins.int
    EXPECTEDLINKSCOUNT_FIELD_NUMBER: builtins.int
    SEARCHQUERY_FIELD_NUMBER: builtins.int
    PARENTPLUGINMESSAGEKEY_FIELD_NUMBER: builtins.int
    DEPRECATEDFIELD_FIELD_NUMBER: builtins.int
    PARENTPLUGINTYPE_FIELD_NUMBER: builtins.int
    FAVICONCDNURL_FIELD_NUMBER: builtins.int
    provider: global___BotPluginMetadata.SearchProvider.ValueType
    pluginType: global___BotPluginMetadata.PluginType.ValueType
    thumbnailCDNURL: builtins.str
    profilePhotoCDNURL: builtins.str
    searchProviderURL: builtins.str
    referenceIndex: builtins.int
    expectedLinksCount: builtins.int
    searchQuery: builtins.str
    deprecatedField: global___BotPluginMetadata.PluginType.ValueType
    parentPluginType: global___BotPluginMetadata.PluginType.ValueType
    faviconCDNURL: builtins.str
    @property
    def parentPluginMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        provider: global___BotPluginMetadata.SearchProvider.ValueType | None = ...,
        pluginType: global___BotPluginMetadata.PluginType.ValueType | None = ...,
        thumbnailCDNURL: builtins.str | None = ...,
        profilePhotoCDNURL: builtins.str | None = ...,
        searchProviderURL: builtins.str | None = ...,
        referenceIndex: builtins.int | None = ...,
        expectedLinksCount: builtins.int | None = ...,
        searchQuery: builtins.str | None = ...,
        parentPluginMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        deprecatedField: global___BotPluginMetadata.PluginType.ValueType | None = ...,
        parentPluginType: global___BotPluginMetadata.PluginType.ValueType | None = ...,
        faviconCDNURL: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["deprecatedField", b"deprecatedField", "expectedLinksCount", b"expectedLinksCount", "faviconCDNURL", b"faviconCDNURL", "parentPluginMessageKey", b"parentPluginMessageKey", "parentPluginType", b"parentPluginType", "pluginType", b"pluginType", "profilePhotoCDNURL", b"profilePhotoCDNURL", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderURL", b"searchProviderURL", "searchQuery", b"searchQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["deprecatedField", b"deprecatedField", "expectedLinksCount", b"expectedLinksCount", "faviconCDNURL", b"faviconCDNURL", "parentPluginMessageKey", b"parentPluginMessageKey", "parentPluginType", b"parentPluginType", "pluginType", b"pluginType", "profilePhotoCDNURL", b"profilePhotoCDNURL", "provider", b"provider", "referenceIndex", b"referenceIndex", "searchProviderURL", b"searchProviderURL", "searchQuery", b"searchQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> None: ...

global___BotPluginMetadata = BotPluginMetadata

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

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

    class _BotLinkedAccountTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotLinkedAccount._BotLinkedAccountType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        BOT_LINKED_ACCOUNT_TYPE_1P: BotLinkedAccount._BotLinkedAccountType.ValueType  # 0

    class BotLinkedAccountType(_BotLinkedAccountType, metaclass=_BotLinkedAccountTypeEnumTypeWrapper): ...
    BOT_LINKED_ACCOUNT_TYPE_1P: BotLinkedAccount.BotLinkedAccountType.ValueType  # 0

    TYPE_FIELD_NUMBER: builtins.int
    type: global___BotLinkedAccount.BotLinkedAccountType.ValueType
    def __init__(
        self,
        *,
        type: global___BotLinkedAccount.BotLinkedAccountType.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___BotLinkedAccount = BotLinkedAccount

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

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

    class _AIRichResponseSubMessageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseMessage._AIRichResponseSubMessageType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        AI_RICH_RESPONSE_UNKNOWN: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 0
        AI_RICH_RESPONSE_GRID_IMAGE: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 1
        AI_RICH_RESPONSE_TEXT: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 2
        AI_RICH_RESPONSE_INLINE_IMAGE: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 3
        AI_RICH_RESPONSE_TABLE: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 4
        AI_RICH_RESPONSE_CODE: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 5
        AI_RICH_RESPONSE_DYNAMIC: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 6
        AI_RICH_RESPONSE_MAP: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 7
        AI_RICH_RESPONSE_LATEX: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 8
        AI_RICH_RESPONSE_CONTENT_ITEMS: AIRichResponseMessage._AIRichResponseSubMessageType.ValueType  # 9

    class AIRichResponseSubMessageType(_AIRichResponseSubMessageType, metaclass=_AIRichResponseSubMessageTypeEnumTypeWrapper): ...
    AI_RICH_RESPONSE_UNKNOWN: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 0
    AI_RICH_RESPONSE_GRID_IMAGE: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 1
    AI_RICH_RESPONSE_TEXT: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 2
    AI_RICH_RESPONSE_INLINE_IMAGE: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 3
    AI_RICH_RESPONSE_TABLE: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 4
    AI_RICH_RESPONSE_CODE: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 5
    AI_RICH_RESPONSE_DYNAMIC: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 6
    AI_RICH_RESPONSE_MAP: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 7
    AI_RICH_RESPONSE_LATEX: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 8
    AI_RICH_RESPONSE_CONTENT_ITEMS: AIRichResponseMessage.AIRichResponseSubMessageType.ValueType  # 9

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

    class _AIRichResponseMessageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseMessage._AIRichResponseMessageType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        AI_RICH_RESPONSE_TYPE_UNKNOWN: AIRichResponseMessage._AIRichResponseMessageType.ValueType  # 0
        AI_RICH_RESPONSE_TYPE_STANDARD: AIRichResponseMessage._AIRichResponseMessageType.ValueType  # 1

    class AIRichResponseMessageType(_AIRichResponseMessageType, metaclass=_AIRichResponseMessageTypeEnumTypeWrapper): ...
    AI_RICH_RESPONSE_TYPE_UNKNOWN: AIRichResponseMessage.AIRichResponseMessageType.ValueType  # 0
    AI_RICH_RESPONSE_TYPE_STANDARD: AIRichResponseMessage.AIRichResponseMessageType.ValueType  # 1

    @typing.final
    class AIRichResponseContentItemsMetadata(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[AIRichResponseMessage.AIRichResponseContentItemsMetadata._ContentType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            DEFAULT: AIRichResponseMessage.AIRichResponseContentItemsMetadata._ContentType.ValueType  # 0
            CAROUSEL: AIRichResponseMessage.AIRichResponseContentItemsMetadata._ContentType.ValueType  # 1

        class ContentType(_ContentType, metaclass=_ContentTypeEnumTypeWrapper): ...
        DEFAULT: AIRichResponseMessage.AIRichResponseContentItemsMetadata.ContentType.ValueType  # 0
        CAROUSEL: AIRichResponseMessage.AIRichResponseContentItemsMetadata.ContentType.ValueType  # 1

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

            REELITEM_FIELD_NUMBER: builtins.int
            @property
            def reelItem(self) -> global___AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseReelItem: ...
            def __init__(
                self,
                *,
                reelItem: global___AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseReelItem | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem", "reelItem", b"reelItem"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem", "reelItem", b"reelItem"]) -> None: ...
            def WhichOneof(self, oneof_group: typing.Literal["aIRichResponseContentItem", b"aIRichResponseContentItem"]) -> typing.Literal["reelItem"] | None: ...

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

            TITLE_FIELD_NUMBER: builtins.int
            PROFILEICONURL_FIELD_NUMBER: builtins.int
            THUMBNAILURL_FIELD_NUMBER: builtins.int
            VIDEOURL_FIELD_NUMBER: builtins.int
            title: builtins.str
            profileIconURL: builtins.str
            thumbnailURL: builtins.str
            videoURL: builtins.str
            def __init__(
                self,
                *,
                title: builtins.str | None = ...,
                profileIconURL: builtins.str | None = ...,
                thumbnailURL: builtins.str | None = ...,
                videoURL: builtins.str | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["profileIconURL", b"profileIconURL", "thumbnailURL", b"thumbnailURL", "title", b"title", "videoURL", b"videoURL"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["profileIconURL", b"profileIconURL", "thumbnailURL", b"thumbnailURL", "title", b"title", "videoURL", b"videoURL"]) -> None: ...

        ITEMSMETADATA_FIELD_NUMBER: builtins.int
        CONTENTTYPE_FIELD_NUMBER: builtins.int
        contentType: global___AIRichResponseMessage.AIRichResponseContentItemsMetadata.ContentType.ValueType
        @property
        def itemsMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata]: ...
        def __init__(
            self,
            *,
            itemsMetadata: collections.abc.Iterable[global___AIRichResponseMessage.AIRichResponseContentItemsMetadata.AIRichResponseContentItemMetadata] | None = ...,
            contentType: global___AIRichResponseMessage.AIRichResponseContentItemsMetadata.ContentType.ValueType | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["contentType", b"contentType"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["contentType", b"contentType", "itemsMetadata", b"itemsMetadata"]) -> None: ...

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

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

        class _AIRichResponseDynamicMetadataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseMessage.AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN: AIRichResponseMessage.AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType  # 0
            AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE: AIRichResponseMessage.AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType  # 1
            AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF: AIRichResponseMessage.AIRichResponseDynamicMetadata._AIRichResponseDynamicMetadataType.ValueType  # 2

        class AIRichResponseDynamicMetadataType(_AIRichResponseDynamicMetadataType, metaclass=_AIRichResponseDynamicMetadataTypeEnumTypeWrapper): ...
        AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_UNKNOWN: AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType  # 0
        AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_IMAGE: AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType  # 1
        AI_RICH_RESPONSE_DYNAMIC_METADATA_TYPE_GIF: AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType  # 2

        TYPE_FIELD_NUMBER: builtins.int
        VERSION_FIELD_NUMBER: builtins.int
        URL_FIELD_NUMBER: builtins.int
        LOOPCOUNT_FIELD_NUMBER: builtins.int
        type: global___AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType
        version: builtins.int
        URL: builtins.str
        loopCount: builtins.int
        def __init__(
            self,
            *,
            type: global___AIRichResponseMessage.AIRichResponseDynamicMetadata.AIRichResponseDynamicMetadataType.ValueType | None = ...,
            version: builtins.int | None = ...,
            URL: builtins.str | None = ...,
            loopCount: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["URL", b"URL", "loopCount", b"loopCount", "type", b"type", "version", b"version"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["URL", b"URL", "loopCount", b"loopCount", "type", b"type", "version", b"version"]) -> None: ...

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

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

        class _AIRichResponseCodeHighlightTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseMessage.AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT: AIRichResponseMessage.AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 0
            AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD: AIRichResponseMessage.AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 1
            AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD: AIRichResponseMessage.AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 2
            AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING: AIRichResponseMessage.AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 3
            AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER: AIRichResponseMessage.AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 4
            AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT: AIRichResponseMessage.AIRichResponseCodeMetadata._AIRichResponseCodeHighlightType.ValueType  # 5

        class AIRichResponseCodeHighlightType(_AIRichResponseCodeHighlightType, metaclass=_AIRichResponseCodeHighlightTypeEnumTypeWrapper): ...
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_DEFAULT: AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 0
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_KEYWORD: AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 1
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_METHOD: AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 2
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_STRING: AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 3
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_NUMBER: AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 4
        AI_RICH_RESPONSE_CODE_HIGHLIGHT_COMMENT: AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType  # 5

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

            HIGHLIGHTTYPE_FIELD_NUMBER: builtins.int
            CODECONTENT_FIELD_NUMBER: builtins.int
            highlightType: global___AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType
            codeContent: builtins.str
            def __init__(
                self,
                *,
                highlightType: global___AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeHighlightType.ValueType | None = ...,
                codeContent: builtins.str | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["codeContent", b"codeContent", "highlightType", b"highlightType"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["codeContent", b"codeContent", "highlightType", b"highlightType"]) -> None: ...

        CODELANGUAGE_FIELD_NUMBER: builtins.int
        CODEBLOCKS_FIELD_NUMBER: builtins.int
        codeLanguage: builtins.str
        @property
        def codeBlocks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeBlock]: ...
        def __init__(
            self,
            *,
            codeLanguage: builtins.str | None = ...,
            codeBlocks: collections.abc.Iterable[global___AIRichResponseMessage.AIRichResponseCodeMetadata.AIRichResponseCodeBlock] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["codeLanguage", b"codeLanguage"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["codeBlocks", b"codeBlocks", "codeLanguage", b"codeLanguage"]) -> None: ...

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

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

        class _AIRichResponseImageAlignmentEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[AIRichResponseMessage.AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED: AIRichResponseMessage.AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType  # 0
            AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED: AIRichResponseMessage.AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType  # 1
            AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED: AIRichResponseMessage.AIRichResponseInlineImageMetadata._AIRichResponseImageAlignment.ValueType  # 2

        class AIRichResponseImageAlignment(_AIRichResponseImageAlignment, metaclass=_AIRichResponseImageAlignmentEnumTypeWrapper): ...
        AI_RICH_RESPONSE_IMAGE_LAYOUT_LEADING_ALIGNED: AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType  # 0
        AI_RICH_RESPONSE_IMAGE_LAYOUT_TRAILING_ALIGNED: AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType  # 1
        AI_RICH_RESPONSE_IMAGE_LAYOUT_CENTER_ALIGNED: AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType  # 2

        IMAGEURL_FIELD_NUMBER: builtins.int
        IMAGETEXT_FIELD_NUMBER: builtins.int
        ALIGNMENT_FIELD_NUMBER: builtins.int
        TAPLINKURL_FIELD_NUMBER: builtins.int
        imageText: builtins.str
        alignment: global___AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType
        tapLinkURL: builtins.str
        @property
        def imageURL(self) -> global___AIRichResponseMessage.AIRichResponseImageURL: ...
        def __init__(
            self,
            *,
            imageURL: global___AIRichResponseMessage.AIRichResponseImageURL | None = ...,
            imageText: builtins.str | None = ...,
            alignment: global___AIRichResponseMessage.AIRichResponseInlineImageMetadata.AIRichResponseImageAlignment.ValueType | None = ...,
            tapLinkURL: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["alignment", b"alignment", "imageText", b"imageText", "imageURL", b"imageURL", "tapLinkURL", b"tapLinkURL"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["alignment", b"alignment", "imageText", b"imageText", "imageURL", b"imageURL", "tapLinkURL", b"tapLinkURL"]) -> None: ...

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

        MESSAGETYPE_FIELD_NUMBER: builtins.int
        GRIDIMAGEMETADATA_FIELD_NUMBER: builtins.int
        MESSAGETEXT_FIELD_NUMBER: builtins.int
        IMAGEMETADATA_FIELD_NUMBER: builtins.int
        CODEMETADATA_FIELD_NUMBER: builtins.int
        TABLEMETADATA_FIELD_NUMBER: builtins.int
        DYNAMICMETADATA_FIELD_NUMBER: builtins.int
        LATEXMETADATA_FIELD_NUMBER: builtins.int
        MAPMETADATA_FIELD_NUMBER: builtins.int
        CONTENTITEMSMETADATA_FIELD_NUMBER: builtins.int
        messageType: global___AIRichResponseMessage.AIRichResponseSubMessageType.ValueType
        messageText: builtins.str
        @property
        def gridImageMetadata(self) -> global___AIRichResponseMessage.AIRichResponseGridImageMetadata: ...
        @property
        def imageMetadata(self) -> global___AIRichResponseMessage.AIRichResponseInlineImageMetadata: ...
        @property
        def codeMetadata(self) -> global___AIRichResponseMessage.AIRichResponseCodeMetadata: ...
        @property
        def tableMetadata(self) -> global___AIRichResponseMessage.AIRichResponseTableMetadata: ...
        @property
        def dynamicMetadata(self) -> global___AIRichResponseMessage.AIRichResponseDynamicMetadata: ...
        @property
        def latexMetadata(self) -> global___AIRichResponseMessage.AIRichResponseLatexMetadata: ...
        @property
        def mapMetadata(self) -> global___AIRichResponseMessage.AIRichResponseMapMetadata: ...
        @property
        def contentItemsMetadata(self) -> global___AIRichResponseMessage.AIRichResponseContentItemsMetadata: ...
        def __init__(
            self,
            *,
            messageType: global___AIRichResponseMessage.AIRichResponseSubMessageType.ValueType | None = ...,
            gridImageMetadata: global___AIRichResponseMessage.AIRichResponseGridImageMetadata | None = ...,
            messageText: builtins.str | None = ...,
            imageMetadata: global___AIRichResponseMessage.AIRichResponseInlineImageMetadata | None = ...,
            codeMetadata: global___AIRichResponseMessage.AIRichResponseCodeMetadata | None = ...,
            tableMetadata: global___AIRichResponseMessage.AIRichResponseTableMetadata | None = ...,
            dynamicMetadata: global___AIRichResponseMessage.AIRichResponseDynamicMetadata | None = ...,
            latexMetadata: global___AIRichResponseMessage.AIRichResponseLatexMetadata | None = ...,
            mapMetadata: global___AIRichResponseMessage.AIRichResponseMapMetadata | None = ...,
            contentItemsMetadata: global___AIRichResponseMessage.AIRichResponseContentItemsMetadata | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["codeMetadata", b"codeMetadata", "contentItemsMetadata", b"contentItemsMetadata", "dynamicMetadata", b"dynamicMetadata", "gridImageMetadata", b"gridImageMetadata", "imageMetadata", b"imageMetadata", "latexMetadata", b"latexMetadata", "mapMetadata", b"mapMetadata", "messageText", b"messageText", "messageType", b"messageType", "tableMetadata", b"tableMetadata"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["codeMetadata", b"codeMetadata", "contentItemsMetadata", b"contentItemsMetadata", "dynamicMetadata", b"dynamicMetadata", "gridImageMetadata", b"gridImageMetadata", "imageMetadata", b"imageMetadata", "latexMetadata", b"latexMetadata", "mapMetadata", b"mapMetadata", "messageText", b"messageText", "messageType", b"messageType", "tableMetadata", b"tableMetadata"]) -> None: ...

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

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

            ANNOTATIONNUMBER_FIELD_NUMBER: builtins.int
            LATITUDE_FIELD_NUMBER: builtins.int
            LONGITUDE_FIELD_NUMBER: builtins.int
            TITLE_FIELD_NUMBER: builtins.int
            BODY_FIELD_NUMBER: builtins.int
            annotationNumber: builtins.int
            latitude: builtins.float
            longitude: builtins.float
            title: builtins.str
            body: builtins.str
            def __init__(
                self,
                *,
                annotationNumber: builtins.int | None = ...,
                latitude: builtins.float | None = ...,
                longitude: builtins.float | None = ...,
                title: builtins.str | None = ...,
                body: builtins.str | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["annotationNumber", b"annotationNumber", "body", b"body", "latitude", b"latitude", "longitude", b"longitude", "title", b"title"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["annotationNumber", b"annotationNumber", "body", b"body", "latitude", b"latitude", "longitude", b"longitude", "title", b"title"]) -> None: ...

        CENTERLATITUDE_FIELD_NUMBER: builtins.int
        CENTERLONGITUDE_FIELD_NUMBER: builtins.int
        LATITUDEDELTA_FIELD_NUMBER: builtins.int
        LONGITUDEDELTA_FIELD_NUMBER: builtins.int
        ANNOTATIONS_FIELD_NUMBER: builtins.int
        SHOWINFOLIST_FIELD_NUMBER: builtins.int
        centerLatitude: builtins.float
        centerLongitude: builtins.float
        latitudeDelta: builtins.float
        longitudeDelta: builtins.float
        showInfoList: builtins.bool
        @property
        def annotations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseMessage.AIRichResponseMapMetadata.AIRichResponseMapAnnotation]: ...
        def __init__(
            self,
            *,
            centerLatitude: builtins.float | None = ...,
            centerLongitude: builtins.float | None = ...,
            latitudeDelta: builtins.float | None = ...,
            longitudeDelta: builtins.float | None = ...,
            annotations: collections.abc.Iterable[global___AIRichResponseMessage.AIRichResponseMapMetadata.AIRichResponseMapAnnotation] | None = ...,
            showInfoList: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["centerLatitude", b"centerLatitude", "centerLongitude", b"centerLongitude", "latitudeDelta", b"latitudeDelta", "longitudeDelta", b"longitudeDelta", "showInfoList", b"showInfoList"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["annotations", b"annotations", "centerLatitude", b"centerLatitude", "centerLongitude", b"centerLongitude", "latitudeDelta", b"latitudeDelta", "longitudeDelta", b"longitudeDelta", "showInfoList", b"showInfoList"]) -> None: ...

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

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

            LATEXEXPRESSION_FIELD_NUMBER: builtins.int
            URL_FIELD_NUMBER: builtins.int
            WIDTH_FIELD_NUMBER: builtins.int
            HEIGHT_FIELD_NUMBER: builtins.int
            FONTHEIGHT_FIELD_NUMBER: builtins.int
            IMAGETOPPADDING_FIELD_NUMBER: builtins.int
            IMAGELEADINGPADDING_FIELD_NUMBER: builtins.int
            IMAGEBOTTOMPADDING_FIELD_NUMBER: builtins.int
            IMAGETRAILINGPADDING_FIELD_NUMBER: builtins.int
            latexExpression: builtins.str
            URL: builtins.str
            width: builtins.float
            height: builtins.float
            fontHeight: builtins.float
            imageTopPadding: builtins.float
            imageLeadingPadding: builtins.float
            imageBottomPadding: builtins.float
            imageTrailingPadding: builtins.float
            def __init__(
                self,
                *,
                latexExpression: builtins.str | None = ...,
                URL: builtins.str | None = ...,
                width: builtins.float | None = ...,
                height: builtins.float | None = ...,
                fontHeight: builtins.float | None = ...,
                imageTopPadding: builtins.float | None = ...,
                imageLeadingPadding: builtins.float | None = ...,
                imageBottomPadding: builtins.float | None = ...,
                imageTrailingPadding: builtins.float | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["URL", b"URL", "fontHeight", b"fontHeight", "height", b"height", "imageBottomPadding", b"imageBottomPadding", "imageLeadingPadding", b"imageLeadingPadding", "imageTopPadding", b"imageTopPadding", "imageTrailingPadding", b"imageTrailingPadding", "latexExpression", b"latexExpression", "width", b"width"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["URL", b"URL", "fontHeight", b"fontHeight", "height", b"height", "imageBottomPadding", b"imageBottomPadding", "imageLeadingPadding", b"imageLeadingPadding", "imageTopPadding", b"imageTopPadding", "imageTrailingPadding", b"imageTrailingPadding", "latexExpression", b"latexExpression", "width", b"width"]) -> None: ...

        TEXT_FIELD_NUMBER: builtins.int
        EXPRESSIONS_FIELD_NUMBER: builtins.int
        text: builtins.str
        @property
        def expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseMessage.AIRichResponseLatexMetadata.AIRichResponseLatexExpression]: ...
        def __init__(
            self,
            *,
            text: builtins.str | None = ...,
            expressions: collections.abc.Iterable[global___AIRichResponseMessage.AIRichResponseLatexMetadata.AIRichResponseLatexExpression] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["text", b"text"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["expressions", b"expressions", "text", b"text"]) -> None: ...

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

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

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

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

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

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

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

        GRIDIMAGEURL_FIELD_NUMBER: builtins.int
        IMAGEURLS_FIELD_NUMBER: builtins.int
        @property
        def gridImageURL(self) -> global___AIRichResponseMessage.AIRichResponseImageURL: ...
        @property
        def imageURLs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AIRichResponseMessage.AIRichResponseImageURL]: ...
        def __init__(
            self,
            *,
            gridImageURL: global___AIRichResponseMessage.AIRichResponseImageURL | None = ...,
            imageURLs: collections.abc.Iterable[global___AIRichResponseMessage.AIRichResponseImageURL] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["gridImageURL", b"gridImageURL"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["gridImageURL", b"gridImageURL", "imageURLs", b"imageURLs"]) -> None: ...

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

        IMAGEPREVIEWURL_FIELD_NUMBER: builtins.int
        IMAGEHIGHRESURL_FIELD_NUMBER: builtins.int
        SOURCEURL_FIELD_NUMBER: builtins.int
        imagePreviewURL: builtins.str
        imageHighResURL: builtins.str
        sourceURL: builtins.str
        def __init__(
            self,
            *,
            imagePreviewURL: builtins.str | None = ...,
            imageHighResURL: builtins.str | None = ...,
            sourceURL: builtins.str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["imageHighResURL", b"imageHighResURL", "imagePreviewURL", b"imagePreviewURL", "sourceURL", b"sourceURL"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["imageHighResURL", b"imageHighResURL", "imagePreviewURL", b"imagePreviewURL", "sourceURL", b"sourceURL"]) -> None: ...

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

global___AIRichResponseMessage = AIRichResponseMessage

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

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

    class _BotPromotionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotPromotionMessageMetadata._BotPromotionType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN_TYPE: BotPromotionMessageMetadata._BotPromotionType.ValueType  # 0
        C50: BotPromotionMessageMetadata._BotPromotionType.ValueType  # 1

    class BotPromotionType(_BotPromotionType, metaclass=_BotPromotionTypeEnumTypeWrapper): ...
    UNKNOWN_TYPE: BotPromotionMessageMetadata.BotPromotionType.ValueType  # 0
    C50: BotPromotionMessageMetadata.BotPromotionType.ValueType  # 1

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

global___BotPromotionMessageMetadata = BotPromotionMessageMetadata

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

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

    class _OrientationTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotMediaMetadata._OrientationType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        CENTER: BotMediaMetadata._OrientationType.ValueType  # 1
        LEFT: BotMediaMetadata._OrientationType.ValueType  # 2
        RIGHT: BotMediaMetadata._OrientationType.ValueType  # 3

    class OrientationType(_OrientationType, metaclass=_OrientationTypeEnumTypeWrapper): ...
    CENTER: BotMediaMetadata.OrientationType.ValueType  # 1
    LEFT: BotMediaMetadata.OrientationType.ValueType  # 2
    RIGHT: BotMediaMetadata.OrientationType.ValueType  # 3

    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
    MIMETYPE_FIELD_NUMBER: builtins.int
    ORIENTATIONTYPE_FIELD_NUMBER: builtins.int
    fileSHA256: builtins.str
    mediaKey: builtins.str
    fileEncSHA256: builtins.str
    directPath: builtins.str
    mediaKeyTimestamp: builtins.int
    mimetype: builtins.str
    orientationType: global___BotMediaMetadata.OrientationType.ValueType
    def __init__(
        self,
        *,
        fileSHA256: builtins.str | None = ...,
        mediaKey: builtins.str | None = ...,
        fileEncSHA256: builtins.str | None = ...,
        directPath: builtins.str | None = ...,
        mediaKeyTimestamp: builtins.int | None = ...,
        mimetype: builtins.str | None = ...,
        orientationType: global___BotMediaMetadata.OrientationType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "orientationType", b"orientationType"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["directPath", b"directPath", "fileEncSHA256", b"fileEncSHA256", "fileSHA256", b"fileSHA256", "mediaKey", b"mediaKey", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "orientationType", b"orientationType"]) -> None: ...

global___BotMediaMetadata = BotMediaMetadata

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

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

    class _ReminderFrequencyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotReminderMetadata._ReminderFrequency.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        ONCE: BotReminderMetadata._ReminderFrequency.ValueType  # 1
        DAILY: BotReminderMetadata._ReminderFrequency.ValueType  # 2
        WEEKLY: BotReminderMetadata._ReminderFrequency.ValueType  # 3
        BIWEEKLY: BotReminderMetadata._ReminderFrequency.ValueType  # 4
        MONTHLY: BotReminderMetadata._ReminderFrequency.ValueType  # 5

    class ReminderFrequency(_ReminderFrequency, metaclass=_ReminderFrequencyEnumTypeWrapper): ...
    ONCE: BotReminderMetadata.ReminderFrequency.ValueType  # 1
    DAILY: BotReminderMetadata.ReminderFrequency.ValueType  # 2
    WEEKLY: BotReminderMetadata.ReminderFrequency.ValueType  # 3
    BIWEEKLY: BotReminderMetadata.ReminderFrequency.ValueType  # 4
    MONTHLY: BotReminderMetadata.ReminderFrequency.ValueType  # 5

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

    class _ReminderActionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotReminderMetadata._ReminderAction.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        NOTIFY: BotReminderMetadata._ReminderAction.ValueType  # 1
        CREATE: BotReminderMetadata._ReminderAction.ValueType  # 2
        DELETE: BotReminderMetadata._ReminderAction.ValueType  # 3
        UPDATE: BotReminderMetadata._ReminderAction.ValueType  # 4

    class ReminderAction(_ReminderAction, metaclass=_ReminderActionEnumTypeWrapper): ...
    NOTIFY: BotReminderMetadata.ReminderAction.ValueType  # 1
    CREATE: BotReminderMetadata.ReminderAction.ValueType  # 2
    DELETE: BotReminderMetadata.ReminderAction.ValueType  # 3
    UPDATE: BotReminderMetadata.ReminderAction.ValueType  # 4

    REQUESTMESSAGEKEY_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    NEXTTRIGGERTIMESTAMP_FIELD_NUMBER: builtins.int
    FREQUENCY_FIELD_NUMBER: builtins.int
    action: global___BotReminderMetadata.ReminderAction.ValueType
    name: builtins.str
    nextTriggerTimestamp: builtins.int
    frequency: global___BotReminderMetadata.ReminderFrequency.ValueType
    @property
    def requestMessageKey(self) -> waCommon.WACommon_pb2.MessageKey: ...
    def __init__(
        self,
        *,
        requestMessageKey: waCommon.WACommon_pb2.MessageKey | None = ...,
        action: global___BotReminderMetadata.ReminderAction.ValueType | None = ...,
        name: builtins.str | None = ...,
        nextTriggerTimestamp: builtins.int | None = ...,
        frequency: global___BotReminderMetadata.ReminderFrequency.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["action", b"action", "frequency", b"frequency", "name", b"name", "nextTriggerTimestamp", b"nextTriggerTimestamp", "requestMessageKey", b"requestMessageKey"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["action", b"action", "frequency", b"frequency", "name", b"name", "nextTriggerTimestamp", b"nextTriggerTimestamp", "requestMessageKey", b"requestMessageKey"]) -> None: ...

global___BotReminderMetadata = BotReminderMetadata

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

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

    class _PremiumModelStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModelMetadata._PremiumModelStatus.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN_STATUS: BotModelMetadata._PremiumModelStatus.ValueType  # 0
        AVAILABLE: BotModelMetadata._PremiumModelStatus.ValueType  # 1
        QUOTA_EXCEED_LIMIT: BotModelMetadata._PremiumModelStatus.ValueType  # 2

    class PremiumModelStatus(_PremiumModelStatus, metaclass=_PremiumModelStatusEnumTypeWrapper): ...
    UNKNOWN_STATUS: BotModelMetadata.PremiumModelStatus.ValueType  # 0
    AVAILABLE: BotModelMetadata.PremiumModelStatus.ValueType  # 1
    QUOTA_EXCEED_LIMIT: BotModelMetadata.PremiumModelStatus.ValueType  # 2

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

    class _ModelTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModelMetadata._ModelType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN_TYPE: BotModelMetadata._ModelType.ValueType  # 0
        LLAMA_PROD: BotModelMetadata._ModelType.ValueType  # 1
        LLAMA_PROD_PREMIUM: BotModelMetadata._ModelType.ValueType  # 2

    class ModelType(_ModelType, metaclass=_ModelTypeEnumTypeWrapper): ...
    UNKNOWN_TYPE: BotModelMetadata.ModelType.ValueType  # 0
    LLAMA_PROD: BotModelMetadata.ModelType.ValueType  # 1
    LLAMA_PROD_PREMIUM: BotModelMetadata.ModelType.ValueType  # 2

    MODELTYPE_FIELD_NUMBER: builtins.int
    PREMIUMMODELSTATUS_FIELD_NUMBER: builtins.int
    modelType: global___BotModelMetadata.ModelType.ValueType
    premiumModelStatus: global___BotModelMetadata.PremiumModelStatus.ValueType
    def __init__(
        self,
        *,
        modelType: global___BotModelMetadata.ModelType.ValueType | None = ...,
        premiumModelStatus: global___BotModelMetadata.PremiumModelStatus.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["modelType", b"modelType", "premiumModelStatus", b"premiumModelStatus"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["modelType", b"modelType", "premiumModelStatus", b"premiumModelStatus"]) -> None: ...

global___BotModelMetadata = BotModelMetadata

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

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

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

        class _BotSearchSourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNKNOWN_PROVIDER: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType  # 0
            OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType  # 1
            GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType  # 2
            BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata._BotSearchSourceProvider.ValueType  # 3

        class BotSearchSourceProvider(_BotSearchSourceProvider, metaclass=_BotSearchSourceProviderEnumTypeWrapper): ...
        UNKNOWN_PROVIDER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType  # 0
        OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType  # 1
        GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType  # 2
        BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType  # 3

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

        class _PlanningStepStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType  # 0
            PLANNED: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType  # 1
            EXECUTING: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType  # 2
            FINISHED: BotProgressIndicatorMetadata.BotPlanningStepMetadata._PlanningStepStatus.ValueType  # 3

        class PlanningStepStatus(_PlanningStepStatus, metaclass=_PlanningStepStatusEnumTypeWrapper): ...
        UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType  # 0
        PLANNED: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType  # 1
        EXECUTING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType  # 2
        FINISHED: BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType  # 3

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

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

            class _BotPlanningSearchSourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType], builtins.type):
                DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
                UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType  # 0
                OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType  # 1
                GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType  # 2
                BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata._BotPlanningSearchSourceProvider.ValueType  # 3

            class BotPlanningSearchSourceProvider(_BotPlanningSearchSourceProvider, metaclass=_BotPlanningSearchSourceProviderEnumTypeWrapper): ...
            UNKNOWN: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType  # 0
            OTHER: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType  # 1
            GOOGLE: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType  # 2
            BING: BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType  # 3

            SOURCETITLE_FIELD_NUMBER: builtins.int
            PROVIDER_FIELD_NUMBER: builtins.int
            SOURCEURL_FIELD_NUMBER: builtins.int
            sourceTitle: builtins.str
            provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType
            sourceURL: builtins.str
            def __init__(
                self,
                *,
                sourceTitle: builtins.str | None = ...,
                provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata.BotPlanningSearchSourceProvider.ValueType | None = ...,
                sourceURL: builtins.str | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["provider", b"provider", "sourceTitle", b"sourceTitle", "sourceURL", b"sourceURL"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["provider", b"provider", "sourceTitle", b"sourceTitle", "sourceURL", b"sourceURL"]) -> None: ...

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

            SECTIONTITLE_FIELD_NUMBER: builtins.int
            SECTIONBODY_FIELD_NUMBER: builtins.int
            SOURCESMETADATA_FIELD_NUMBER: builtins.int
            sectionTitle: builtins.str
            sectionBody: builtins.str
            @property
            def sourcesMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata]: ...
            def __init__(
                self,
                *,
                sectionTitle: builtins.str | None = ...,
                sectionBody: builtins.str | None = ...,
                sourcesMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourceMetadata] | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["sectionBody", b"sectionBody", "sectionTitle", b"sectionTitle"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["sectionBody", b"sectionBody", "sectionTitle", b"sectionTitle", "sourcesMetadata", b"sourcesMetadata"]) -> None: ...

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

            TITLE_FIELD_NUMBER: builtins.int
            PROVIDER_FIELD_NUMBER: builtins.int
            SOURCEURL_FIELD_NUMBER: builtins.int
            FAVICONURL_FIELD_NUMBER: builtins.int
            title: builtins.str
            provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType
            sourceURL: builtins.str
            favIconURL: builtins.str
            def __init__(
                self,
                *,
                title: builtins.str | None = ...,
                provider: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotSearchSourceProvider.ValueType | None = ...,
                sourceURL: builtins.str | None = ...,
                favIconURL: builtins.str | None = ...,
            ) -> None: ...
            def HasField(self, field_name: typing.Literal["favIconURL", b"favIconURL", "provider", b"provider", "sourceURL", b"sourceURL", "title", b"title"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing.Literal["favIconURL", b"favIconURL", "provider", b"provider", "sourceURL", b"sourceURL", "title", b"title"]) -> None: ...

        STATUSTITLE_FIELD_NUMBER: builtins.int
        STATUSBODY_FIELD_NUMBER: builtins.int
        SOURCESMETADATA_FIELD_NUMBER: builtins.int
        STATUS_FIELD_NUMBER: builtins.int
        ISREASONING_FIELD_NUMBER: builtins.int
        ISENHANCEDSEARCH_FIELD_NUMBER: builtins.int
        SECTIONS_FIELD_NUMBER: builtins.int
        statusTitle: builtins.str
        statusBody: builtins.str
        status: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType
        isReasoning: builtins.bool
        isEnhancedSearch: builtins.bool
        @property
        def sourcesMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata]: ...
        @property
        def sections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata]: ...
        def __init__(
            self,
            *,
            statusTitle: builtins.str | None = ...,
            statusBody: builtins.str | None = ...,
            sourcesMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningSearchSourcesMetadata] | None = ...,
            status: global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.PlanningStepStatus.ValueType | None = ...,
            isReasoning: builtins.bool | None = ...,
            isEnhancedSearch: builtins.bool | None = ...,
            sections: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata.BotPlanningStepSectionMetadata] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["isEnhancedSearch", b"isEnhancedSearch", "isReasoning", b"isReasoning", "status", b"status", "statusBody", b"statusBody", "statusTitle", b"statusTitle"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["isEnhancedSearch", b"isEnhancedSearch", "isReasoning", b"isReasoning", "sections", b"sections", "sourcesMetadata", b"sourcesMetadata", "status", b"status", "statusBody", b"statusBody", "statusTitle", b"statusTitle"]) -> None: ...

    PROGRESSDESCRIPTION_FIELD_NUMBER: builtins.int
    STEPSMETADATA_FIELD_NUMBER: builtins.int
    progressDescription: builtins.str
    @property
    def stepsMetadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata]: ...
    def __init__(
        self,
        *,
        progressDescription: builtins.str | None = ...,
        stepsMetadata: collections.abc.Iterable[global___BotProgressIndicatorMetadata.BotPlanningStepMetadata] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["progressDescription", b"progressDescription"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["progressDescription", b"progressDescription", "stepsMetadata", b"stepsMetadata"]) -> None: ...

global___BotProgressIndicatorMetadata = BotProgressIndicatorMetadata

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

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

    class _BotCapabilityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotCapabilityMetadata._BotCapabilityType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: BotCapabilityMetadata._BotCapabilityType.ValueType  # 0
        PROGRESS_INDICATOR: BotCapabilityMetadata._BotCapabilityType.ValueType  # 1
        RICH_RESPONSE_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType  # 2
        RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata._BotCapabilityType.ValueType  # 3
        AI_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType  # 4
        RICH_RESPONSE_THREAD_SURFING: BotCapabilityMetadata._BotCapabilityType.ValueType  # 5
        RICH_RESPONSE_TABLE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 6
        RICH_RESPONSE_CODE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 7
        RICH_RESPONSE_STRUCTURED_RESPONSE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 8
        RICH_RESPONSE_INLINE_IMAGE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 9
        WA_IG_1P_PLUGIN_RANKING_CONTROL: BotCapabilityMetadata._BotCapabilityType.ValueType  # 10
        WA_IG_1P_PLUGIN_RANKING_UPDATE_1: BotCapabilityMetadata._BotCapabilityType.ValueType  # 11
        WA_IG_1P_PLUGIN_RANKING_UPDATE_2: BotCapabilityMetadata._BotCapabilityType.ValueType  # 12
        WA_IG_1P_PLUGIN_RANKING_UPDATE_3: BotCapabilityMetadata._BotCapabilityType.ValueType  # 13
        WA_IG_1P_PLUGIN_RANKING_UPDATE_4: BotCapabilityMetadata._BotCapabilityType.ValueType  # 14
        WA_IG_1P_PLUGIN_RANKING_UPDATE_5: BotCapabilityMetadata._BotCapabilityType.ValueType  # 15
        WA_IG_1P_PLUGIN_RANKING_UPDATE_6: BotCapabilityMetadata._BotCapabilityType.ValueType  # 16
        WA_IG_1P_PLUGIN_RANKING_UPDATE_7: BotCapabilityMetadata._BotCapabilityType.ValueType  # 17
        WA_IG_1P_PLUGIN_RANKING_UPDATE_8: BotCapabilityMetadata._BotCapabilityType.ValueType  # 18
        WA_IG_1P_PLUGIN_RANKING_UPDATE_9: BotCapabilityMetadata._BotCapabilityType.ValueType  # 19
        WA_IG_1P_PLUGIN_RANKING_UPDATE_10: BotCapabilityMetadata._BotCapabilityType.ValueType  # 20
        RICH_RESPONSE_SUB_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType  # 21
        RICH_RESPONSE_GRID_IMAGE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 22
        AI_STUDIO_UGC_MEMORY: BotCapabilityMetadata._BotCapabilityType.ValueType  # 23
        RICH_RESPONSE_LATEX: BotCapabilityMetadata._BotCapabilityType.ValueType  # 24
        RICH_RESPONSE_MAPS: BotCapabilityMetadata._BotCapabilityType.ValueType  # 25
        RICH_RESPONSE_INLINE_REELS: BotCapabilityMetadata._BotCapabilityType.ValueType  # 26
        AGENTIC_PLANNING: BotCapabilityMetadata._BotCapabilityType.ValueType  # 27
        ACCOUNT_LINKING: BotCapabilityMetadata._BotCapabilityType.ValueType  # 28
        STREAMING_DISAGGREGATION: BotCapabilityMetadata._BotCapabilityType.ValueType  # 29
        RICH_RESPONSE_GRID_IMAGE_3P: BotCapabilityMetadata._BotCapabilityType.ValueType  # 30
        RICH_RESPONSE_LATEX_INLINE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 31
        QUERY_PLAN: BotCapabilityMetadata._BotCapabilityType.ValueType  # 32
        PROACTIVE_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 33
        RICH_RESPONSE_UNIFIED_RESPONSE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 34
        PROMOTION_MESSAGE: BotCapabilityMetadata._BotCapabilityType.ValueType  # 35

    class BotCapabilityType(_BotCapabilityType, metaclass=_BotCapabilityTypeEnumTypeWrapper): ...
    UNKNOWN: BotCapabilityMetadata.BotCapabilityType.ValueType  # 0
    PROGRESS_INDICATOR: BotCapabilityMetadata.BotCapabilityType.ValueType  # 1
    RICH_RESPONSE_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType  # 2
    RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata.BotCapabilityType.ValueType  # 3
    AI_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType  # 4
    RICH_RESPONSE_THREAD_SURFING: BotCapabilityMetadata.BotCapabilityType.ValueType  # 5
    RICH_RESPONSE_TABLE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 6
    RICH_RESPONSE_CODE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 7
    RICH_RESPONSE_STRUCTURED_RESPONSE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 8
    RICH_RESPONSE_INLINE_IMAGE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 9
    WA_IG_1P_PLUGIN_RANKING_CONTROL: BotCapabilityMetadata.BotCapabilityType.ValueType  # 10
    WA_IG_1P_PLUGIN_RANKING_UPDATE_1: BotCapabilityMetadata.BotCapabilityType.ValueType  # 11
    WA_IG_1P_PLUGIN_RANKING_UPDATE_2: BotCapabilityMetadata.BotCapabilityType.ValueType  # 12
    WA_IG_1P_PLUGIN_RANKING_UPDATE_3: BotCapabilityMetadata.BotCapabilityType.ValueType  # 13
    WA_IG_1P_PLUGIN_RANKING_UPDATE_4: BotCapabilityMetadata.BotCapabilityType.ValueType  # 14
    WA_IG_1P_PLUGIN_RANKING_UPDATE_5: BotCapabilityMetadata.BotCapabilityType.ValueType  # 15
    WA_IG_1P_PLUGIN_RANKING_UPDATE_6: BotCapabilityMetadata.BotCapabilityType.ValueType  # 16
    WA_IG_1P_PLUGIN_RANKING_UPDATE_7: BotCapabilityMetadata.BotCapabilityType.ValueType  # 17
    WA_IG_1P_PLUGIN_RANKING_UPDATE_8: BotCapabilityMetadata.BotCapabilityType.ValueType  # 18
    WA_IG_1P_PLUGIN_RANKING_UPDATE_9: BotCapabilityMetadata.BotCapabilityType.ValueType  # 19
    WA_IG_1P_PLUGIN_RANKING_UPDATE_10: BotCapabilityMetadata.BotCapabilityType.ValueType  # 20
    RICH_RESPONSE_SUB_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType  # 21
    RICH_RESPONSE_GRID_IMAGE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 22
    AI_STUDIO_UGC_MEMORY: BotCapabilityMetadata.BotCapabilityType.ValueType  # 23
    RICH_RESPONSE_LATEX: BotCapabilityMetadata.BotCapabilityType.ValueType  # 24
    RICH_RESPONSE_MAPS: BotCapabilityMetadata.BotCapabilityType.ValueType  # 25
    RICH_RESPONSE_INLINE_REELS: BotCapabilityMetadata.BotCapabilityType.ValueType  # 26
    AGENTIC_PLANNING: BotCapabilityMetadata.BotCapabilityType.ValueType  # 27
    ACCOUNT_LINKING: BotCapabilityMetadata.BotCapabilityType.ValueType  # 28
    STREAMING_DISAGGREGATION: BotCapabilityMetadata.BotCapabilityType.ValueType  # 29
    RICH_RESPONSE_GRID_IMAGE_3P: BotCapabilityMetadata.BotCapabilityType.ValueType  # 30
    RICH_RESPONSE_LATEX_INLINE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 31
    QUERY_PLAN: BotCapabilityMetadata.BotCapabilityType.ValueType  # 32
    PROACTIVE_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 33
    RICH_RESPONSE_UNIFIED_RESPONSE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 34
    PROMOTION_MESSAGE: BotCapabilityMetadata.BotCapabilityType.ValueType  # 35

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

global___BotCapabilityMetadata = BotCapabilityMetadata

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

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

    class _BotUserSelectionModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotModeSelectionMetadata._BotUserSelectionMode.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN_MODE: BotModeSelectionMetadata._BotUserSelectionMode.ValueType  # 0
        REASONING_MODE: BotModeSelectionMetadata._BotUserSelectionMode.ValueType  # 1

    class BotUserSelectionMode(_BotUserSelectionMode, metaclass=_BotUserSelectionModeEnumTypeWrapper): ...
    UNKNOWN_MODE: BotModeSelectionMetadata.BotUserSelectionMode.ValueType  # 0
    REASONING_MODE: BotModeSelectionMetadata.BotUserSelectionMode.ValueType  # 1

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

global___BotModeSelectionMetadata = BotModeSelectionMetadata

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

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

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

        class _BotFeatureTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNKNOWN_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType  # 0
            REASONING_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata._BotFeatureType.ValueType  # 1

        class BotFeatureType(_BotFeatureType, metaclass=_BotFeatureTypeEnumTypeWrapper): ...
        UNKNOWN_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType  # 0
        REASONING_FEATURE: BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType  # 1

        FEATURETYPE_FIELD_NUMBER: builtins.int
        REMAININGQUOTA_FIELD_NUMBER: builtins.int
        EXPIRATIONTIMESTAMP_FIELD_NUMBER: builtins.int
        featureType: global___BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType
        remainingQuota: builtins.int
        expirationTimestamp: builtins.int
        def __init__(
            self,
            *,
            featureType: global___BotQuotaMetadata.BotFeatureQuotaMetadata.BotFeatureType.ValueType | None = ...,
            remainingQuota: builtins.int | None = ...,
            expirationTimestamp: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["expirationTimestamp", b"expirationTimestamp", "featureType", b"featureType", "remainingQuota", b"remainingQuota"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["expirationTimestamp", b"expirationTimestamp", "featureType", b"featureType", "remainingQuota", b"remainingQuota"]) -> None: ...

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

global___BotQuotaMetadata = BotQuotaMetadata

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

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

    class _ImagineTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotImagineMetadata._ImagineType.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        UNKNOWN: BotImagineMetadata._ImagineType.ValueType  # 0
        IMAGINE: BotImagineMetadata._ImagineType.ValueType  # 1
        MEMU: BotImagineMetadata._ImagineType.ValueType  # 2
        FLASH: BotImagineMetadata._ImagineType.ValueType  # 3
        EDIT: BotImagineMetadata._ImagineType.ValueType  # 4

    class ImagineType(_ImagineType, metaclass=_ImagineTypeEnumTypeWrapper): ...
    UNKNOWN: BotImagineMetadata.ImagineType.ValueType  # 0
    IMAGINE: BotImagineMetadata.ImagineType.ValueType  # 1
    MEMU: BotImagineMetadata.ImagineType.ValueType  # 2
    FLASH: BotImagineMetadata.ImagineType.ValueType  # 3
    EDIT: BotImagineMetadata.ImagineType.ValueType  # 4

    IMAGINETYPE_FIELD_NUMBER: builtins.int
    imagineType: global___BotImagineMetadata.ImagineType.ValueType
    def __init__(
        self,
        *,
        imagineType: global___BotImagineMetadata.ImagineType.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["imagineType", b"imagineType"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["imagineType", b"imagineType"]) -> None: ...

global___BotImagineMetadata = BotImagineMetadata

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

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

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

        class _SourceProviderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType], builtins.type):
            DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
            UNKNOWN: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType  # 0
            BING: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType  # 1
            GOOGLE: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType  # 2
            SUPPORT: BotSourcesMetadata.BotSourceItem._SourceProvider.ValueType  # 3

        class SourceProvider(_SourceProvider, metaclass=_SourceProviderEnumTypeWrapper): ...
        UNKNOWN: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType  # 0
        BING: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType  # 1
        GOOGLE: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType  # 2
        SUPPORT: BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType  # 3

        PROVIDER_FIELD_NUMBER: builtins.int
        THUMBNAILCDNURL_FIELD_NUMBER: builtins.int
        SOURCEPROVIDERURL_FIELD_NUMBER: builtins.int
        SOURCEQUERY_FIELD_NUMBER: builtins.int
        FAVICONCDNURL_FIELD_NUMBER: builtins.int
        CITATIONNUMBER_FIELD_NUMBER: builtins.int
        provider: global___BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType
        thumbnailCDNURL: builtins.str
        sourceProviderURL: builtins.str
        sourceQuery: builtins.str
        faviconCDNURL: builtins.str
        citationNumber: builtins.int
        def __init__(
            self,
            *,
            provider: global___BotSourcesMetadata.BotSourceItem.SourceProvider.ValueType | None = ...,
            thumbnailCDNURL: builtins.str | None = ...,
            sourceProviderURL: builtins.str | None = ...,
            sourceQuery: builtins.str | None = ...,
            faviconCDNURL: builtins.str | None = ...,
            citationNumber: builtins.int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing.Literal["citationNumber", b"citationNumber", "faviconCDNURL", b"faviconCDNURL", "provider", b"provider", "sourceProviderURL", b"sourceProviderURL", "sourceQuery", b"sourceQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing.Literal["citationNumber", b"citationNumber", "faviconCDNURL", b"faviconCDNURL", "provider", b"provider", "sourceProviderURL", b"sourceProviderURL", "sourceQuery", b"sourceQuery", "thumbnailCDNURL", b"thumbnailCDNURL"]) -> None: ...

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

global___BotSourcesMetadata = BotSourcesMetadata

@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

    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

    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 = MessageAssociation

@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
    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
    @property
    def deviceListMetadata(self) -> global___DeviceListMetadata: ...
    @property
    def botMetadata(self) -> global___BotMetadata: ...
    @property
    def messageAssociation(self) -> global___MessageAssociation: ...
    @property
    def limitSharing(self) -> waCommon.WACommon_pb2.LimitSharing: ...
    @property
    def limitSharingV2(self) -> waCommon.WACommon_pb2.LimitSharing: ...
    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: global___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 = ...,
    ) -> 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"]) -> 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"]) -> None: ...

global___MessageContextInfo = 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 = 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 = 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 = 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 = 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 = 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
    POLLCREATIONMESSAGEV5_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
    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 pollCreationMessageV5(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: ...
    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 = ...,
        pollCreationMessageV5: 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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["albumMessage", b"albumMessage", "associatedChildMessage", b"associatedChildMessage", "audioMessage", b"audioMessage", "bcallMessage", b"bcallMessage", "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", "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", "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", "pollUpdateMessage", b"pollUpdateMessage", "productMessage", b"productMessage", "protocolMessage", b"protocolMessage", "ptvMessage", b"ptvMessage", "questionMessage", b"questionMessage", "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", "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", "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", "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", "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", "pollUpdateMessage", b"pollUpdateMessage", "productMessage", b"productMessage", "protocolMessage", b"protocolMessage", "ptvMessage", b"ptvMessage", "questionMessage", b"questionMessage", "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", "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 = 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 = AlbumMessage

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

    HISTORYRECEIVERS_FIELD_NUMBER: builtins.int
    FIRSTMESSAGETIMESTAMP_FIELD_NUMBER: builtins.int
    MESSAGECOUNT_FIELD_NUMBER: builtins.int
    firstMessageTimestamp: 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 = ...,
        firstMessageTimestamp: builtins.int | None = ...,
        messageCount: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["firstMessageTimestamp", b"firstMessageTimestamp", "messageCount", b"messageCount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["firstMessageTimestamp", b"firstMessageTimestamp", "historyReceivers", b"historyReceivers", "messageCount", b"messageCount"]) -> None: ...

global___MessageHistoryMetadata = 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 = 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 = 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 = 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
    isCanceled: builtins.bool
    name: builtins.str
    description: builtins.str
    joinLink: builtins.str
    startTime: builtins.int
    endTime: builtins.int
    extraGuestsAllowed: builtins.bool
    isScheduleCall: builtins.bool
    @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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "endTime", b"endTime", "extraGuestsAllowed", b"extraGuestsAllowed", "isCanceled", b"isCanceled", "isScheduleCall", b"isScheduleCall", "joinLink", b"joinLink", "location", b"location", "name", b"name", "startTime", b"startTime"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contextInfo", b"contextInfo", "description", b"description", "endTime", b"endTime", "extraGuestsAllowed", b"extraGuestsAllowed", "isCanceled", b"isCanceled", "isScheduleCall", b"isScheduleCall", "joinLink", b"joinLink", "location", b"location", "name", b"name", "startTime", b"startTime"]) -> None: ...

global___EventMessage = 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 = 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 = 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 = 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 = KeepInChatMessage

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

global___PollResultSnapshotMessage = 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 = 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 = PollEncValue

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

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

global___PollUpdateMessageMetadata = 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 = PollUpdateMessage

@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 = 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 = 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 = 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 = 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 = RequestPhoneNumberMessage

@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 = 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 = 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 = 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 = 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
    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
    @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 = ...,
    ) -> 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", "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", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "pngThumbnail", b"pngThumbnail", "stickerSentTS", b"stickerSentTS", "width", b"width"]) -> None: ...

global___StickerMessage = 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 = 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 = 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 = 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 = 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
    @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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["background", b"background", "noteMessage", b"noteMessage", "requestMessageKey", b"requestMessageKey"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["background", b"background", "noteMessage", b"noteMessage", "requestMessageKey", b"requestMessageKey"]) -> None: ...

global___SendPaymentMessage = 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 = 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 = InitialSecurityNotificationSettingSync

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

    @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
    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: ...
    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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["fullHistorySyncOnDemandRequest", b"fullHistorySyncOnDemandRequest", "historySyncOnDemandRequest", b"historySyncOnDemandRequest", "peerDataOperationRequestType", b"peerDataOperationRequestType", "syncdCollectionFatalRecoveryRequest", b"syncdCollectionFatalRecoveryRequest"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["fullHistorySyncOnDemandRequest", b"fullHistorySyncOnDemandRequest", "historySyncOnDemandRequest", b"historySyncOnDemandRequest", "peerDataOperationRequestType", b"peerDataOperationRequestType", "placeholderMessageResendRequest", b"placeholderMessageResendRequest", "requestStickerReupload", b"requestStickerReupload", "requestURLPreview", b"requestURLPreview", "syncdCollectionFatalRecoveryRequest", b"syncdCollectionFatalRecoveryRequest"]) -> None: ...

global___PeerDataOperationRequestMessage = PeerDataOperationRequestMessage

@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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = AppStateSyncKey

@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 = 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
    callKey: builtins.bytes
    conversionSource: builtins.str
    conversionData: builtins.bytes
    conversionDelaySeconds: builtins.int
    ctwaSignals: builtins.str
    ctwaPayload: builtins.bytes
    @property
    def contextInfo(self) -> global___ContextInfo: ...
    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 = ...,
    ) -> 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"]) -> 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"]) -> None: ...

global___Call = 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
    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
    @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 = ...,
    ) -> 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", "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", "mediaKeyTimestamp", b"mediaKeyTimestamp", "mimetype", b"mimetype", "seconds", b"seconds", "streamingSidecar", b"streamingSidecar", "viewOnce", b"viewOnce", "waveform", b"waveform"]) -> None: ...

global___AudioMessage = 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
    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
    @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 = ...,
    ) -> 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", "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", "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 = DocumentMessage

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

    PAYMENTLINKMETADATA_FIELD_NUMBER: builtins.int
    URLMETADATA_FIELD_NUMBER: builtins.int
    FBEXPERIMENTID_FIELD_NUMBER: builtins.int
    fbExperimentID: builtins.int
    @property
    def paymentLinkMetadata(self) -> global___PaymentLinkMetadata: ...
    @property
    def urlMetadata(self) -> global___URLMetadata: ...
    def __init__(
        self,
        *,
        paymentLinkMetadata: global___PaymentLinkMetadata | None = ...,
        urlMetadata: global___URLMetadata | None = ...,
        fbExperimentID: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["fbExperimentID", b"fbExperimentID", "paymentLinkMetadata", b"paymentLinkMetadata", "urlMetadata", b"urlMetadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["fbExperimentID", b"fbExperimentID", "paymentLinkMetadata", b"paymentLinkMetadata", "urlMetadata", b"urlMetadata"]) -> None: ...

global___LinkPreviewMetadata = LinkPreviewMetadata

@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 = URLMetadata

@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
    thumbnailDirectPath: builtins.str
    thumbnailSHA256: builtins.bytes
    thumbnailEncSHA256: builtins.bytes
    mediaKey: builtins.bytes
    mediaKeyTimestamp: builtins.int
    thumbnailHeight: builtins.int
    thumbnailWidth: builtins.int
    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 = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["mediaKey", b"mediaKey", "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", "mediaKeyTimestamp", b"mediaKeyTimestamp", "thumbnailDirectPath", b"thumbnailDirectPath", "thumbnailEncSHA256", b"thumbnailEncSHA256", "thumbnailHeight", b"thumbnailHeight", "thumbnailSHA256", b"thumbnailSHA256", "thumbnailWidth", b"thumbnailWidth"]) -> None: ...

global___MMSThumbnailMetadata = 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 = 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 = 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 = SenderKeyDistributionMessage

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

    SENTIMENT_FIELD_NUMBER: builtins.int
    BEHAVIORGRAPH_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    INTENSITY_FIELD_NUMBER: builtins.int
    WORDCOUNT_FIELD_NUMBER: builtins.int
    sentiment: builtins.int
    behaviorGraph: builtins.str
    action: builtins.int
    intensity: builtins.int
    wordCount: builtins.int
    def __init__(
        self,
        *,
        sentiment: builtins.int | None = ...,
        behaviorGraph: builtins.str | None = ...,
        action: builtins.int | None = ...,
        intensity: builtins.int | None = ...,
        wordCount: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["action", b"action", "behaviorGraph", b"behaviorGraph", "intensity", b"intensity", "sentiment", b"sentiment", "wordCount", b"wordCount"]) -> None: ...

global___BotAvatarMetadata = BotAvatarMetadata

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

    SUGGESTEDPROMPTS_FIELD_NUMBER: builtins.int
    SELECTEDPROMPTINDEX_FIELD_NUMBER: builtins.int
    PROMPTSUGGESTIONS_FIELD_NUMBER: builtins.int
    SELECTEDPROMPTID_FIELD_NUMBER: builtins.int
    selectedPromptIndex: builtins.int
    selectedPromptID: builtins.str
    @property
    def suggestedPrompts(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    @property
    def promptSuggestions(self) -> global___BotPromptSuggestions: ...
    def __init__(
        self,
        *,
        suggestedPrompts: collections.abc.Iterable[builtins.str] | None = ...,
        selectedPromptIndex: builtins.int | None = ...,
        promptSuggestions: global___BotPromptSuggestions | None = ...,
        selectedPromptID: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["promptSuggestions", b"promptSuggestions", "selectedPromptID", b"selectedPromptID", "selectedPromptIndex", b"selectedPromptIndex"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["promptSuggestions", b"promptSuggestions", "selectedPromptID", b"selectedPromptID", "selectedPromptIndex", b"selectedPromptIndex", "suggestedPrompts", b"suggestedPrompts"]) -> None: ...

global___BotSuggestedPromptMetadata = BotSuggestedPromptMetadata

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

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

global___BotPromptSuggestions = BotPromptSuggestions

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

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

global___BotPromptSuggestion = BotPromptSuggestion

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

    ACCOUNTS_FIELD_NUMBER: builtins.int
    ACAUTHTOKENS_FIELD_NUMBER: builtins.int
    ACERRORCODE_FIELD_NUMBER: builtins.int
    acAuthTokens: builtins.bytes
    acErrorCode: builtins.int
    @property
    def accounts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotLinkedAccount]: ...
    def __init__(
        self,
        *,
        accounts: collections.abc.Iterable[global___BotLinkedAccount] | None = ...,
        acAuthTokens: builtins.bytes | None = ...,
        acErrorCode: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["acAuthTokens", b"acAuthTokens", "acErrorCode", b"acErrorCode"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["acAuthTokens", b"acAuthTokens", "acErrorCode", b"acErrorCode", "accounts", b"accounts"]) -> None: ...

global___BotLinkedAccountsMetadata = BotLinkedAccountsMetadata

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

    ADDEDFACTS_FIELD_NUMBER: builtins.int
    REMOVEDFACTS_FIELD_NUMBER: builtins.int
    DISCLAIMER_FIELD_NUMBER: builtins.int
    disclaimer: builtins.str
    @property
    def addedFacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMemoryFact]: ...
    @property
    def removedFacts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BotMemoryFact]: ...
    def __init__(
        self,
        *,
        addedFacts: collections.abc.Iterable[global___BotMemoryFact] | None = ...,
        removedFacts: collections.abc.Iterable[global___BotMemoryFact] | None = ...,
        disclaimer: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["disclaimer", b"disclaimer"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["addedFacts", b"addedFacts", "disclaimer", b"disclaimer", "removedFacts", b"removedFacts"]) -> None: ...

global___BotMemoryMetadata = BotMemoryMetadata

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

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

global___BotMemoryFact = BotMemoryFact

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

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

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

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

global___BotRenderingMetadata = BotRenderingMetadata

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

    DESTINATIONID_FIELD_NUMBER: builtins.int
    DESTINATIONENTRYPOINT_FIELD_NUMBER: builtins.int
    THREADORIGIN_FIELD_NUMBER: builtins.int
    destinationID: builtins.str
    destinationEntryPoint: global___BotMetricsEntryPoint.ValueType
    threadOrigin: global___BotMetricsThreadEntryPoint.ValueType
    def __init__(
        self,
        *,
        destinationID: builtins.str | None = ...,
        destinationEntryPoint: global___BotMetricsEntryPoint.ValueType | None = ...,
        threadOrigin: global___BotMetricsThreadEntryPoint.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["destinationEntryPoint", b"destinationEntryPoint", "destinationID", b"destinationID", "threadOrigin", b"threadOrigin"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["destinationEntryPoint", b"destinationEntryPoint", "destinationID", b"destinationID", "threadOrigin", b"threadOrigin"]) -> None: ...

global___BotMetricsMetadata = BotMetricsMetadata

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

    SESSIONID_FIELD_NUMBER: builtins.int
    SESSIONSOURCE_FIELD_NUMBER: builtins.int
    sessionID: builtins.str
    sessionSource: global___BotSessionSource.ValueType
    def __init__(
        self,
        *,
        sessionID: builtins.str | None = ...,
        sessionSource: global___BotSessionSource.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["sessionID", b"sessionID", "sessionSource", b"sessionSource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["sessionID", b"sessionID", "sessionSource", b"sessionSource"]) -> None: ...

global___BotSessionMetadata = BotSessionMetadata

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

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

global___BotMemuMetadata = BotMemuMetadata

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

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

global___BotAgeCollectionMetadata = BotAgeCollectionMetadata

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

    AVATARMETADATA_FIELD_NUMBER: builtins.int
    PERSONAID_FIELD_NUMBER: builtins.int
    PLUGINMETADATA_FIELD_NUMBER: builtins.int
    SUGGESTEDPROMPTMETADATA_FIELD_NUMBER: builtins.int
    INVOKERJID_FIELD_NUMBER: builtins.int
    SESSIONMETADATA_FIELD_NUMBER: builtins.int
    MEMUMETADATA_FIELD_NUMBER: builtins.int
    TIMEZONE_FIELD_NUMBER: builtins.int
    REMINDERMETADATA_FIELD_NUMBER: builtins.int
    MODELMETADATA_FIELD_NUMBER: builtins.int
    MESSAGEDISCLAIMERTEXT_FIELD_NUMBER: builtins.int
    PROGRESSINDICATORMETADATA_FIELD_NUMBER: builtins.int
    CAPABILITYMETADATA_FIELD_NUMBER: builtins.int
    IMAGINEMETADATA_FIELD_NUMBER: builtins.int
    MEMORYMETADATA_FIELD_NUMBER: builtins.int
    RENDERINGMETADATA_FIELD_NUMBER: builtins.int
    BOTMETRICSMETADATA_FIELD_NUMBER: builtins.int
    BOTLINKEDACCOUNTSMETADATA_FIELD_NUMBER: builtins.int
    RICHRESPONSESOURCESMETADATA_FIELD_NUMBER: builtins.int
    AICONVERSATIONCONTEXT_FIELD_NUMBER: builtins.int
    BOTPROMOTIONMESSAGEMETADATA_FIELD_NUMBER: builtins.int
    BOTMODESELECTIONMETADATA_FIELD_NUMBER: builtins.int
    BOTQUOTAMETADATA_FIELD_NUMBER: builtins.int
    BOTAGECOLLECTIONMETADATA_FIELD_NUMBER: builtins.int
    personaID: builtins.str
    invokerJID: builtins.str
    timezone: builtins.str
    messageDisclaimerText: builtins.str
    aiConversationContext: builtins.bytes
    @property
    def avatarMetadata(self) -> global___BotAvatarMetadata: ...
    @property
    def pluginMetadata(self) -> global___BotPluginMetadata: ...
    @property
    def suggestedPromptMetadata(self) -> global___BotSuggestedPromptMetadata: ...
    @property
    def sessionMetadata(self) -> global___BotSessionMetadata: ...
    @property
    def memuMetadata(self) -> global___BotMemuMetadata: ...
    @property
    def reminderMetadata(self) -> global___BotReminderMetadata: ...
    @property
    def modelMetadata(self) -> global___BotModelMetadata: ...
    @property
    def progressIndicatorMetadata(self) -> global___BotProgressIndicatorMetadata: ...
    @property
    def capabilityMetadata(self) -> global___BotCapabilityMetadata: ...
    @property
    def imagineMetadata(self) -> global___BotImagineMetadata: ...
    @property
    def memoryMetadata(self) -> global___BotMemoryMetadata: ...
    @property
    def renderingMetadata(self) -> global___BotRenderingMetadata: ...
    @property
    def botMetricsMetadata(self) -> global___BotMetricsMetadata: ...
    @property
    def botLinkedAccountsMetadata(self) -> global___BotLinkedAccountsMetadata: ...
    @property
    def richResponseSourcesMetadata(self) -> global___BotSourcesMetadata: ...
    @property
    def botPromotionMessageMetadata(self) -> global___BotPromotionMessageMetadata: ...
    @property
    def botModeSelectionMetadata(self) -> global___BotModeSelectionMetadata: ...
    @property
    def botQuotaMetadata(self) -> global___BotQuotaMetadata: ...
    @property
    def botAgeCollectionMetadata(self) -> global___BotAgeCollectionMetadata: ...
    def __init__(
        self,
        *,
        avatarMetadata: global___BotAvatarMetadata | None = ...,
        personaID: builtins.str | None = ...,
        pluginMetadata: global___BotPluginMetadata | None = ...,
        suggestedPromptMetadata: global___BotSuggestedPromptMetadata | None = ...,
        invokerJID: builtins.str | None = ...,
        sessionMetadata: global___BotSessionMetadata | None = ...,
        memuMetadata: global___BotMemuMetadata | None = ...,
        timezone: builtins.str | None = ...,
        reminderMetadata: global___BotReminderMetadata | None = ...,
        modelMetadata: global___BotModelMetadata | None = ...,
        messageDisclaimerText: builtins.str | None = ...,
        progressIndicatorMetadata: global___BotProgressIndicatorMetadata | None = ...,
        capabilityMetadata: global___BotCapabilityMetadata | None = ...,
        imagineMetadata: global___BotImagineMetadata | None = ...,
        memoryMetadata: global___BotMemoryMetadata | None = ...,
        renderingMetadata: global___BotRenderingMetadata | None = ...,
        botMetricsMetadata: global___BotMetricsMetadata | None = ...,
        botLinkedAccountsMetadata: global___BotLinkedAccountsMetadata | None = ...,
        richResponseSourcesMetadata: global___BotSourcesMetadata | None = ...,
        aiConversationContext: builtins.bytes | None = ...,
        botPromotionMessageMetadata: global___BotPromotionMessageMetadata | None = ...,
        botModeSelectionMetadata: global___BotModeSelectionMetadata | None = ...,
        botQuotaMetadata: global___BotQuotaMetadata | None = ...,
        botAgeCollectionMetadata: global___BotAgeCollectionMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["aiConversationContext", b"aiConversationContext", "avatarMetadata", b"avatarMetadata", "botAgeCollectionMetadata", b"botAgeCollectionMetadata", "botLinkedAccountsMetadata", b"botLinkedAccountsMetadata", "botMetricsMetadata", b"botMetricsMetadata", "botModeSelectionMetadata", b"botModeSelectionMetadata", "botPromotionMessageMetadata", b"botPromotionMessageMetadata", "botQuotaMetadata", b"botQuotaMetadata", "capabilityMetadata", b"capabilityMetadata", "imagineMetadata", b"imagineMetadata", "invokerJID", b"invokerJID", "memoryMetadata", b"memoryMetadata", "memuMetadata", b"memuMetadata", "messageDisclaimerText", b"messageDisclaimerText", "modelMetadata", b"modelMetadata", "personaID", b"personaID", "pluginMetadata", b"pluginMetadata", "progressIndicatorMetadata", b"progressIndicatorMetadata", "reminderMetadata", b"reminderMetadata", "renderingMetadata", b"renderingMetadata", "richResponseSourcesMetadata", b"richResponseSourcesMetadata", "sessionMetadata", b"sessionMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata", "timezone", b"timezone"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["aiConversationContext", b"aiConversationContext", "avatarMetadata", b"avatarMetadata", "botAgeCollectionMetadata", b"botAgeCollectionMetadata", "botLinkedAccountsMetadata", b"botLinkedAccountsMetadata", "botMetricsMetadata", b"botMetricsMetadata", "botModeSelectionMetadata", b"botModeSelectionMetadata", "botPromotionMessageMetadata", b"botPromotionMessageMetadata", "botQuotaMetadata", b"botQuotaMetadata", "capabilityMetadata", b"capabilityMetadata", "imagineMetadata", b"imagineMetadata", "invokerJID", b"invokerJID", "memoryMetadata", b"memoryMetadata", "memuMetadata", b"memuMetadata", "messageDisclaimerText", b"messageDisclaimerText", "modelMetadata", b"modelMetadata", "personaID", b"personaID", "pluginMetadata", b"pluginMetadata", "progressIndicatorMetadata", b"progressIndicatorMetadata", "reminderMetadata", b"reminderMetadata", "renderingMetadata", b"renderingMetadata", "richResponseSourcesMetadata", b"richResponseSourcesMetadata", "sessionMetadata", b"sessionMetadata", "suggestedPromptMetadata", b"suggestedPromptMetadata", "timezone", b"timezone"]) -> None: ...

global___BotMetadata = BotMetadata

@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 = 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 = 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
    ARTWORKMEDIAKEY_FIELD_NUMBER: builtins.int
    ARTISTATTRIBUTION_FIELD_NUMBER: builtins.int
    COUNTRYBLOCKLIST_FIELD_NUMBER: builtins.int
    ISEXPLICIT_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
    artworkMediaKey: builtins.bytes
    artistAttribution: builtins.str
    countryBlocklist: builtins.bytes
    isExplicit: builtins.bool
    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 = ...,
        artworkMediaKey: builtins.bytes | None = ...,
        artistAttribution: builtins.str | None = ...,
        countryBlocklist: builtins.bytes | None = ...,
        isExplicit: builtins.bool | 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", "isExplicit", b"isExplicit", "musicContentMediaID", b"musicContentMediaID", "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", "isExplicit", b"isExplicit", "musicContentMediaID", b"musicContentMediaID", "songID", b"songID", "title", b"title"]) -> None: ...

global___EmbeddedMusic = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 = UrlTrackingMap

@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 = AIQueryFanout

@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 = MemberLabel
