"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _PLType:
    ValueType = typing.NewType('ValueType', builtins.int)
    V: typing_extensions.TypeAlias = ValueType
class _PLTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PLType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    EN_PAYLOAD_NORMAL: _PLType.ValueType  # 0
    """"""

    EN_PAYLOAD_BASE64: _PLType.ValueType  # 1
    """"""

class PLType(_PLType, metaclass=_PLTypeEnumTypeWrapper):
    """"""
    pass

EN_PAYLOAD_NORMAL: PLType.ValueType  # 0
""""""

EN_PAYLOAD_BASE64: PLType.ValueType  # 1
""""""

global___PLType = PLType


class _CmdId:
    ValueType = typing.NewType('ValueType', builtins.int)
    V: typing_extensions.TypeAlias = ValueType
class _CmdIdEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CmdId.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    EN_CMD_ID_INVALID: _CmdId.ValueType  # 0
    """非法cmd"""

    EN_CMD_ID_MSG_NOTIFY: _CmdId.ValueType  # 1
    """服务端主动发起"""

    EN_CMD_ID_KICK_OUT: _CmdId.ValueType  # 2
    """"""

class CmdId(_CmdId, metaclass=_CmdIdEnumTypeWrapper):
    """"""
    pass

EN_CMD_ID_INVALID: CmdId.ValueType  # 0
"""非法cmd"""

EN_CMD_ID_MSG_NOTIFY: CmdId.ValueType  # 1
"""服务端主动发起"""

EN_CMD_ID_KICK_OUT: CmdId.ValueType  # 2
""""""

global___CmdId = CmdId


