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

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
from instamadilloCoreTypeActionLog import InstamadilloCoreTypeActionLog_pb2 as _InstamadilloCoreTypeActionLog_pb2
from instamadilloCoreTypeAdminMessage import InstamadilloCoreTypeAdminMessage_pb2 as _InstamadilloCoreTypeAdminMessage_pb2
from instamadilloCoreTypeCollection import InstamadilloCoreTypeCollection_pb2 as _InstamadilloCoreTypeCollection_pb2
from instamadilloCoreTypeLink import InstamadilloCoreTypeLink_pb2 as _InstamadilloCoreTypeLink_pb2
from instamadilloCoreTypeMedia import InstamadilloCoreTypeMedia_pb2 as _InstamadilloCoreTypeMedia_pb2
from instamadilloCoreTypeText import InstamadilloCoreTypeText_pb2 as _InstamadilloCoreTypeText_pb2
from instamadilloXmaContentRef import InstamadilloXmaContentRef_pb2 as _InstamadilloXmaContentRef_pb2
import builtins as _builtins
import sys
import typing as _typing

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

DESCRIPTOR: _descriptor.FileDescriptor

@_typing.final
class AddMessagePayload(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    CONTENT_FIELD_NUMBER: _builtins.int
    METADATA_FIELD_NUMBER: _builtins.int
    @_builtins.property
    def content(self) -> Global___AddMessageContent: ...
    @_builtins.property
    def metadata(self) -> Global___AddMessageMetadata: ...
    def __init__(
        self,
        *,
        content: Global___AddMessageContent | None = ...,
        metadata: Global___AddMessageMetadata | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["content", b"content", "metadata", b"metadata"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["content", b"content", "metadata", b"metadata"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AddMessagePayload: _TypeAlias = AddMessagePayload  # noqa: Y015

@_typing.final
class AddMessageContent(_message.Message):
    DESCRIPTOR: _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
    @_builtins.property
    def text(self) -> _InstamadilloCoreTypeText_pb2.Text: ...
    @_builtins.property
    def like(self) -> Global___Like: ...
    @_builtins.property
    def link(self) -> _InstamadilloCoreTypeLink_pb2.Link: ...
    @_builtins.property
    def receiverFetchXma(self) -> Global___ReceiverFetchXma: ...
    @_builtins.property
    def media(self) -> _InstamadilloCoreTypeMedia_pb2.Media: ...
    @_builtins.property
    def placeholder(self) -> Global___Placeholder: ...
    @_builtins.property
    def collection(self) -> _InstamadilloCoreTypeCollection_pb2.Collection: ...
    @_builtins.property
    def adminMessage(self) -> _InstamadilloCoreTypeAdminMessage_pb2.AdminMessage: ...
    @_builtins.property
    def actionLog(self) -> _InstamadilloCoreTypeActionLog_pb2.ActionLog: ...
    def __init__(
        self,
        *,
        text: _InstamadilloCoreTypeText_pb2.Text | None = ...,
        like: Global___Like | None = ...,
        link: _InstamadilloCoreTypeLink_pb2.Link | None = ...,
        receiverFetchXma: Global___ReceiverFetchXma | None = ...,
        media: _InstamadilloCoreTypeMedia_pb2.Media | None = ...,
        placeholder: Global___Placeholder | None = ...,
        collection: _InstamadilloCoreTypeCollection_pb2.Collection | None = ...,
        adminMessage: _InstamadilloCoreTypeAdminMessage_pb2.AdminMessage | None = ...,
        actionLog: _InstamadilloCoreTypeActionLog_pb2.ActionLog | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _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"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _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"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType_addMessageContent: _TypeAlias = _typing.Literal["text", "like", "link", "receiverFetchXma", "media", "placeholder", "collection", "adminMessage", "actionLog"]  # noqa: Y015
    _WhichOneofArgType_addMessageContent: _TypeAlias = _typing.Literal["addMessageContent", b"addMessageContent"]  # noqa: Y015
    def WhichOneof(self, oneof_group: _WhichOneofArgType_addMessageContent) -> _WhichOneofReturnType_addMessageContent | None: ...

Global___AddMessageContent: _TypeAlias = AddMessageContent  # noqa: Y015

@_typing.final
class AddMessageMetadata(_message.Message):
    DESCRIPTOR: _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
    @_builtins.property
    def privateReplyInfo(self) -> Global___PrivateReplyInfo: ...
    @_builtins.property
    def repliedToMessage(self) -> Global___RepliedToMessage: ...
    @_builtins.property
    def forwardingParams(self) -> Global___ForwardingParams: ...
    @_builtins.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: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["ephemeralityParams", b"ephemeralityParams", "forwardingParams", b"forwardingParams", "privateReplyInfo", b"privateReplyInfo", "repliedToMessage", b"repliedToMessage", "sendSilently", b"sendSilently"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["ephemeralityParams", b"ephemeralityParams", "forwardingParams", b"forwardingParams", "privateReplyInfo", b"privateReplyInfo", "repliedToMessage", b"repliedToMessage", "sendSilently", b"sendSilently"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AddMessageMetadata: _TypeAlias = AddMessageMetadata  # noqa: Y015

@_typing.final
class RepliedToMessage(_message.Message):
    DESCRIPTOR: _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
    @_builtins.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: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["omMicroSecTS", b"omMicroSecTS", "repliedToMessageCollectionItemID", b"repliedToMessageCollectionItemID", "repliedToMessageOtid", b"repliedToMessageOtid", "repliedToMessageWaServerTimeSec", b"repliedToMessageWaServerTimeSec"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["omMicroSecTS", b"omMicroSecTS", "repliedToMessageCollectionItemID", b"repliedToMessageCollectionItemID", "repliedToMessageOtid", b"repliedToMessageOtid", "repliedToMessageWaServerTimeSec", b"repliedToMessageWaServerTimeSec"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___RepliedToMessage: _TypeAlias = RepliedToMessage  # noqa: Y015

@_typing.final
class OpenMessageMicroSecondTimestamp(_message.Message):
    DESCRIPTOR: _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: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["microSecondsBits", b"microSecondsBits", "timestampMS", b"timestampMS"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["microSecondsBits", b"microSecondsBits", "timestampMS", b"timestampMS"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___OpenMessageMicroSecondTimestamp: _TypeAlias = OpenMessageMicroSecondTimestamp  # noqa: Y015

@_typing.final
class PrivateReplyInfo(_message.Message):
    DESCRIPTOR: _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: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["commentID", b"commentID", "postLink", b"postLink"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["commentID", b"commentID", "postLink", b"postLink"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___PrivateReplyInfo: _TypeAlias = PrivateReplyInfo  # noqa: Y015

@_typing.final
class ForwardingParams(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    FORWARDEDTHREADID_FIELD_NUMBER: _builtins.int
    forwardedThreadID: _builtins.str
    def __init__(
        self,
        *,
        forwardedThreadID: _builtins.str | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["forwardedThreadID", b"forwardedThreadID"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["forwardedThreadID", b"forwardedThreadID"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ForwardingParams: _TypeAlias = ForwardingParams  # noqa: Y015

@_typing.final
class EphemeralityParams(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    EPHEMERALDURATIONSEC_FIELD_NUMBER: _builtins.int
    ephemeralDurationSec: _builtins.int
    def __init__(
        self,
        *,
        ephemeralDurationSec: _builtins.int | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["ephemeralDurationSec", b"ephemeralDurationSec"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["ephemeralDurationSec", b"ephemeralDurationSec"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___EphemeralityParams: _TypeAlias = EphemeralityParams  # noqa: Y015

@_typing.final
class Like(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

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

Global___Like: _TypeAlias = Like  # noqa: Y015

@_typing.final
class ReceiverFetchXma(_message.Message):
    DESCRIPTOR: _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
    @_builtins.property
    def media(self) -> _InstamadilloCoreTypeMedia_pb2.Media: ...
    @_builtins.property
    def xmaContentRef(self) -> _InstamadilloXmaContentRef_pb2.XmaContentRef: ...
    def __init__(
        self,
        *,
        contentRef: _builtins.str | None = ...,
        text: _builtins.str | None = ...,
        media: _InstamadilloCoreTypeMedia_pb2.Media | None = ...,
        xmaContentRef: _InstamadilloXmaContentRef_pb2.XmaContentRef | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["contentRef", b"contentRef", "media", b"media", "text", b"text", "xmaContentRef", b"xmaContentRef"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["contentRef", b"contentRef", "media", b"media", "text", b"text", "xmaContentRef", b"xmaContentRef"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ReceiverFetchXma: _TypeAlias = ReceiverFetchXma  # noqa: Y015

@_typing.final
class Placeholder(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    class _Type:
        ValueType = _typing.NewType("ValueType", _builtins.int)
        V: _TypeAlias = ValueType  # noqa: Y015

    class _TypeEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[Placeholder._Type.ValueType], _builtins.type):
        DESCRIPTOR: _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: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["placeholderType", b"placeholderType"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["placeholderType", b"placeholderType"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___Placeholder: _TypeAlias = Placeholder  # noqa: Y015
