"""
@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 _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_SEND_MSG: _CmdId.ValueType  # 200001
    """msg_svr
    发消息
    """

    EN_CMD_ID_SYNC_MSG: _CmdId.ValueType  # 500001
    """sync_msg_svr
    同步消息
    """

    EN_CMD_ID_SYNC_RELATION: _CmdId.ValueType  # 500002
    """同步相关链"""

    EN_CMD_ID_SYNC_ACK: _CmdId.ValueType  # 500003
    """客户端同步消息完成后，向服务器确认同步进度"""

    EN_CMD_ID_SYNC_FETCH_SESSION_MSGS: _CmdId.ValueType  # 500006
    """多端同步版本拉取消息"""

    EN_CMD_ID_SESSION_SVR_GET_SESSIONS: _CmdId.ValueType  # 1000001
    """session_svr
    拉会话列表
    """

    EN_CMD_ID_SESSION_SVR_NEW_SESSIONS: _CmdId.ValueType  # 1000002
    """新消息到达时获取会话列表"""

    EN_CMD_ID_SESSION_SVR_ACK_SESSIONS: _CmdId.ValueType  # 1000003
    """获取已读位置有更新的会话列表"""

    EN_CMD_ID_SESSION_SVR_UPDATE_ACK: _CmdId.ValueType  # 1000004
    """更新已读进度"""

    EN_CMD_ID_SESSION_SVR_SET_TOP: _CmdId.ValueType  # 1000005
    """置顶/取消置顶"""

    EN_CMD_ID_SESSION_SVR_REMOVE_SESSION: _CmdId.ValueType  # 1000007
    """删除会话"""

    EN_CMD_ID_SESSION_SVR_SINGLE_UNREAD: _CmdId.ValueType  # 1000008
    """单聊未读信息数"""

    EN_CMD_ID_SESSION_SVR_MY_GROUP_UNREAD: _CmdId.ValueType  # 1000009
    """我创建的应援团未读数"""

    EN_CMD_ID_SESSION_SVR_UPDATE_UNFLW_READ: _CmdId.ValueType  # 1000010
    """未关注的人批量设置为已读"""

    EN_CMD_ID_SESSION_SVR_GROUP_ASSIS_MSG: _CmdId.ValueType  # 1000011
    """应援团消息助手"""

    EN_CMD_ID_SESSION_SVR_ACK_ASSIS_MSG: _CmdId.ValueType  # 1000012
    """更新应援团小助手消息已拉取进度"""

    EN_CMD_ID_SESSION_SVR_SESSION_DETAIL: _CmdId.ValueType  # 1000015
    """拉会话详情"""

    EN_CMD_ID_SESSION_SVR_BATCH_SESS_DETAIL: _CmdId.ValueType  # 1000016
    """批量拉会话详情"""

    EN_CMD_ID_SESSION_SVR_BATCH_RM_SESSIONS: _CmdId.ValueType  # 1000017
    """批量删除会话"""

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

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

EN_CMD_ID_SEND_MSG: CmdId.ValueType  # 200001
"""msg_svr
发消息
"""

EN_CMD_ID_SYNC_MSG: CmdId.ValueType  # 500001
"""sync_msg_svr
同步消息
"""

EN_CMD_ID_SYNC_RELATION: CmdId.ValueType  # 500002
"""同步相关链"""

EN_CMD_ID_SYNC_ACK: CmdId.ValueType  # 500003
"""客户端同步消息完成后，向服务器确认同步进度"""

EN_CMD_ID_SYNC_FETCH_SESSION_MSGS: CmdId.ValueType  # 500006
"""多端同步版本拉取消息"""

EN_CMD_ID_SESSION_SVR_GET_SESSIONS: CmdId.ValueType  # 1000001
"""session_svr
拉会话列表
"""

EN_CMD_ID_SESSION_SVR_NEW_SESSIONS: CmdId.ValueType  # 1000002
"""新消息到达时获取会话列表"""

EN_CMD_ID_SESSION_SVR_ACK_SESSIONS: CmdId.ValueType  # 1000003
"""获取已读位置有更新的会话列表"""

EN_CMD_ID_SESSION_SVR_UPDATE_ACK: CmdId.ValueType  # 1000004
"""更新已读进度"""

EN_CMD_ID_SESSION_SVR_SET_TOP: CmdId.ValueType  # 1000005
"""置顶/取消置顶"""

EN_CMD_ID_SESSION_SVR_REMOVE_SESSION: CmdId.ValueType  # 1000007
"""删除会话"""

EN_CMD_ID_SESSION_SVR_SINGLE_UNREAD: CmdId.ValueType  # 1000008
"""单聊未读信息数"""

EN_CMD_ID_SESSION_SVR_MY_GROUP_UNREAD: CmdId.ValueType  # 1000009
"""我创建的应援团未读数"""

EN_CMD_ID_SESSION_SVR_UPDATE_UNFLW_READ: CmdId.ValueType  # 1000010
"""未关注的人批量设置为已读"""

EN_CMD_ID_SESSION_SVR_GROUP_ASSIS_MSG: CmdId.ValueType  # 1000011
"""应援团消息助手"""

EN_CMD_ID_SESSION_SVR_ACK_ASSIS_MSG: CmdId.ValueType  # 1000012
"""更新应援团小助手消息已拉取进度"""

EN_CMD_ID_SESSION_SVR_SESSION_DETAIL: CmdId.ValueType  # 1000015
"""拉会话详情"""

EN_CMD_ID_SESSION_SVR_BATCH_SESS_DETAIL: CmdId.ValueType  # 1000016
"""批量拉会话详情"""

EN_CMD_ID_SESSION_SVR_BATCH_RM_SESSIONS: CmdId.ValueType  # 1000017
"""批量删除会话"""

global___CmdId = CmdId


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

    BIZ_MSG_TYPE_CARD_VIDEO: _ENUM_BIZ_MSG_TYPE.ValueType  # 1
    """"""

class ENUM_BIZ_MSG_TYPE(_ENUM_BIZ_MSG_TYPE, metaclass=_ENUM_BIZ_MSG_TYPEEnumTypeWrapper):
    """"""
    pass

BIZ_MSG_TYPE_NORMAL: ENUM_BIZ_MSG_TYPE.ValueType  # 0
""""""

BIZ_MSG_TYPE_CARD_VIDEO: ENUM_BIZ_MSG_TYPE.ValueType  # 1
""""""

global___ENUM_BIZ_MSG_TYPE = ENUM_BIZ_MSG_TYPE


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

    EN_MSG_SOURCE_IOS: _MsgSource.ValueType  # 1
    """"""

    EN_MSG_SOURCE_ANDRIOD: _MsgSource.ValueType  # 2
    """"""

    EN_MSG_SOURCE_H5: _MsgSource.ValueType  # 3
    """"""

    EN_MSG_SOURCE_PC: _MsgSource.ValueType  # 4
    """"""

    EN_MSG_SOURCE_BACKSTAGE: _MsgSource.ValueType  # 5
    """"""

    EN_MSG_SOURCE_BIZ: _MsgSource.ValueType  # 6
    """"""

    EN_MSG_SOURCE_WEB: _MsgSource.ValueType  # 7
    """"""

    EN_MSG_SOURCE_AUTOREPLY_BY_FOLLOWED: _MsgSource.ValueType  # 8
    """"""

    EN_MSG_SOURCE_AUTOREPLY_BY_RECEIVE_MSG: _MsgSource.ValueType  # 9
    """"""

    EN_MSG_SOURCE_AUTOREPLY_BY_KEYWORDS: _MsgSource.ValueType  # 10
    """"""

    EN_MSG_SOURCE_AUTOREPLY_BY_VOYAGE: _MsgSource.ValueType  # 11
    """"""

    EN_MSG_SOURCE_VC_ATTACH_MSG: _MsgSource.ValueType  # 12
    """"""

class MsgSource(_MsgSource, metaclass=_MsgSourceEnumTypeWrapper):
    """消息来源"""
    pass

EN_MSG_SOURCE_UNKONW: MsgSource.ValueType  # 0
""""""

EN_MSG_SOURCE_IOS: MsgSource.ValueType  # 1
""""""

EN_MSG_SOURCE_ANDRIOD: MsgSource.ValueType  # 2
""""""

EN_MSG_SOURCE_H5: MsgSource.ValueType  # 3
""""""

EN_MSG_SOURCE_PC: MsgSource.ValueType  # 4
""""""

EN_MSG_SOURCE_BACKSTAGE: MsgSource.ValueType  # 5
""""""

EN_MSG_SOURCE_BIZ: MsgSource.ValueType  # 6
""""""

EN_MSG_SOURCE_WEB: MsgSource.ValueType  # 7
""""""

EN_MSG_SOURCE_AUTOREPLY_BY_FOLLOWED: MsgSource.ValueType  # 8
""""""

EN_MSG_SOURCE_AUTOREPLY_BY_RECEIVE_MSG: MsgSource.ValueType  # 9
""""""

EN_MSG_SOURCE_AUTOREPLY_BY_KEYWORDS: MsgSource.ValueType  # 10
""""""

EN_MSG_SOURCE_AUTOREPLY_BY_VOYAGE: MsgSource.ValueType  # 11
""""""

EN_MSG_SOURCE_VC_ATTACH_MSG: MsgSource.ValueType  # 12
""""""

global___MsgSource = MsgSource


class _MsgType:
    ValueType = typing.NewType('ValueType', builtins.int)
    V: typing_extensions.TypeAlias = ValueType
class _MsgTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MsgType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    EN_INVALID_MSG_TYPE: _MsgType.ValueType  # 0
    """基础消息类型
    空空的~
    """

    EN_MSG_TYPE_TEXT: _MsgType.ValueType  # 1
    """文本消息"""

    EN_MSG_TYPE_PIC: _MsgType.ValueType  # 2
    """图片消息"""

    EN_MSG_TYPE_AUDIO: _MsgType.ValueType  # 3
    """语音消息"""

    EN_MSG_TYPE_SHARE: _MsgType.ValueType  # 4
    """分享消息"""

    EN_MSG_TYPE_DRAW_BACK: _MsgType.ValueType  # 5
    """撤回消息"""

    EN_MSG_TYPE_CUSTOM_FACE: _MsgType.ValueType  # 6
    """自定义表情"""

    EN_MSG_TYPE_SHARE_V2: _MsgType.ValueType  # 7
    """分享v2消息"""

    EN_MSG_TYPE_SYS_CANCEL: _MsgType.ValueType  # 8
    """系统撤销"""

    EN_MSG_TYPE_MINI_PROGRAM: _MsgType.ValueType  # 9
    """小程序"""

    EN_MSG_TYPE_NOTIFY_MSG: _MsgType.ValueType  # 10
    """扩展消息类型
    业务通知
    """

    EN_MSG_TYPE_VIDEO_CARD: _MsgType.ValueType  # 11
    """视频卡片"""

    EN_MSG_TYPE_ARTICLE_CARD: _MsgType.ValueType  # 12
    """专栏卡片"""

    EN_MSG_TYPE_PICTURE_CARD: _MsgType.ValueType  # 13
    """图片卡"""

    EN_MSG_TYPE_COMMON_SHARE_CARD: _MsgType.ValueType  # 14
    """异形卡"""

    EN_MSG_TYPE_BIZ_MSG_TYPE: _MsgType.ValueType  # 50
    """"""

    EN_MSG_TYPE_GROUP_MEMBER_CHANGED: _MsgType.ValueType  # 101
    """功能类系统消息类型
    群成员变更
    """

    EN_MSG_TYPE_GROUP_STATUS_CHANGED: _MsgType.ValueType  # 102
    """群状态变更"""

    EN_MSG_TYPE_GROUP_DYNAMIC_CHANGED: _MsgType.ValueType  # 103
    """群动态变更"""

    EN_MSG_TYPE_GROUP_LIST_CHANGED: _MsgType.ValueType  # 104
    """群列表变更"""

    EM_MSG_TYPE_FRIEND_LIST_CHANGED: _MsgType.ValueType  # 105
    """好友列表变更"""

    EN_MSG_TYPE_GROUP_DETAIL_CHANGED: _MsgType.ValueType  # 106
    """群详情发生变化"""

    EN_MSG_TYPE_GROUP_MEMBER_ROLE_CHANGED: _MsgType.ValueType  # 107
    """群成员角色发生变化"""

    EN_MSG_TYPE_NOTICE_WATCH_LIST: _MsgType.ValueType  # 108
    """"""

    EN_MSG_TYPE_NOTIFY_NEW_REPLY_RECIEVED: _MsgType.ValueType  # 109
    """消息系统，收到新的reply"""

    EN_MSG_TYPE_NOTIFY_NEW_AT_RECIEVED: _MsgType.ValueType  # 110
    """"""

    EN_MSG_TYPE_NOTIFY_NEW_PRAISE_RECIEVED: _MsgType.ValueType  # 111
    """"""

    EN_MSG_TYPE_NOTIFY_NEW_UP_RECIEVED: _MsgType.ValueType  # 112
    """"""

    EN_MSG_TYPE_NOTIFY_NEW_REPLY_RECIEVED_V2: _MsgType.ValueType  # 113
    """"""

    EN_MSG_TYPE_NOTIFY_NEW_AT_RECIEVED_V2: _MsgType.ValueType  # 114
    """"""

    EN_MSG_TYPE_NOTIFY_NEW_PRAISE_RECIEVED_V2: _MsgType.ValueType  # 115
    """"""

    EN_MSG_TYPE_GROUP_DETAIL_CHANGED_MULTI: _MsgType.ValueType  # 116
    """群详情发生变化,多端同步版本需要即时消息，无需落地"""

    EN_MSG_TYPE_GROUP_MEMBER_ROLE_CHANGED_MULTI: _MsgType.ValueType  # 117
    """群成员角色发生变化,多端同步版本需要即时消息，无需落地"""

    EN_MSG_TYPE_NOTIFY_ANTI_DISTURB: _MsgType.ValueType  # 118
    """"""

    EN_MSG_TYPE_SYS_GROUP_DISSOLVED: _MsgType.ValueType  # 201
    """系统通知栏消息类型
    群解散
    """

    EN_MSG_TYPE_SYS_GROUP_JOINED: _MsgType.ValueType  # 202
    """入群"""

    EN_MSG_TYPE_SYS_GROUP_MEMBER_EXITED: _MsgType.ValueType  # 203
    """成员主动退群"""

    EN_MSG_TYPE_SYS_GROUP_ADMIN_FIRED: _MsgType.ValueType  # 204
    """房管被撤"""

    EN_MSG_TYPE_SYS_GROUP_MEMBER_KICKED: _MsgType.ValueType  # 205
    """成员被T"""

    EN_MSG_TYPE_SYS_GROUP_ADMIN_KICK_OFF: _MsgType.ValueType  # 206
    """管理T人"""

    EN_MSG_TYPE_SYS_GROUP_ADMIN_DUTY: _MsgType.ValueType  # 207
    """管理上任"""

    EN_MSG_TYPE_SYS_GROUP_AUTO_CREATED: _MsgType.ValueType  # 208
    """自动创建"""

    EN_MSG_TYPE_SYS_FRIEND_APPLY: _MsgType.ValueType  # 210
    """好友申请"""

    EN_MSG_TYPE_SYS_FRIEND_APPLY_ACK: _MsgType.ValueType  # 211
    """好友申请通过"""

    EN_MSG_TYPE_SYS_GROUP_APPLY_FOR_JOINING: _MsgType.ValueType  # 212
    """用户加群申请"""

    EN_MSG_TYPE_SYS_GROUP_ADMIN_ACCEPTED_USER_APPLY: _MsgType.ValueType  # 213
    """通知管理员,有其他管理员已经同意用户加群"""

    EN_MSG_TYPE_CHAT_MEMBER_JOINED: _MsgType.ValueType  # 301
    """聊天窗口通知消息类型
    入群
    """

    EN_MSG_TYPE_CHAT_MEMBER_EXITED: _MsgType.ValueType  # 302
    """退群"""

    EN_MSG_TYPE_CHAT_GROUP_FREEZED: _MsgType.ValueType  # 303
    """冻结"""

    EN_MSG_TYPE_CHAT_GROUP_DISSOLVED: _MsgType.ValueType  # 304
    """解散"""

    EN_MSG_TYPE_CHAT_GROUP_CREATED: _MsgType.ValueType  # 305
    """开通应援团"""

    EN_MSG_TYPE_CHAT_POPUP_SESSION: _MsgType.ValueType  # 306
    """弹出会话"""

class MsgType(_MsgType, metaclass=_MsgTypeEnumTypeWrapper):
    """消息类型"""
    pass

EN_INVALID_MSG_TYPE: MsgType.ValueType  # 0
"""基础消息类型
空空的~
"""

EN_MSG_TYPE_TEXT: MsgType.ValueType  # 1
"""文本消息"""

EN_MSG_TYPE_PIC: MsgType.ValueType  # 2
"""图片消息"""

EN_MSG_TYPE_AUDIO: MsgType.ValueType  # 3
"""语音消息"""

EN_MSG_TYPE_SHARE: MsgType.ValueType  # 4
"""分享消息"""

EN_MSG_TYPE_DRAW_BACK: MsgType.ValueType  # 5
"""撤回消息"""

EN_MSG_TYPE_CUSTOM_FACE: MsgType.ValueType  # 6
"""自定义表情"""

EN_MSG_TYPE_SHARE_V2: MsgType.ValueType  # 7
"""分享v2消息"""

EN_MSG_TYPE_SYS_CANCEL: MsgType.ValueType  # 8
"""系统撤销"""

EN_MSG_TYPE_MINI_PROGRAM: MsgType.ValueType  # 9
"""小程序"""

EN_MSG_TYPE_NOTIFY_MSG: MsgType.ValueType  # 10
"""扩展消息类型
业务通知
"""

EN_MSG_TYPE_VIDEO_CARD: MsgType.ValueType  # 11
"""视频卡片"""

EN_MSG_TYPE_ARTICLE_CARD: MsgType.ValueType  # 12
"""专栏卡片"""

EN_MSG_TYPE_PICTURE_CARD: MsgType.ValueType  # 13
"""图片卡"""

EN_MSG_TYPE_COMMON_SHARE_CARD: MsgType.ValueType  # 14
"""异形卡"""

EN_MSG_TYPE_BIZ_MSG_TYPE: MsgType.ValueType  # 50
""""""

EN_MSG_TYPE_GROUP_MEMBER_CHANGED: MsgType.ValueType  # 101
"""功能类系统消息类型
群成员变更
"""

EN_MSG_TYPE_GROUP_STATUS_CHANGED: MsgType.ValueType  # 102
"""群状态变更"""

EN_MSG_TYPE_GROUP_DYNAMIC_CHANGED: MsgType.ValueType  # 103
"""群动态变更"""

EN_MSG_TYPE_GROUP_LIST_CHANGED: MsgType.ValueType  # 104
"""群列表变更"""

EM_MSG_TYPE_FRIEND_LIST_CHANGED: MsgType.ValueType  # 105
"""好友列表变更"""

EN_MSG_TYPE_GROUP_DETAIL_CHANGED: MsgType.ValueType  # 106
"""群详情发生变化"""

EN_MSG_TYPE_GROUP_MEMBER_ROLE_CHANGED: MsgType.ValueType  # 107
"""群成员角色发生变化"""

EN_MSG_TYPE_NOTICE_WATCH_LIST: MsgType.ValueType  # 108
""""""

EN_MSG_TYPE_NOTIFY_NEW_REPLY_RECIEVED: MsgType.ValueType  # 109
"""消息系统，收到新的reply"""

EN_MSG_TYPE_NOTIFY_NEW_AT_RECIEVED: MsgType.ValueType  # 110
""""""

EN_MSG_TYPE_NOTIFY_NEW_PRAISE_RECIEVED: MsgType.ValueType  # 111
""""""

EN_MSG_TYPE_NOTIFY_NEW_UP_RECIEVED: MsgType.ValueType  # 112
""""""

EN_MSG_TYPE_NOTIFY_NEW_REPLY_RECIEVED_V2: MsgType.ValueType  # 113
""""""

EN_MSG_TYPE_NOTIFY_NEW_AT_RECIEVED_V2: MsgType.ValueType  # 114
""""""

EN_MSG_TYPE_NOTIFY_NEW_PRAISE_RECIEVED_V2: MsgType.ValueType  # 115
""""""

EN_MSG_TYPE_GROUP_DETAIL_CHANGED_MULTI: MsgType.ValueType  # 116
"""群详情发生变化,多端同步版本需要即时消息，无需落地"""

EN_MSG_TYPE_GROUP_MEMBER_ROLE_CHANGED_MULTI: MsgType.ValueType  # 117
"""群成员角色发生变化,多端同步版本需要即时消息，无需落地"""

EN_MSG_TYPE_NOTIFY_ANTI_DISTURB: MsgType.ValueType  # 118
""""""

EN_MSG_TYPE_SYS_GROUP_DISSOLVED: MsgType.ValueType  # 201
"""系统通知栏消息类型
群解散
"""

EN_MSG_TYPE_SYS_GROUP_JOINED: MsgType.ValueType  # 202
"""入群"""

EN_MSG_TYPE_SYS_GROUP_MEMBER_EXITED: MsgType.ValueType  # 203
"""成员主动退群"""

EN_MSG_TYPE_SYS_GROUP_ADMIN_FIRED: MsgType.ValueType  # 204
"""房管被撤"""

EN_MSG_TYPE_SYS_GROUP_MEMBER_KICKED: MsgType.ValueType  # 205
"""成员被T"""

EN_MSG_TYPE_SYS_GROUP_ADMIN_KICK_OFF: MsgType.ValueType  # 206
"""管理T人"""

EN_MSG_TYPE_SYS_GROUP_ADMIN_DUTY: MsgType.ValueType  # 207
"""管理上任"""

EN_MSG_TYPE_SYS_GROUP_AUTO_CREATED: MsgType.ValueType  # 208
"""自动创建"""

EN_MSG_TYPE_SYS_FRIEND_APPLY: MsgType.ValueType  # 210
"""好友申请"""

EN_MSG_TYPE_SYS_FRIEND_APPLY_ACK: MsgType.ValueType  # 211
"""好友申请通过"""

EN_MSG_TYPE_SYS_GROUP_APPLY_FOR_JOINING: MsgType.ValueType  # 212
"""用户加群申请"""

EN_MSG_TYPE_SYS_GROUP_ADMIN_ACCEPTED_USER_APPLY: MsgType.ValueType  # 213
"""通知管理员,有其他管理员已经同意用户加群"""

EN_MSG_TYPE_CHAT_MEMBER_JOINED: MsgType.ValueType  # 301
"""聊天窗口通知消息类型
入群
"""

EN_MSG_TYPE_CHAT_MEMBER_EXITED: MsgType.ValueType  # 302
"""退群"""

EN_MSG_TYPE_CHAT_GROUP_FREEZED: MsgType.ValueType  # 303
"""冻结"""

EN_MSG_TYPE_CHAT_GROUP_DISSOLVED: MsgType.ValueType  # 304
"""解散"""

EN_MSG_TYPE_CHAT_GROUP_CREATED: MsgType.ValueType  # 305
"""开通应援团"""

EN_MSG_TYPE_CHAT_POPUP_SESSION: MsgType.ValueType  # 306
"""弹出会话"""

global___MsgType = MsgType


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

    EN_RECVER_TYPE_PEER: _RecverType.ValueType  # 1
    """单人"""

    EN_RECVER_TYPE_GROUP: _RecverType.ValueType  # 2
    """群"""

    EN_RECVER_TYPE_PEERS: _RecverType.ValueType  # 3
    """多人"""

class RecverType(_RecverType, metaclass=_RecverTypeEnumTypeWrapper):
    """接收方类型"""
    pass

EN_NO_MEANING: RecverType.ValueType  # 0
""""""

EN_RECVER_TYPE_PEER: RecverType.ValueType  # 1
"""单人"""

EN_RECVER_TYPE_GROUP: RecverType.ValueType  # 2
"""群"""

EN_RECVER_TYPE_PEERS: RecverType.ValueType  # 3
"""多人"""

global___RecverType = RecverType


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

    EN_ADD_FRIEND: _RelationLogType.ValueType  # 1
    """添加好友"""

    EN_REMOVE_FRIEND: _RelationLogType.ValueType  # 2
    """删除好友"""

    EN_JOIN_GROUP: _RelationLogType.ValueType  # 3
    """加入群"""

    EN_EXIT_GROUP: _RelationLogType.ValueType  # 4
    """退出群"""

class RelationLogType(_RelationLogType, metaclass=_RelationLogTypeEnumTypeWrapper):
    """"""
    pass

EN_INVALID_LOG_TYPE: RelationLogType.ValueType  # 0
""""""

EN_ADD_FRIEND: RelationLogType.ValueType  # 1
"""添加好友"""

EN_REMOVE_FRIEND: RelationLogType.ValueType  # 2
"""删除好友"""

EN_JOIN_GROUP: RelationLogType.ValueType  # 3
"""加入群"""

EN_EXIT_GROUP: RelationLogType.ValueType  # 4
"""退出群"""

global___RelationLogType = RelationLogType


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

    UN_FOLD_SESSION: _SESSION_TYPE.ValueType  # 1
    """"""

    UN_FOLLOW_SINGLE_SESSION: _SESSION_TYPE.ValueType  # 2
    """"""

    MY_GROUP_SESSION: _SESSION_TYPE.ValueType  # 3
    """"""

    ALL_SESSION: _SESSION_TYPE.ValueType  # 4
    """"""

class SESSION_TYPE(_SESSION_TYPE, metaclass=_SESSION_TYPEEnumTypeWrapper):
    """"""
    pass

INVALID_SESSION_TYPE: SESSION_TYPE.ValueType  # 0
""""""

UN_FOLD_SESSION: SESSION_TYPE.ValueType  # 1
""""""

UN_FOLLOW_SINGLE_SESSION: SESSION_TYPE.ValueType  # 2
""""""

MY_GROUP_SESSION: SESSION_TYPE.ValueType  # 3
""""""

ALL_SESSION: SESSION_TYPE.ValueType  # 4
""""""

global___SESSION_TYPE = SESSION_TYPE


class AccountInfo(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NAME_FIELD_NUMBER: builtins.int
    PIC_URL_FIELD_NUMBER: builtins.int
    name: typing.Text
    """"""

    pic_url: typing.Text
    """"""

    def __init__(self,
        *,
        name: typing.Text = ...,
        pic_url: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["name",b"name","pic_url",b"pic_url"]) -> None: ...
global___AccountInfo = AccountInfo

class FriendRelation(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    UID_FIELD_NUMBER: builtins.int
    USER_NAME_FIELD_NUMBER: builtins.int
    FACE_FIELD_NUMBER: builtins.int
    VIP_LEVEL_FIELD_NUMBER: builtins.int
    uid: builtins.int
    """用户mid"""

    user_name: typing.Text
    """用户昵称"""

    face: typing.Text
    """头像url"""

    vip_level: builtins.int
    """vip类型
    0:无 1:月度大会员 2:年度大会员
    """

    def __init__(self,
        *,
        uid: builtins.int = ...,
        user_name: typing.Text = ...,
        face: typing.Text = ...,
        vip_level: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["face",b"face","uid",b"uid","user_name",b"user_name","vip_level",b"vip_level"]) -> None: ...
global___FriendRelation = FriendRelation

class GroupRelation(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    GROUP_ID_FIELD_NUMBER: builtins.int
    OWNER_UID_FIELD_NUMBER: builtins.int
    GROUP_TYPE_FIELD_NUMBER: builtins.int
    GROUP_LEVEL_FIELD_NUMBER: builtins.int
    GROUP_COVER_FIELD_NUMBER: builtins.int
    GROUP_NAME_FIELD_NUMBER: builtins.int
    GROUP_NOTICE_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    MEMBER_ROLE_FIELD_NUMBER: builtins.int
    FANS_MEDAL_NAME_FIELD_NUMBER: builtins.int
    ROOM_ID_FIELD_NUMBER: builtins.int
    group_id: builtins.int
    """"""

    owner_uid: builtins.int
    """"""

    group_type: builtins.int
    """"""

    group_level: builtins.int
    """"""

    group_cover: typing.Text
    """"""

    group_name: typing.Text
    """"""

    group_notice: typing.Text
    """"""

    status: builtins.int
    """"""

    member_role: builtins.int
    """"""

    fans_medal_name: typing.Text
    """"""

    room_id: builtins.int
    """"""

    def __init__(self,
        *,
        group_id: builtins.int = ...,
        owner_uid: builtins.int = ...,
        group_type: builtins.int = ...,
        group_level: builtins.int = ...,
        group_cover: typing.Text = ...,
        group_name: typing.Text = ...,
        group_notice: typing.Text = ...,
        status: builtins.int = ...,
        member_role: builtins.int = ...,
        fans_medal_name: typing.Text = ...,
        room_id: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["fans_medal_name",b"fans_medal_name","group_cover",b"group_cover","group_id",b"group_id","group_level",b"group_level","group_name",b"group_name","group_notice",b"group_notice","group_type",b"group_type","member_role",b"member_role","owner_uid",b"owner_uid","room_id",b"room_id","status",b"status"]) -> None: ...
global___GroupRelation = GroupRelation

class HighText(google.protobuf.message.Message):
    """关键词高亮文本"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TITLE_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    INDEX_FIELD_NUMBER: builtins.int
    title: typing.Text
    """"""

    url: typing.Text
    """"""

    index: builtins.int
    """表示高亮文本应该高亮第几个匹配的文本，ps：比如，“有疑问请联系客服，联系客服时，请说明具体的情况”，一共有2个匹配的文本，要高亮第一个匹配的，则index=1"""

    def __init__(self,
        *,
        title: typing.Text = ...,
        url: typing.Text = ...,
        index: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["index",b"index","title",b"title","url",b"url"]) -> None: ...
