"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import instamadilloCoreTypeActionLog.InstamadilloCoreTypeActionLog_pb2
import instamadilloCoreTypeAdminMessage.InstamadilloCoreTypeAdminMessage_pb2
import instamadilloCoreTypeCollection.InstamadilloCoreTypeCollection_pb2
import instamadilloCoreTypeLink.InstamadilloCoreTypeLink_pb2
import instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2
import instamadilloCoreTypeText.InstamadilloCoreTypeText_pb2
import instamadilloXmaContentRef.InstamadilloXmaContentRef_pb2
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    CONTENT_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    @property
    def content(self) -> global___AddMessageContent: ...
    @property
    def metadata(self) -> global___AddMessageMetadata: ...
    def __init__(
        self,
        *,
        content: global___AddMessageContent | None = ...,
        metadata: global___AddMessageMetadata | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["content", b"content", "metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["content", b"content", "metadata", b"metadata"]) -> None: ...

global___AddMessagePayload = AddMessagePayload

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

    TEXT_FIELD_NUMBER: builtins.int
    LIKE_FIELD_NUMBER: builtins.int
    LINK_FIELD_NUMBER: builtins.int
    RECEIVERFETCHXMA_FIELD_NUMBER: builtins.int
    MEDIA_FIELD_NUMBER: builtins.int
    PLACEHOLDER_FIELD_NUMBER: builtins.int
    COLLECTION_FIELD_NUMBER: builtins.int
    ADMINMESSAGE_FIELD_NUMBER: builtins.int
    ACTIONLOG_FIELD_NUMBER: builtins.int
    @property
    def text(self) -> instamadilloCoreTypeText.InstamadilloCoreTypeText_pb2.Text: ...
    @property
    def like(self) -> global___Like: ...
    @property
    def link(self) -> instamadilloCoreTypeLink.InstamadilloCoreTypeLink_pb2.Link: ...
    @property
    def receiverFetchXma(self) -> global___ReceiverFetchXma: ...
    @property
    def media(self) -> instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media: ...
    @property
    def placeholder(self) -> global___Placeholder: ...
    @property
    def collection(self) -> instamadilloCoreTypeCollection.InstamadilloCoreTypeCollection_pb2.Collection: ...
    @property
    def adminMessage(self) -> instamadilloCoreTypeAdminMessage.InstamadilloCoreTypeAdminMessage_pb2.AdminMessage: ...
    @property
    def actionLog(self) -> instamadilloCoreTypeActionLog.InstamadilloCoreTypeActionLog_pb2.ActionLog: ...
    def __init__(
        self,
        *,
        text: instamadilloCoreTypeText.InstamadilloCoreTypeText_pb2.Text | None = ...,
        like: global___Like | None = ...,
        link: instamadilloCoreTypeLink.InstamadilloCoreTypeLink_pb2.Link | None = ...,
        receiverFetchXma: global___ReceiverFetchXma | None = ...,
        media: instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media | None = ...,
        placeholder: global___Placeholder | None = ...,
        collection: instamadilloCoreTypeCollection.InstamadilloCoreTypeCollection_pb2.Collection | None = ...,
        adminMessage: instamadilloCoreTypeAdminMessage.InstamadilloCoreTypeAdminMessage_pb2.AdminMessage | None = ...,
        actionLog: instamadilloCoreTypeActionLog.InstamadilloCoreTypeActionLog_pb2.ActionLog | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["actionLog", b"actionLog", "addMessageContent", b"addMessageContent", "adminMessage", b"adminMessage", "collection", b"collection", "like", b"like", "link", b"link", "media", b"media", "placeholder", b"placeholder", "receiverFetchXma", b"receiverFetchXma", "text", b"text"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["actionLog", b"actionLog", "addMessageContent", b"addMessageContent", "adminMessage", b"adminMessage", "collection", b"collection", "like", b"like", "link", b"link", "media", b"media", "placeholder", b"placeholder", "receiverFetchXma", b"receiverFetchXma", "text", b"text"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["addMessageContent", b"addMessageContent"]) -> typing.Literal["text", "like", "link", "receiverFetchXma", "media", "placeholder", "collection", "adminMessage", "actionLog"] | None: ...

global___AddMessageContent = AddMessageContent

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

    SENDSILENTLY_FIELD_NUMBER: builtins.int
    PRIVATEREPLYINFO_FIELD_NUMBER: builtins.int
    REPLIEDTOMESSAGE_FIELD_NUMBER: builtins.int
    FORWARDINGPARAMS_FIELD_NUMBER: builtins.int
    EPHEMERALITYPARAMS_FIELD_NUMBER: builtins.int
    sendSilently: builtins.bool
    @property
    def privateReplyInfo(self) -> global___PrivateReplyInfo: ...
    @property
    def repliedToMessage(self) -> global___RepliedToMessage: ...
    @property
    def forwardingParams(self) -> global___ForwardingParams: ...
    @property
    def ephemeralityParams(self) -> global___EphemeralityParams: ...
    def __init__(
        self,
        *,
        sendSilently: builtins.bool | None = ...,
        privateReplyInfo: global___PrivateReplyInfo | None = ...,
        repliedToMessage: global___RepliedToMessage | None = ...,
        forwardingParams: global___ForwardingParams | None = ...,
        ephemeralityParams: global___EphemeralityParams | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["ephemeralityParams", b"ephemeralityParams", "forwardingParams", b"forwardingParams", "privateReplyInfo", b"privateReplyInfo", "repliedToMessage", b"repliedToMessage", "sendSilently", b"sendSilently"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["ephemeralityParams", b"ephemeralityParams", "forwardingParams", b"forwardingParams", "privateReplyInfo", b"privateReplyInfo", "repliedToMessage", b"repliedToMessage", "sendSilently", b"sendSilently"]) -> None: ...

global___AddMessageMetadata = AddMessageMetadata

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

    REPLIEDTOMESSAGEOTID_FIELD_NUMBER: builtins.int
    REPLIEDTOMESSAGEWASERVERTIMESEC_FIELD_NUMBER: builtins.int
    REPLIEDTOMESSAGECOLLECTIONITEMID_FIELD_NUMBER: builtins.int
    OMMICROSECTS_FIELD_NUMBER: builtins.int
    repliedToMessageOtid: builtins.str
    repliedToMessageWaServerTimeSec: builtins.str
    repliedToMessageCollectionItemID: builtins.str
    @property
    def omMicroSecTS(self) -> global___OpenMessageMicroSecondTimestamp: ...
    def __init__(
        self,
        *,
        repliedToMessageOtid: builtins.str | None = ...,
        repliedToMessageWaServerTimeSec: builtins.str | None = ...,
        repliedToMessageCollectionItemID: builtins.str | None = ...,
        omMicroSecTS: global___OpenMessageMicroSecondTimestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["omMicroSecTS", b"omMicroSecTS", "repliedToMessageCollectionItemID", b"repliedToMessageCollectionItemID", "repliedToMessageOtid", b"repliedToMessageOtid", "repliedToMessageWaServerTimeSec", b"repliedToMessageWaServerTimeSec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["omMicroSecTS", b"omMicroSecTS", "repliedToMessageCollectionItemID", b"repliedToMessageCollectionItemID", "repliedToMessageOtid", b"repliedToMessageOtid", "repliedToMessageWaServerTimeSec", b"repliedToMessageWaServerTimeSec"]) -> None: ...

global___RepliedToMessage = RepliedToMessage

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

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

global___OpenMessageMicroSecondTimestamp = OpenMessageMicroSecondTimestamp

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

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

global___PrivateReplyInfo = PrivateReplyInfo

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

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

global___ForwardingParams = ForwardingParams

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

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

global___EphemeralityParams = EphemeralityParams

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

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

global___Like = Like

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

    CONTENTREF_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    MEDIA_FIELD_NUMBER: builtins.int
    XMACONTENTREF_FIELD_NUMBER: builtins.int
    contentRef: builtins.str
    text: builtins.str
    @property
    def media(self) -> instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media: ...
    @property
    def xmaContentRef(self) -> instamadilloXmaContentRef.InstamadilloXmaContentRef_pb2.XmaContentRef: ...
    def __init__(
        self,
        *,
        contentRef: builtins.str | None = ...,
        text: builtins.str | None = ...,
        media: instamadilloCoreTypeMedia.InstamadilloCoreTypeMedia_pb2.Media | None = ...,
        xmaContentRef: instamadilloXmaContentRef.InstamadilloXmaContentRef_pb2.XmaContentRef | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["contentRef", b"contentRef", "media", b"media", "text", b"text", "xmaContentRef", b"xmaContentRef"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["contentRef", b"contentRef", "media", b"media", "text", b"text", "xmaContentRef", b"xmaContentRef"]) -> None: ...

global___ReceiverFetchXma = ReceiverFetchXma

@typing.final
class Placeholder(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[Placeholder._Type.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        PLACEHOLDER_TYPE_NONE: Placeholder._Type.ValueType  # 0
        PLACEHOLDER_TYPE_DECRYPTION_FAILURE: Placeholder._Type.ValueType  # 1
        PLACEHOLDER_TYPE_NOT_SUPPORTED_NEED_UPDATE: Placeholder._Type.ValueType  # 2
        PLACEHOLDER_TYPE_DEVICE_UNAVAILABLE: Placeholder._Type.ValueType  # 3
        PLACEHOLDER_TYPE_NOT_SUPPORTED_NOT_RECOVERABLE: Placeholder._Type.ValueType  # 4

    class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
    PLACEHOLDER_TYPE_NONE: Placeholder.Type.ValueType  # 0
    PLACEHOLDER_TYPE_DECRYPTION_FAILURE: Placeholder.Type.ValueType  # 1
    PLACEHOLDER_TYPE_NOT_SUPPORTED_NEED_UPDATE: Placeholder.Type.ValueType  # 2
    PLACEHOLDER_TYPE_DEVICE_UNAVAILABLE: Placeholder.Type.ValueType  # 3
    PLACEHOLDER_TYPE_NOT_SUPPORTED_NOT_RECOVERABLE: Placeholder.Type.ValueType  # 4

    PLACEHOLDERTYPE_FIELD_NUMBER: builtins.int
    placeholderType: global___Placeholder.Type.ValueType
    def __init__(
        self,
        *,
        placeholderType: global___Placeholder.Type.ValueType | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["placeholderType", b"placeholderType"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["placeholderType", b"placeholderType"]) -> None: ...

global___Placeholder = Placeholder