class NotifyRsp(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    UID_FIELD_NUMBER: builtins.int
    CMD_FIELD_NUMBER: builtins.int
    PAYLOAD_FIELD_NUMBER: builtins.int
    PAYLOAD_TYPE_FIELD_NUMBER: builtins.int
    uid: builtins.int
    """"""

    cmd: builtins.int
    """命令id"""

    payload: builtins.bytes
    """"""

    payload_type: global___PLType.ValueType
    """"""

    def __init__(self,
        *,
        uid: builtins.int = ...,
        cmd: builtins.int = ...,
        payload: builtins.bytes = ...,
        payload_type: global___PLType.ValueType = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cmd",b"cmd","payload",b"payload","payload_type",b"payload_type","uid",b"uid"]) -> None: ...
global___NotifyRsp = NotifyRsp

class Msg(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SENDER_UID_FIELD_NUMBER: builtins.int
    RECEIVER_TYPE_FIELD_NUMBER: builtins.int
    RECEIVER_ID_FIELD_NUMBER: builtins.int
    CLI_MSG_ID_FIELD_NUMBER: builtins.int
    MSG_TYPE_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    MSG_SEQNO_FIELD_NUMBER: builtins.int
    TIMESTAMP_FIELD_NUMBER: builtins.int
    AT_UIDS_FIELD_NUMBER: builtins.int
    RECVER_IDS_FIELD_NUMBER: builtins.int
    MSG_KEY_FIELD_NUMBER: builtins.int
    MSG_STATUS_FIELD_NUMBER: builtins.int
    SYS_CANCEL_FIELD_NUMBER: builtins.int
    IS_MULTI_CHAT_FIELD_NUMBER: builtins.int
    WITHDRAW_SEQNO_FIELD_NUMBER: builtins.int
    NOTIFY_CODE_FIELD_NUMBER: builtins.int
    MSG_SOURCE_FIELD_NUMBER: builtins.int
    sender_uid: builtins.int
    """发送方uid"""

    receiver_type: builtins.int
    """接收方类型"""

    receiver_id: builtins.int
    """接收方id"""

    cli_msg_id: builtins.int
    """客户端的序列id 用于服务端去重"""

    msg_type: builtins.int
    """消息类型"""

    content: typing.Text
    """消息内容"""

    msg_seqno: builtins.int
    """服务端的序列号"""

    timestamp: builtins.int
    """消息发送时间（服务端时间）"""

    @property
    def at_uids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
        """at用户列表"""
        pass
    @property
    def recver_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
        """多人消息"""
        pass
    msg_key: builtins.int
    """消息唯一标示"""

    msg_status: builtins.int
    """消息状态"""

    sys_cancel: builtins.bool
    """是否为系统撤销"""

    is_multi_chat: builtins.int
    """是否是多聊消息 目前群通知管理员的部分通知属于该类消息"""

    withdraw_seqno: builtins.int
    """表示撤回的消息的session_seqno 用以后续的比较 实现未读数的正确显示"""

    notify_code: typing.Text
    """通知码"""

    msg_source: builtins.int
    """消息来源"""

    def __init__(self,
        *,
        sender_uid: builtins.int = ...,
        receiver_type: builtins.int = ...,
        receiver_id: builtins.int = ...,
        cli_msg_id: builtins.int = ...,
        msg_type: builtins.int = ...,
        content: typing.Text = ...,
        msg_seqno: builtins.int = ...,
        timestamp: builtins.int = ...,
        at_uids: typing.Optional[typing.Iterable[builtins.int]] = ...,
        recver_ids: typing.Optional[typing.Iterable[builtins.int]] = ...,
        msg_key: builtins.int = ...,
        msg_status: builtins.int = ...,
        sys_cancel: builtins.bool = ...,
        is_multi_chat: builtins.int = ...,
        withdraw_seqno: builtins.int = ...,
        notify_code: typing.Text = ...,
        msg_source: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["at_uids",b"at_uids","cli_msg_id",b"cli_msg_id","content",b"content","is_multi_chat",b"is_multi_chat","msg_key",b"msg_key","msg_seqno",b"msg_seqno","msg_source",b"msg_source","msg_status",b"msg_status","msg_type",b"msg_type","notify_code",b"notify_code","receiver_id",b"receiver_id","receiver_type",b"receiver_type","recver_ids",b"recver_ids","sender_uid",b"sender_uid","sys_cancel",b"sys_cancel","timestamp",b"timestamp","withdraw_seqno",b"withdraw_seqno"]) -> None: ...
global___Msg = Msg

class NotifyInfo(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    MSG_TYPE_FIELD_NUMBER: builtins.int
    TALKER_ID_FIELD_NUMBER: builtins.int
    SESSION_TYPE_FIELD_NUMBER: builtins.int
    msg_type: builtins.int
    """"""

    talker_id: builtins.int
    """"""

    session_type: builtins.int
    """"""

    def __init__(self,
        *,
        msg_type: builtins.int = ...,
        talker_id: builtins.int = ...,
        session_type: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["msg_type",b"msg_type","session_type",b"session_type","talker_id",b"talker_id"]) -> None: ...
global___NotifyInfo = NotifyInfo

class ReqServerNotify(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    LASTEST_SEQNO_FIELD_NUMBER: builtins.int
    INSTANT_MSG_FIELD_NUMBER: builtins.int
    NOTIFY_INFO_FIELD_NUMBER: builtins.int
    lastest_seqno: builtins.int
    """最新序列号"""

    @property
    def instant_msg(self) -> global___Msg:
        """即时消息 该类消息主要用于系统通知 当客户端sync msg时 不会sync到此类消息"""
        pass
    @property
    def notify_info(self) -> global___NotifyInfo:
        """"""
        pass
    def __init__(self,
        *,
        lastest_seqno: builtins.int = ...,
        instant_msg: typing.Optional[global___Msg] = ...,
        notify_info: typing.Optional[global___NotifyInfo] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["instant_msg",b"instant_msg","notify_info",b"notify_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["instant_msg",b"instant_msg","lastest_seqno",b"lastest_seqno","notify_info",b"notify_info"]) -> None: ...
global___ReqServerNotify = ReqServerNotify
