"""
@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.WAWebProtobufsCompanionReg_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 _PollType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

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

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

TEXT: PollType.ValueType  # 1
IMAGE: PollType.ValueType  # 2
global___PollType = PollType

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

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

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

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: _KeepType.ValueType  # 0
    KEEP_FOR_ALL: _KeepType.ValueType  # 1
    UNDO_KEEP_FOR_ALL: _KeepType.ValueType  # 2

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

UNKNOWN: 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 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

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

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

    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

    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
    type: global___ProtocolMessage.Type.ValueType
    ephemeralExpiration: builtins.int
    ephemeralSettingTimestamp: builtins.int
    timestampMS: builtins.int
    invokerJID: builtins.str
    @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: ...
    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 = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "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",
            "mediaNotifyMessage",
            b"mediaNotifyMessage",
            "peerDataOperationRequestMessage",
            b"peerDataOperationRequestMessage",
            "peerDataOperationRequestResponseMessage",
            b"peerDataOperationRequestResponseMessage",
            "requestWelcomeMessageMetadata",
            b"requestWelcomeMessageMetadata",
            "timestampMS",
            b"timestampMS",
            "type",
            b"type",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "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",
            "mediaNotifyMessage",
            b"mediaNotifyMessage",
            "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

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

    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

    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
    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
    @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 = ...,
    ) -> 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",
            "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",
            "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
    CANONICALURL_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
    text: builtins.str
    matchedText: builtins.str
    canonicalURL: 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: ...
    def __init__(
        self,
        *,
        text: builtins.str | None = ...,
        matchedText: builtins.str | None = ...,
        canonicalURL: 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 = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "JPEGThumbnail",
            b"JPEGThumbnail",
            "backgroundArgb",
            b"backgroundArgb",
            "canonicalURL",
            b"canonicalURL",
            "contextInfo",
            b"contextInfo",
            "description",
            b"description",
            "doNotPlayInline",
            b"doNotPlayInline",
            "font",
            b"font",
            "inviteLinkGroupType",
            b"inviteLinkGroupType",
            "inviteLinkGroupTypeV2",
            b"inviteLinkGroupTypeV2",
            "inviteLinkParentGroupSubjectV2",
            b"inviteLinkParentGroupSubjectV2",
            "inviteLinkParentGroupThumbnailV2",
            b"inviteLinkParentGroupThumbnailV2",
            "matchedText",
            b"matchedText",
            "mediaKey",
            b"mediaKey",
            "mediaKeyTimestamp",
            b"mediaKeyTimestamp",
            "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",
            "canonicalURL",
            b"canonicalURL",
            "contextInfo",
            b"contextInfo",
            "description",
            b"description",
            "doNotPlayInline",
            b"doNotPlayInline",
            "font",
            b"font",
            "inviteLinkGroupType",
            b"inviteLinkGroupType",
            "inviteLinkGroupTypeV2",
            b"inviteLinkGroupTypeV2",
            "inviteLinkParentGroupSubjectV2",
            b"inviteLinkParentGroupSubjectV2",
            "inviteLinkParentGroupThumbnailV2",
            b"inviteLinkParentGroupThumbnailV2",
            "matchedText",
            b"matchedText",
            "mediaKey",
            b"mediaKey",
            "mediaKeyTimestamp",
            b"mediaKeyTimestamp",
            "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 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

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

    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

    @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 _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
        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
        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 = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "adContextPreviewDismissed",
                b"adContextPreviewDismissed",
                "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",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "adContextPreviewDismissed",
                b"adContextPreviewDismissed",
                "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",
            ],
        ) -> 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
        cannotBeReactedTo: builtins.bool
        cannotBeRanked: builtins.bool
        canRequestFeedback: builtins.bool
        def __init__(
            self,
            *,
            cannotBeReactedTo: builtins.bool | None = ...,
            cannotBeRanked: builtins.bool | None = ...,
            canRequestFeedback: builtins.bool | None = ...,
        ) -> None: ...
        def HasField(
            self,
            field_name: typing.Literal[
                "canRequestFeedback",
                b"canRequestFeedback",
                "cannotBeRanked",
                b"cannotBeRanked",
                "cannotBeReactedTo",
                b"cannotBeReactedTo",
            ],
        ) -> builtins.bool: ...
        def ClearField(
            self,
            field_name: typing.Literal[
                "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
    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
    @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: ...
    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 = ...,
    ) -> 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",
            "isSampled",
            b"isSampled",
            "parentGroupJID",
            b"parentGroupJID",
            "participant",
            b"participant",
            "placeholderKey",
            b"placeholderKey",
            "quotedAd",
            b"quotedAd",
            "quotedMessage",
            b"quotedMessage",
            "remoteJID",
            b"remoteJID",
            "smbClientCampaignID",
            b"smbClientCampaignID",
            "smbServerCampaignID",
            b"smbServerCampaignID",
            "stanzaID",
            b"stanzaID",
            "trustBannerAction",
            b"trustBannerAction",
            "trustBannerType",
            b"trustBannerType",
            "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",
            "isSampled",
            b"isSampled",
            "mentionedJID",
            b"mentionedJID",
            "parentGroupJID",
            b"parentGroupJID",
            "participant",
            b"participant",
            "placeholderKey",
            b"placeholderKey",
            "quotedAd",
            b"quotedAd",
            "quotedMessage",
            b"quotedMessage",
            "remoteJID",
            b"remoteJID",
            "smbClientCampaignID",
            b"smbClientCampaignID",
            "smbServerCampaignID",
            b"smbServerCampaignID",
            "stanzaID",
            b"stanzaID",
            "trustBannerAction",
            b"trustBannerAction",
            "trustBannerType",
            b"trustBannerType",
            "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
        REELS: BotPluginMetadata._PluginType.ValueType  # 1
        SEARCH: BotPluginMetadata._PluginType.ValueType  # 2

    class PluginType(_PluginType, metaclass=_PluginTypeEnumTypeWrapper): ...
    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
        BING: BotPluginMetadata._SearchProvider.ValueType  # 1
        GOOGLE: BotPluginMetadata._SearchProvider.ValueType  # 2
        SUPPORT: BotPluginMetadata._SearchProvider.ValueType  # 3

    class SearchProvider(_SearchProvider, metaclass=_SearchProviderEnumTypeWrapper): ...
    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
    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
    @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 = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "deprecatedField",
            b"deprecatedField",
            "expectedLinksCount",
            b"expectedLinksCount",
            "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",
            "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 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
        AVAILABLE: BotModelMetadata._PremiumModelStatus.ValueType  # 1
        QUOTA_EXCEED_LIMIT: BotModelMetadata._PremiumModelStatus.ValueType  # 2

    class PremiumModelStatus(
        _PremiumModelStatus, metaclass=_PremiumModelStatusEnumTypeWrapper
    ): ...
    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
        LLAMA_PROD: BotModelMetadata._ModelType.ValueType  # 1
        LLAMA_PROD_PREMIUM: BotModelMetadata._ModelType.ValueType  # 2

    class ModelType(_ModelType, metaclass=_ModelTypeEnumTypeWrapper): ...
    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 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
        PROGRESS_INDICATOR: BotCapabilityMetadata._BotCapabilityType.ValueType  # 1
        RICH_RESPONSE_HEADING: BotCapabilityMetadata._BotCapabilityType.ValueType  # 2
        RICH_RESPONSE_NESTED_LIST: (
            BotCapabilityMetadata._BotCapabilityType.ValueType
        )  # 3

    class BotCapabilityType(
        _BotCapabilityType, metaclass=_BotCapabilityTypeEnumTypeWrapper
    ): ...
    PROGRESS_INDICATOR: BotCapabilityMetadata.BotCapabilityType.ValueType  # 1
    RICH_RESPONSE_HEADING: BotCapabilityMetadata.BotCapabilityType.ValueType  # 2
    RICH_RESPONSE_NESTED_LIST: BotCapabilityMetadata.BotCapabilityType.ValueType  # 3

    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 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 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_TAPPABLE_MESSAGE: MessageAssociation._AssociationType.ValueType  # 6
        MEDIA_POLL: MessageAssociation._AssociationType.ValueType  # 7

    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_TAPPABLE_MESSAGE: MessageAssociation.AssociationType.ValueType  # 6
    MEDIA_POLL: MessageAssociation.AssociationType.ValueType  # 7

    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
    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: ...
    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 = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "botMessageSecret",
            b"botMessageSecret",
            "botMetadata",
            b"botMetadata",
            "capiCreatedGroup",
            b"capiCreatedGroup",
            "deviceListMetadata",
            b"deviceListMetadata",
            "deviceListMetadataVersion",
            b"deviceListMetadataVersion",
            "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",
            "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 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
    POLLCREATIONMESSAGEV4_FIELD_NUMBER: builtins.int
    POLLCREATIONOPTIONIMAGEMESSAGE_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 pollCreationMessageV4(self) -> global___FutureProofMessage: ...
    @property
    def pollCreationOptionImageMessage(self) -> global___FutureProofMessage: ...
    def __init__(
        self,
        *,
        conversation: builtins.str | None = ...,
        senderKeyDistributionMessage: global___SenderKeyDistributionMessage
        | None = ...,
        imageMessage: global___ImageMessage | None = ...,
        contactMessage: global___ContactMessage | None = ...,
        locationMessage: global___LocationMessage | None = ...,
        extendedTextMessage: global___ExtendedTextMessage | None = ...,
        documentMessage: global___DocumentMessage | None = ...,
        audioMessage: global___AudioMessage | None = ...,
        videoMessage: global___VideoMessage | None = ...,
        call: global___Call | None = ...,
        chat: global___Chat | None = ...,
        protocolMessage: global___ProtocolMessage | None = ...,
        contactsArrayMessage: global___ContactsArrayMessage | None = ...,
        highlyStructuredMessage: global___HighlyStructuredMessage | None = ...,
        fastRatchetKeySenderKeyDistributionMessage: global___SenderKeyDistributionMessage
        | None = ...,
        sendPaymentMessage: global___SendPaymentMessage | None = ...,
        liveLocationMessage: global___LiveLocationMessage | None = ...,
        requestPaymentMessage: global___RequestPaymentMessage | None = ...,
        declinePaymentRequestMessage: global___DeclinePaymentRequestMessage
        | None = ...,
        cancelPaymentRequestMessage: global___CancelPaymentRequestMessage | None = ...,
        templateMessage: global___TemplateMessage | None = ...,
        stickerMessage: global___StickerMessage | None = ...,
        groupInviteMessage: global___GroupInviteMessage | None = ...,
        templateButtonReplyMessage: global___TemplateButtonReplyMessage | None = ...,
        productMessage: global___ProductMessage | None = ...,
        deviceSentMessage: global___DeviceSentMessage | None = ...,
        messageContextInfo: global___MessageContextInfo | None = ...,
        listMessage: global___ListMessage | None = ...,
        viewOnceMessage: global___FutureProofMessage | None = ...,
        orderMessage: global___OrderMessage | None = ...,
        listResponseMessage: global___ListResponseMessage | None = ...,
        ephemeralMessage: global___FutureProofMessage | None = ...,
        invoiceMessage: global___InvoiceMessage | None = ...,
        buttonsMessage: global___ButtonsMessage | None = ...,
        buttonsResponseMessage: global___ButtonsResponseMessage | None = ...,
        paymentInviteMessage: global___PaymentInviteMessage | None = ...,
        interactiveMessage: global___InteractiveMessage | None = ...,
        reactionMessage: global___ReactionMessage | None = ...,
        stickerSyncRmrMessage: global___StickerSyncRMRMessage | None = ...,
        interactiveResponseMessage: global___InteractiveResponseMessage | None = ...,
        pollCreationMessage: global___PollCreationMessage | None = ...,
        pollUpdateMessage: global___PollUpdateMessage | None = ...,
        keepInChatMessage: global___KeepInChatMessage | None = ...,
        documentWithCaptionMessage: global___FutureProofMessage | None = ...,
        requestPhoneNumberMessage: global___RequestPhoneNumberMessage | None = ...,
        viewOnceMessageV2: global___FutureProofMessage | None = ...,
        encReactionMessage: global___EncReactionMessage | None = ...,
        editedMessage: global___FutureProofMessage | None = ...,
        viewOnceMessageV2Extension: global___FutureProofMessage | None = ...,
        pollCreationMessageV2: global___PollCreationMessage | None = ...,
        scheduledCallCreationMessage: global___ScheduledCallCreationMessage
        | None = ...,
        groupMentionedMessage: global___FutureProofMessage | None = ...,
        pinInChatMessage: global___PinInChatMessage | None = ...,
        pollCreationMessageV3: global___PollCreationMessage | None = ...,
        scheduledCallEditMessage: global___ScheduledCallEditMessage | None = ...,
        ptvMessage: global___VideoMessage | None = ...,
        botInvokeMessage: global___FutureProofMessage | None = ...,
        callLogMesssage: global___CallLogMessage | None = ...,
        messageHistoryBundle: global___MessageHistoryBundle | None = ...,
        encCommentMessage: global___EncCommentMessage | None = ...,
        bcallMessage: global___BCallMessage | None = ...,
        lottieStickerMessage: global___FutureProofMessage | None = ...,
        eventMessage: global___EventMessage | None = ...,
        encEventResponseMessage: global___EncEventResponseMessage | None = ...,
        commentMessage: global___CommentMessage | None = ...,
        newsletterAdminInviteMessage: global___NewsletterAdminInviteMessage
        | None = ...,
        placeholderMessage: global___PlaceholderMessage | None = ...,
        secretEncryptedMessage: global___SecretEncryptedMessage | None = ...,
        albumMessage: global___AlbumMessage | None = ...,
        eventCoverImage: global___FutureProofMessage | None = ...,
        stickerPackMessage: global___StickerPackMessage | None = ...,
        statusMentionMessage: global___FutureProofMessage | None = ...,
        pollResultSnapshotMessage: global___PollResultSnapshotMessage | None = ...,
        pollCreationMessageV4: global___FutureProofMessage | None = ...,
        pollCreationOptionImageMessage: global___FutureProofMessage | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "albumMessage",
            b"albumMessage",
            "audioMessage",
            b"audioMessage",
            "bcallMessage",
            b"bcallMessage",
            "botInvokeMessage",
            b"botInvokeMessage",
            "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",
            "highlyStructuredMessage",
            b"highlyStructuredMessage",
            "imageMessage",
            b"imageMessage",
            "interactiveMessage",
            b"interactiveMessage",
            "interactiveResponseMessage",
            b"interactiveResponseMessage",
            "invoiceMessage",
            b"invoiceMessage",
            "keepInChatMessage",
            b"keepInChatMessage",
            "listMessage",
            b"listMessage",
            "listResponseMessage",
            b"listResponseMessage",
            "liveLocationMessage",
            b"liveLocationMessage",
            "locationMessage",
            b"locationMessage",
            "lottieStickerMessage",
            b"lottieStickerMessage",
            "messageContextInfo",
            b"messageContextInfo",
            "messageHistoryBundle",
            b"messageHistoryBundle",
            "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",
            "pollCreationOptionImageMessage",
            b"pollCreationOptionImageMessage",
            "pollResultSnapshotMessage",
            b"pollResultSnapshotMessage",
            "pollUpdateMessage",
            b"pollUpdateMessage",
            "productMessage",
            b"productMessage",
            "protocolMessage",
            b"protocolMessage",
            "ptvMessage",
            b"ptvMessage",
            "reactionMessage",
            b"reactionMessage",
            "requestPaymentMessage",
            b"requestPaymentMessage",
            "requestPhoneNumberMessage",
            b"requestPhoneNumberMessage",
            "scheduledCallCreationMessage",
            b"scheduledCallCreationMessage",
            "scheduledCallEditMessage",
            b"scheduledCallEditMessage",
            "secretEncryptedMessage",
            b"secretEncryptedMessage",
            "sendPaymentMessage",
            b"sendPaymentMessage",
            "senderKeyDistributionMessage",
            b"senderKeyDistributionMessage",
            "statusMentionMessage",
            b"statusMentionMessage",
            "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",
            "audioMessage",
            b"audioMessage",
            "bcallMessage",
            b"bcallMessage",
            "botInvokeMessage",
            b"botInvokeMessage",
            "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",
            "highlyStructuredMessage",
            b"highlyStructuredMessage",
            "imageMessage",
            b"imageMessage",
            "interactiveMessage",
            b"interactiveMessage",
            "interactiveResponseMessage",
            b"interactiveResponseMessage",
            "invoiceMessage",
            b"invoiceMessage",
            "keepInChatMessage",
            b"keepInChatMessage",
            "listMessage",
            b"listMessage",
            "listResponseMessage",
            b"listResponseMessage",
            "liveLocationMessage",
            b"liveLocationMessage",
            "locationMessage",
            b"locationMessage",
            "lottieStickerMessage",
            b"lottieStickerMessage",
            "messageContextInfo",
            b"messageContextInfo",
            "messageHistoryBundle",
            b"messageHistoryBundle",
            "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",
            "pollCreationOptionImageMessage",
            b"pollCreationOptionImageMessage",
            "pollResultSnapshotMessage",
            b"pollResultSnapshotMessage",
            "pollUpdateMessage",
            b"pollUpdateMessage",
            "productMessage",
            b"productMessage",
            "protocolMessage",
            b"protocolMessage",
            "ptvMessage",
            b"ptvMessage",
            "reactionMessage",
            b"reactionMessage",
            "requestPaymentMessage",
            b"requestPaymentMessage",
            "requestPhoneNumberMessage",
            b"requestPhoneNumberMessage",
            "scheduledCallCreationMessage",
            b"scheduledCallCreationMessage",
            "scheduledCallEditMessage",
            b"scheduledCallEditMessage",
            "secretEncryptedMessage",
            b"secretEncryptedMessage",
            "sendPaymentMessage",
            b"sendPaymentMessage",
            "senderKeyDistributionMessage",
            b"senderKeyDistributionMessage",
            "statusMentionMessage",
            b"statusMentionMessage",
            "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 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
    PARTICIPANTS_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 participants(
        self,
    ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        builtins.str
    ]: ...
    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 = ...,
        participants: collections.abc.Iterable[builtins.str] | 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",
            "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",
            "mimetype",
            b"mimetype",
            "participants",
            b"participants",
        ],
    ) -> 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
    isCanceled: builtins.bool
    name: builtins.str
    description: builtins.str
    joinLink: builtins.str
    startTime: builtins.int
    endTime: builtins.int
    extraGuestsAllowed: 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 = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "contextInfo",
            b"contextInfo",
            "description",
            b"description",
            "endTime",
            b"endTime",
            "extraGuestsAllowed",
            b"extraGuestsAllowed",
            "isCanceled",
            b"isCanceled",
            "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",
            "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 PollCreationMessage(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

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

    ENCKEY_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    OPTIONS_FIELD_NUMBER: builtins.int
    SELECTABLEOPTIONSCOUNT_FIELD_NUMBER: builtins.int
    CONTEXTINFO_FIELD_NUMBER: builtins.int
    POLLTYPE_FIELD_NUMBER: builtins.int
    encKey: builtins.bytes
    name: builtins.str
    selectableOptionsCount: builtins.int
    pollType: global___PollType.ValueType
    @property
    def options(
        self,
    ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
        global___PollCreationMessage.Option
    ]: ...
    @property
    def contextInfo(self) -> global___ContextInfo: ...
    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 = ...,
        pollType: global___PollType.ValueType | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "contextInfo",
            b"contextInfo",
            "encKey",
            b"encKey",
            "name",
            b"name",
            "pollType",
            b"pollType",
            "selectableOptionsCount",
            b"selectableOptionsCount",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "contextInfo",
            b"contextInfo",
            "encKey",
            b"encKey",
            "name",
            b"name",
            "options",
            b"options",
            "pollType",
            b"pollType",
            "selectableOptionsCount",
            b"selectableOptionsCount",
        ],
    ) -> None: ...

global___PollCreationMessage = PollCreationMessage

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

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

global___StickerSyncRMRMessage = 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
        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
        @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 = ...,
        ) -> 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",
                "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",
                "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 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.WAWebProtobufsCompanionReg_pb2.DeviceProps.HistorySyncConfig
        ): ...
        def __init__(
            self,
            *,
            requestMetadata: global___FullHistorySyncOnDemandRequestMetadata
            | None = ...,
            historySyncConfig: waCompanionReg.WAWebProtobufsCompanionReg_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
    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: ...
    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 = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "fullHistorySyncOnDemandRequest",
            b"fullHistorySyncOnDemandRequest",
            "historySyncOnDemandRequest",
            b"historySyncOnDemandRequest",
            "peerDataOperationRequestType",
            b"peerDataOperationRequestType",
        ],
    ) -> 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",
        ],
    ) -> 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
    callKey: builtins.bytes
    conversionSource: builtins.str
    conversionData: builtins.bytes
    conversionDelaySeconds: builtins.int
    ctwaSignals: builtins.str
    ctwaPayload: builtins.bytes
    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 = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "callKey",
            b"callKey",
            "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",
            "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 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
    selectedPromptIndex: builtins.int
    @property
    def suggestedPrompts(
        self,
    ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        builtins.str
    ]: ...
    def __init__(
        self,
        *,
        suggestedPrompts: collections.abc.Iterable[builtins.str] | None = ...,
        selectedPromptIndex: builtins.int | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing.Literal["selectedPromptIndex", b"selectedPromptIndex"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "selectedPromptIndex",
            b"selectedPromptIndex",
            "suggestedPrompts",
            b"suggestedPrompts",
        ],
    ) -> None: ...

global___BotSuggestedPromptMetadata = BotSuggestedPromptMetadata

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

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

global___BotProgressIndicatorMetadata = BotProgressIndicatorMetadata

@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
    personaID: builtins.str
    invokerJID: builtins.str
    timezone: builtins.str
    messageDisclaimerText: builtins.str
    @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: ...
    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 = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "avatarMetadata",
            b"avatarMetadata",
            "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",
            "sessionMetadata",
            b"sessionMetadata",
            "suggestedPromptMetadata",
            b"suggestedPromptMetadata",
            "timezone",
            b"timezone",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "avatarMetadata",
            b"avatarMetadata",
            "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",
            "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 InteractiveAnnotation(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    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
    embeddedAction: builtins.bool
    shouldSkipConfirmation: builtins.bool
    @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 = ...,
    ) -> 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",
            "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",
            "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 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