global___HighText = HighText

class ImgInfo(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    URL_FIELD_NUMBER: builtins.int
    WIDTH_FIELD_NUMBER: builtins.int
    HEIGHT_FIELD_NUMBER: builtins.int
    IMAGETYPE_FIELD_NUMBER: builtins.int
    url: typing.Text
    """"""

    width: builtins.int
    """"""

    height: builtins.int
    """"""

    imageType: typing.Text
    """"""

    def __init__(self,
        *,
        url: typing.Text = ...,
        width: builtins.int = ...,
        height: builtins.int = ...,
        imageType: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["height",b"height","imageType",b"imageType","url",b"url","width",b"width"]) -> None: ...
global___ImgInfo = ImgInfo

class KeyHitInfos(google.protobuf.message.Message):
    """关键词命中信息"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TOAST_FIELD_NUMBER: builtins.int
    RULE_ID_FIELD_NUMBER: builtins.int
    HIGH_TEXT_FIELD_NUMBER: builtins.int
    toast: typing.Text
    """"""

    rule_id: builtins.int
    """"""

    @property
    def high_text(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HighText]:
        """

        """
        pass
    def __init__(self,
        *,
        toast: typing.Text = ...,
        rule_id: builtins.int = ...,
        high_text: typing.Optional[typing.Iterable[global___HighText]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["high_text",b"high_text","rule_id",b"rule_id","toast",b"toast"]) -> None: ...
global___KeyHitInfos = KeyHitInfos

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
    NOTIFY_CODE_FIELD_NUMBER: builtins.int
    MSG_SOURCE_FIELD_NUMBER: builtins.int
    NEW_FACE_VERSION_FIELD_NUMBER: builtins.int
    KEY_HIT_INFOS_FIELD_NUMBER: builtins.int
    sender_uid: builtins.int
    """发送方mid"""

    receiver_type: global___RecverType.ValueType
    """接收方类型"""

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

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

    msg_type: global___MsgType.ValueType
    """消息类型"""

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

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

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

    @property
    def at_uids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]:
        """@用户列表"""
        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
    """是否为系统撤销"""

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

    msg_source: global___MsgSource.ValueType
    """消息来源"""

    new_face_version: builtins.int
    """如果msg.content有表情字符，则该参数需要置为1"""

    @property
    def key_hit_infos(self) -> global___KeyHitInfos:
        """命中关键词信息"""
        pass
    def __init__(self,
        *,
        sender_uid: builtins.int = ...,
        receiver_type: global___RecverType.ValueType = ...,
        receiver_id: builtins.int = ...,
        cli_msg_id: builtins.int = ...,
        msg_type: global___MsgType.ValueType = ...,
        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 = ...,
        notify_code: typing.Text = ...,
        msg_source: global___MsgSource.ValueType = ...,
        new_face_version: builtins.int = ...,
        key_hit_infos: typing.Optional[global___KeyHitInfos] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["key_hit_infos",b"key_hit_infos"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["at_uids",b"at_uids","cli_msg_id",b"cli_msg_id","content",b"content","key_hit_infos",b"key_hit_infos","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","new_face_version",b"new_face_version","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"]) -> None: ...
global___Msg = Msg

class RelationLog(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    LOG_TYPE_FIELD_NUMBER: builtins.int
    OPLOG_SEQNO_FIELD_NUMBER: builtins.int
    FRIEND_RELATION_FIELD_NUMBER: builtins.int
    GROUP_RELATION_FIELD_NUMBER: builtins.int
    log_type: global___RelationLogType.ValueType
    """操作类型"""

    oplog_seqno: builtins.int
    """操作seqno"""

    @property
    def friend_relation(self) -> global___FriendRelation:
        """好友信息"""
        pass
    @property
    def group_relation(self) -> global___GroupRelation:
        """群信息"""
        pass
    def __init__(self,
        *,
        log_type: global___RelationLogType.ValueType = ...,
        oplog_seqno: builtins.int = ...,
        friend_relation: typing.Optional[global___FriendRelation] = ...,
        group_relation: typing.Optional[global___GroupRelation] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["friend_relation",b"friend_relation","group_relation",b"group_relation"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["friend_relation",b"friend_relation","group_relation",b"group_relation","log_type",b"log_type","oplog_seqno",b"oplog_seqno"]) -> None: ...
global___RelationLog = RelationLog

class SessionInfo(google.protobuf.message.Message):
    """会话详情"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TALKER_ID_FIELD_NUMBER: builtins.int
    SESSION_TYPE_FIELD_NUMBER: builtins.int
    AT_SEQNO_FIELD_NUMBER: builtins.int
    TOP_TS_FIELD_NUMBER: builtins.int
    GROUP_NAME_FIELD_NUMBER: builtins.int
    GROUP_COVER_FIELD_NUMBER: builtins.int
    IS_FOLLOW_FIELD_NUMBER: builtins.int
    IS_DND_FIELD_NUMBER: builtins.int
    ACK_SEQNO_FIELD_NUMBER: builtins.int
    ACK_TS_FIELD_NUMBER: builtins.int
    SESSION_TS_FIELD_NUMBER: builtins.int
    UNREAD_COUNT_FIELD_NUMBER: builtins.int
    LAST_MSG_FIELD_NUMBER: builtins.int
    GROUP_TYPE_FIELD_NUMBER: builtins.int
    CAN_FOLD_FIELD_NUMBER: builtins.int
    STATUS_FIELD_NUMBER: builtins.int
    MAX_SEQNO_FIELD_NUMBER: builtins.int
    NEW_PUSH_MSG_FIELD_NUMBER: builtins.int
    SETTING_FIELD_NUMBER: builtins.int
    IS_GUARDIAN_FIELD_NUMBER: builtins.int
    IS_INTERCEPT_FIELD_NUMBER: builtins.int
    IS_TRUST_FIELD_NUMBER: builtins.int
    SYSTEM_MSG_TYPE_FIELD_NUMBER: builtins.int
    ACCOUNT_INFO_FIELD_NUMBER: builtins.int
    LIVE_STATUS_FIELD_NUMBER: builtins.int
    talker_id: builtins.int
    """"""

    session_type: builtins.int
    """"""

    at_seqno: builtins.int
    """"""

    top_ts: builtins.int
    """"""

    group_name: typing.Text
    """"""

    group_cover: typing.Text
    """"""

    is_follow: builtins.int
    """"""

    is_dnd: builtins.int
    """"""

    ack_seqno: builtins.int
    """"""

    ack_ts: builtins.int
    """"""

    session_ts: builtins.int
    """"""

    unread_count: builtins.int
    """"""

    @property
    def last_msg(self) -> global___Msg:
        """"""
        pass
    group_type: builtins.int
    """"""

    can_fold: builtins.int
    """"""

    status: builtins.int
    """"""

    max_seqno: builtins.int
    """"""

    new_push_msg: builtins.int
    """会话是否有业务通知"""

    setting: builtins.int
    """接收方是否设置接受推送"""

    is_guardian: builtins.int
    """"""

    is_intercept: builtins.int
    """"""

    is_trust: builtins.int
    """"""

    system_msg_type: builtins.int
    """"""

    @property
    def account_info(self) -> global___AccountInfo:
        """"""
        pass
    live_status: builtins.int
    """"""

    def __init__(self,
        *,
        talker_id: builtins.int = ...,
        session_type: builtins.int = ...,
        at_seqno: builtins.int = ...,
        top_ts: builtins.int = ...,
        group_name: typing.Text = ...,
        group_cover: typing.Text = ...,
        is_follow: builtins.int = ...,
        is_dnd: builtins.int = ...,
        ack_seqno: builtins.int = ...,
        ack_ts: builtins.int = ...,
        session_ts: builtins.int = ...,
        unread_count: builtins.int = ...,
        last_msg: typing.Optional[global___Msg] = ...,
        group_type: builtins.int = ...,
        can_fold: builtins.int = ...,
        status: builtins.int = ...,
        max_seqno: builtins.int = ...,
        new_push_msg: builtins.int = ...,
        setting: builtins.int = ...,
        is_guardian: builtins.int = ...,
        is_intercept: builtins.int = ...,
        is_trust: builtins.int = ...,
        system_msg_type: builtins.int = ...,
        account_info: typing.Optional[global___AccountInfo] = ...,
        live_status: builtins.int = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["account_info",b"account_info","last_msg",b"last_msg"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_info",b"account_info","ack_seqno",b"ack_seqno","ack_ts",b"ack_ts","at_seqno",b"at_seqno","can_fold",b"can_fold","group_cover",b"group_cover","group_name",b"group_name","group_type",b"group_type","is_dnd",b"is_dnd","is_follow",b"is_follow","is_guardian",b"is_guardian","is_intercept",b"is_intercept","is_trust",b"is_trust","last_msg",b"last_msg","live_status",b"live_status","max_seqno",b"max_seqno","new_push_msg",b"new_push_msg","session_ts",b"session_ts","session_type",b"session_type","setting",b"setting","status",b"status","system_msg_type",b"system_msg_type","talker_id",b"talker_id","top_ts",b"top_ts","unread_count",b"unread_count"]) -> None: ...
global___SessionInfo = SessionInfo
