"""
@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.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class CommandDmOtt(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ID_FIELD_NUMBER: builtins.int
    OID_FIELD_NUMBER: builtins.int
    MID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    COMMAND_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    PROGRESS_FIELD_NUMBER: builtins.int
    CTIME_FIELD_NUMBER: builtins.int
    MTIME_FIELD_NUMBER: builtins.int
    EXTRA_FIELD_NUMBER: builtins.int
    ID_STR_FIELD_NUMBER: builtins.int
    id: builtins.int
    """"""

    oid: builtins.int
    """"""

    mid: builtins.int
    """"""

    type: builtins.int
    """"""

    command: typing.Text
    """"""

    content: typing.Text
    """"""

    state: builtins.int
    """"""

    progress: builtins.int
    """"""

    ctime: typing.Text
    """"""

    mtime: typing.Text
    """"""

    extra: typing.Text
    """"""

    id_str: typing.Text
    """"""

    def __init__(self,
        *,
        id: builtins.int = ...,
        oid: builtins.int = ...,
        mid: builtins.int = ...,
        type: builtins.int = ...,
        command: typing.Text = ...,
        content: typing.Text = ...,
        state: builtins.int = ...,
        progress: builtins.int = ...,
        ctime: typing.Text = ...,
        mtime: typing.Text = ...,
        extra: typing.Text = ...,
        id_str: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["command",b"command","content",b"content","ctime",b"ctime","extra",b"extra","id",b"id","id_str",b"id_str","mid",b"mid","mtime",b"mtime","oid",b"oid","progress",b"progress","state",b"state","type",b"type"]) -> None: ...
global___CommandDmOtt = CommandDmOtt

class CommandDmsOttReply(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    COMMAND_DMS_OTT_FIELD_NUMBER: builtins.int
    @property
    def command_dms_ott(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommandDmOtt]:
        """"""
        pass
    def __init__(self,
        *,
        command_dms_ott: typing.Optional[typing.Iterable[global___CommandDmOtt]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["command_dms_ott",b"command_dms_ott"]) -> None: ...
global___CommandDmsOttReply = CommandDmsOttReply

class CommandDmsOttReq(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    AID_FIELD_NUMBER: builtins.int
    CID_FIELD_NUMBER: builtins.int
    MID_FIELD_NUMBER: builtins.int
    aid: builtins.int
    """"""

    cid: builtins.int
    """"""

    mid: builtins.int
    """"""

    def __init__(self,
        *,
        aid: builtins.int = ...,
        cid: builtins.int = ...,
        mid: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["aid",b"aid","cid",b"cid","mid",b"mid"]) -> None: ...
global___CommandDmsOttReq = CommandDmsOttReq

class DanmakuAIFlag(google.protobuf.message.Message):
    """弹幕ai云屏蔽列表"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    DM_FLAGS_FIELD_NUMBER: builtins.int
    @property
    def dm_flags(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DanmakuFlag]:
        """弹幕ai云屏蔽条目"""
        pass
    def __init__(self,
        *,
        dm_flags: typing.Optional[typing.Iterable[global___DanmakuFlag]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["dm_flags",b"dm_flags"]) -> None: ...
global___DanmakuAIFlag = DanmakuAIFlag

class DanmakuElem(google.protobuf.message.Message):
    """弹幕条目"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ID_FIELD_NUMBER: builtins.int
    PROGRESS_FIELD_NUMBER: builtins.int
    MODE_FIELD_NUMBER: builtins.int
    FONTSIZE_FIELD_NUMBER: builtins.int
    COLOR_FIELD_NUMBER: builtins.int
    MIDHASH_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    CTIME_FIELD_NUMBER: builtins.int
    WEIGHT_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    POOL_FIELD_NUMBER: builtins.int
    IDSTR_FIELD_NUMBER: builtins.int
    ATTR_FIELD_NUMBER: builtins.int
    id: builtins.int
    """弹幕dmid"""

    progress: builtins.int
    """弹幕出现位置(单位ms)"""

    mode: builtins.int
    """弹幕类型"""

    fontsize: builtins.int
    """弹幕字号"""

    color: builtins.int
    """弹幕颜色"""

    midHash: typing.Text
    """发送着mid hash"""

    content: typing.Text
    """弹幕正文"""

    ctime: builtins.int
    """发送时间"""

    weight: builtins.int
    """权重 区间:[1,10]"""

    action: typing.Text
    """动作"""

    pool: builtins.int
    """弹幕池"""

    idStr: typing.Text
    """弹幕dmid str"""

    attr: builtins.int
    """弹幕属性位(bin求AND)
    bit0:保护 bit1:直播 bit2:高赞
    """

    def __init__(self,
        *,
        id: builtins.int = ...,
        progress: builtins.int = ...,
        mode: builtins.int = ...,
        fontsize: builtins.int = ...,
        color: builtins.int = ...,
        midHash: typing.Text = ...,
        content: typing.Text = ...,
        ctime: builtins.int = ...,
        weight: builtins.int = ...,
        action: typing.Text = ...,
        pool: builtins.int = ...,
        idStr: typing.Text = ...,
        attr: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["action",b"action","attr",b"attr","color",b"color","content",b"content","ctime",b"ctime","fontsize",b"fontsize","id",b"id","idStr",b"idStr","midHash",b"midHash","mode",b"mode","pool",b"pool","progress",b"progress","weight",b"weight"]) -> None: ...
global___DanmakuElem = DanmakuElem

class DanmakuFlag(google.protobuf.message.Message):
    """弹幕ai云屏蔽条目"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    DMID_FIELD_NUMBER: builtins.int
    FLAG_FIELD_NUMBER: builtins.int
    dmid: builtins.int
    """弹幕dmid"""

    flag: builtins.int
    """评分"""

    def __init__(self,
        *,
        dmid: builtins.int = ...,
        flag: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["dmid",b"dmid","flag",b"flag"]) -> None: ...
global___DanmakuFlag = DanmakuFlag

class DanmakuFlagConfig(google.protobuf.message.Message):
    """云屏蔽配置信息"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    REC_FLAG_FIELD_NUMBER: builtins.int
    REC_TEXT_FIELD_NUMBER: builtins.int
    REC_SWITCH_FIELD_NUMBER: builtins.int
    rec_flag: builtins.int
    """云屏蔽等级"""

    rec_text: typing.Text
    """云屏蔽文案"""

    rec_switch: builtins.int
    """云屏蔽开关"""

    def __init__(self,
        *,
        rec_flag: builtins.int = ...,
        rec_text: typing.Text = ...,
        rec_switch: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["rec_flag",b"rec_flag","rec_switch",b"rec_switch","rec_text",b"rec_text"]) -> None: ...
global___DanmakuFlagConfig = DanmakuFlagConfig

class DanmuDefaultPlayerConfig(google.protobuf.message.Message):
    """弹幕默认配置"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PLAYER_DANMAKU_USE_DEFAULT_CONFIG_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_AI_RECOMMENDED_SWITCH_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_AI_RECOMMENDED_LEVEL_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKTOP_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKSCROLL_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKBOTTOM_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKCOLORFUL_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKREPEAT_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKSPECIAL_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_OPACITY_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_SCALINGFACTOR_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_DOMAIN_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_SPEED_FIELD_NUMBER: builtins.int
    INLINE_PLAYER_DANMAKU_SWITCH_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_SENIOR_MODE_SWITCH_FIELD_NUMBER: builtins.int
    player_danmaku_use_default_config: builtins.bool
    """是否使用推荐弹幕设置"""

    player_danmaku_ai_recommended_switch: builtins.bool
    """是否开启智能云屏蔽"""

    player_danmaku_ai_recommended_level: builtins.int
    """智能云屏蔽等级"""

    player_danmaku_blocktop: builtins.bool
    """是否屏蔽顶端弹幕"""

    player_danmaku_blockscroll: builtins.bool
    """是否屏蔽滚动弹幕"""

    player_danmaku_blockbottom: builtins.bool
    """是否屏蔽底端弹幕"""

    player_danmaku_blockcolorful: builtins.bool
    """是否屏蔽彩色弹幕"""

    player_danmaku_blockrepeat: builtins.bool
    """是否屏蔽重复弹幕"""

    player_danmaku_blockspecial: builtins.bool
    """是否屏蔽高级弹幕"""

    player_danmaku_opacity: builtins.float
    """弹幕不透明度"""

    player_danmaku_scalingfactor: builtins.float
    """弹幕缩放比例"""

    player_danmaku_domain: builtins.float
    """弹幕显示区域"""

    player_danmaku_speed: builtins.int
    """弹幕速度"""

    inline_player_danmaku_switch: builtins.bool
    """是否开启弹幕"""

    player_danmaku_senior_mode_switch: builtins.int
    """"""

    def __init__(self,
        *,
        player_danmaku_use_default_config: builtins.bool = ...,
        player_danmaku_ai_recommended_switch: builtins.bool = ...,
        player_danmaku_ai_recommended_level: builtins.int = ...,
        player_danmaku_blocktop: builtins.bool = ...,
        player_danmaku_blockscroll: builtins.bool = ...,
        player_danmaku_blockbottom: builtins.bool = ...,
        player_danmaku_blockcolorful: builtins.bool = ...,
        player_danmaku_blockrepeat: builtins.bool = ...,
        player_danmaku_blockspecial: builtins.bool = ...,
        player_danmaku_opacity: builtins.float = ...,
        player_danmaku_scalingfactor: builtins.float = ...,
        player_danmaku_domain: builtins.float = ...,
        player_danmaku_speed: builtins.int = ...,
        inline_player_danmaku_switch: builtins.bool = ...,
        player_danmaku_senior_mode_switch: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["inline_player_danmaku_switch",b"inline_player_danmaku_switch","player_danmaku_ai_recommended_level",b"player_danmaku_ai_recommended_level","player_danmaku_ai_recommended_switch",b"player_danmaku_ai_recommended_switch","player_danmaku_blockbottom",b"player_danmaku_blockbottom","player_danmaku_blockcolorful",b"player_danmaku_blockcolorful","player_danmaku_blockrepeat",b"player_danmaku_blockrepeat","player_danmaku_blockscroll",b"player_danmaku_blockscroll","player_danmaku_blockspecial",b"player_danmaku_blockspecial","player_danmaku_blocktop",b"player_danmaku_blocktop","player_danmaku_domain",b"player_danmaku_domain","player_danmaku_opacity",b"player_danmaku_opacity","player_danmaku_scalingfactor",b"player_danmaku_scalingfactor","player_danmaku_senior_mode_switch",b"player_danmaku_senior_mode_switch","player_danmaku_speed",b"player_danmaku_speed","player_danmaku_use_default_config",b"player_danmaku_use_default_config"]) -> None: ...
global___DanmuDefaultPlayerConfig = DanmuDefaultPlayerConfig

class DanmuPlayerConfig(google.protobuf.message.Message):
    """弹幕配置"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PLAYER_DANMAKU_SWITCH_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_SWITCH_SAVE_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_USE_DEFAULT_CONFIG_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_AI_RECOMMENDED_SWITCH_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_AI_RECOMMENDED_LEVEL_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKTOP_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKSCROLL_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKBOTTOM_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKCOLORFUL_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKREPEAT_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_BLOCKSPECIAL_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_OPACITY_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_SCALINGFACTOR_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_DOMAIN_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_SPEED_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_ENABLEBLOCKLIST_FIELD_NUMBER: builtins.int
    INLINE_PLAYER_DANMAKU_SWITCH_FIELD_NUMBER: builtins.int
    INLINE_PLAYER_DANMAKU_CONFIG_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_IOS_SWITCH_SAVE_FIELD_NUMBER: builtins.int
    player_danmaku_switch: builtins.bool
    """是否开启弹幕"""

    player_danmaku_switch_save: builtins.bool
    """是否记录弹幕开关设置"""

    player_danmaku_use_default_config: builtins.bool
    """是否使用推荐弹幕设置"""

    player_danmaku_ai_recommended_switch: builtins.bool
    """是否开启智能云屏蔽"""

    player_danmaku_ai_recommended_level: builtins.int
    """智能云屏蔽等级"""

    player_danmaku_blocktop: builtins.bool
    """是否屏蔽顶端弹幕"""

    player_danmaku_blockscroll: builtins.bool
    """是否屏蔽滚动弹幕"""

    player_danmaku_blockbottom: builtins.bool
    """是否屏蔽底端弹幕"""

    player_danmaku_blockcolorful: builtins.bool
    """是否屏蔽彩色弹幕"""

    player_danmaku_blockrepeat: builtins.bool
    """是否屏蔽重复弹幕"""

    player_danmaku_blockspecial: builtins.bool
    """是否屏蔽高级弹幕"""

    player_danmaku_opacity: builtins.float
    """弹幕不透明度"""

    player_danmaku_scalingfactor: builtins.float
    """弹幕缩放比例"""

    player_danmaku_domain: builtins.float
    """弹幕显示区域"""

    player_danmaku_speed: builtins.int
    """弹幕速度"""

    player_danmaku_enableblocklist: builtins.bool
    """是否开启屏蔽列表"""

    inline_player_danmaku_switch: builtins.bool
    """是否开启弹幕"""

    inline_player_danmaku_config: builtins.int
    """"""

    player_danmaku_ios_switch_save: builtins.int
    """"""

    def __init__(self,
        *,
        player_danmaku_switch: builtins.bool = ...,
        player_danmaku_switch_save: builtins.bool = ...,
        player_danmaku_use_default_config: builtins.bool = ...,
        player_danmaku_ai_recommended_switch: builtins.bool = ...,
        player_danmaku_ai_recommended_level: builtins.int = ...,
        player_danmaku_blocktop: builtins.bool = ...,
        player_danmaku_blockscroll: builtins.bool = ...,
        player_danmaku_blockbottom: builtins.bool = ...,
        player_danmaku_blockcolorful: builtins.bool = ...,
        player_danmaku_blockrepeat: builtins.bool = ...,
        player_danmaku_blockspecial: builtins.bool = ...,
        player_danmaku_opacity: builtins.float = ...,
        player_danmaku_scalingfactor: builtins.float = ...,
        player_danmaku_domain: builtins.float = ...,
        player_danmaku_speed: builtins.int = ...,
        player_danmaku_enableblocklist: builtins.bool = ...,
        inline_player_danmaku_switch: builtins.bool = ...,
        inline_player_danmaku_config: builtins.int = ...,
        player_danmaku_ios_switch_save: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["inline_player_danmaku_config",b"inline_player_danmaku_config","inline_player_danmaku_switch",b"inline_player_danmaku_switch","player_danmaku_ai_recommended_level",b"player_danmaku_ai_recommended_level","player_danmaku_ai_recommended_switch",b"player_danmaku_ai_recommended_switch","player_danmaku_blockbottom",b"player_danmaku_blockbottom","player_danmaku_blockcolorful",b"player_danmaku_blockcolorful","player_danmaku_blockrepeat",b"player_danmaku_blockrepeat","player_danmaku_blockscroll",b"player_danmaku_blockscroll","player_danmaku_blockspecial",b"player_danmaku_blockspecial","player_danmaku_blocktop",b"player_danmaku_blocktop","player_danmaku_domain",b"player_danmaku_domain","player_danmaku_enableblocklist",b"player_danmaku_enableblocklist","player_danmaku_ios_switch_save",b"player_danmaku_ios_switch_save","player_danmaku_opacity",b"player_danmaku_opacity","player_danmaku_scalingfactor",b"player_danmaku_scalingfactor","player_danmaku_speed",b"player_danmaku_speed","player_danmaku_switch",b"player_danmaku_switch","player_danmaku_switch_save",b"player_danmaku_switch_save","player_danmaku_use_default_config",b"player_danmaku_use_default_config"]) -> None: ...
global___DanmuPlayerConfig = DanmuPlayerConfig

class DanmuPlayerDynamicConfig(google.protobuf.message.Message):
    """弹幕显示区域自动配置"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PROGRESS_FIELD_NUMBER: builtins.int
    PLAYER_DANMAKU_DOMAIN_FIELD_NUMBER: builtins.int
    progress: builtins.int
    """时间"""

    player_danmaku_domain: builtins.float
    """弹幕显示区域"""

    def __init__(self,
        *,
        progress: builtins.int = ...,
        player_danmaku_domain: builtins.float = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["player_danmaku_domain",b"player_danmaku_domain","progress",b"progress"]) -> None: ...
global___DanmuPlayerDynamicConfig = DanmuPlayerDynamicConfig

class DanmuPlayerViewConfig(google.protobuf.message.Message):
    """弹幕配置信息"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    DANMUKU_DEFAULT_PLAYER_CONFIG_FIELD_NUMBER: builtins.int
    DANMUKU_PLAYER_CONFIG_FIELD_NUMBER: builtins.int
    DANMUKU_PLAYER_DYNAMIC_CONFIG_FIELD_NUMBER: builtins.int
    @property
    def danmuku_default_player_config(self) -> global___DanmuDefaultPlayerConfig:
        """弹幕默认配置"""
        pass
    @property
    def danmuku_player_config(self) -> global___DanmuPlayerConfig:
        """弹幕用户配置"""
        pass
    @property
    def danmuku_player_dynamic_config(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DanmuPlayerDynamicConfig]:
        """弹幕显示区域自动配置列表"""
        pass
    def __init__(self,
        *,
        danmuku_default_player_config: typing.Optional[global___DanmuDefaultPlayerConfig] = ...,
        danmuku_player_config: typing.Optional[global___DanmuPlayerConfig] = ...,
        danmuku_player_dynamic_config: typing.Optional[typing.Iterable[global___DanmuPlayerDynamicConfig]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["danmuku_default_player_config",b"danmuku_default_player_config","danmuku_player_config",b"danmuku_player_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["danmuku_default_player_config",b"danmuku_default_player_config","danmuku_player_config",b"danmuku_player_config","danmuku_player_dynamic_config",b"danmuku_player_dynamic_config"]) -> None: ...
global___DanmuPlayerViewConfig = DanmuPlayerViewConfig

class DmSegMobileReply(google.protobuf.message.Message):
    """获取弹幕-响应"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ELEMS_FIELD_NUMBER: builtins.int
    STATE_FIELD_NUMBER: builtins.int
    AI_FLAG_FIELD_NUMBER: builtins.int
    @property
    def elems(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DanmakuElem]:
        """弹幕列表"""
        pass
    state: builtins.int
    """是否已关闭弹幕
    0:未关闭 1:已关闭
    """

    @property
    def ai_flag(self) -> global___DanmakuAIFlag:
        """弹幕云屏蔽ai评分值"""
        pass
    def __init__(self,
        *,
        elems: typing.Optional[typing.Iterable[global___DanmakuElem]] = ...,
        state: builtins.int = ...,
        ai_flag: typing.Optional[global___DanmakuAIFlag] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ai_flag",b"ai_flag"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ai_flag",b"ai_flag","elems",b"elems","state",b"state"]) -> None: ...
global___DmSegMobileReply = DmSegMobileReply

class DmSegMobileReq(google.protobuf.message.Message):
    """获取弹幕-请求"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PID_FIELD_NUMBER: builtins.int
    OID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    SEGMENT_INDEX_FIELD_NUMBER: builtins.int
    TEENAGERS_MODE_FIELD_NUMBER: builtins.int
    FROM_FIELD_NUMBER: builtins.int
    pid: builtins.int
    """稿件avid/漫画epid"""

    oid: builtins.int
    """视频cid/漫画cid"""

    type: builtins.int
    """弹幕类型
    1:视频 2:漫画
    """

    segment_index: builtins.int
    """分段(6min)"""

    teenagers_mode: builtins.int
    """是否青少年模式"""

    def __init__(self,
        *,
        pid: builtins.int = ...,
        oid: builtins.int = ...,
        type: builtins.int = ...,
        segment_index: builtins.int = ...,
        teenagers_mode: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["from",b"from","oid",b"oid","pid",b"pid","segment_index",b"segment_index","teenagers_mode",b"teenagers_mode","type",b"type"]) -> None: ...
global___DmSegMobileReq = DmSegMobileReq

class DmViewReply(google.protobuf.message.Message):
    """客户端弹幕元数据-响应"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CLOSED_FIELD_NUMBER: builtins.int
    MASK_FIELD_NUMBER: builtins.int
    SUBTITLE_FIELD_NUMBER: builtins.int
    SPECIAL_DMS_FIELD_NUMBER: builtins.int
    AI_FLAG_FIELD_NUMBER: builtins.int
    PLAYER_CONFIG_FIELD_NUMBER: builtins.int
    SEND_BOX_STYLE_FIELD_NUMBER: builtins.int
    ALLOW_FIELD_NUMBER: builtins.int
    CHECK_BOX_FIELD_NUMBER: builtins.int
    CHECK_BOX_SHOW_MSG_FIELD_NUMBER: builtins.int
    TEXT_PLACEHOLDER_FIELD_NUMBER: builtins.int
    INPUT_PLACEHOLDER_FIELD_NUMBER: builtins.int
    closed: builtins.bool
    """是否已关闭弹幕
    0:未关闭 1:已关闭
    """

    @property
    def mask(self) -> global___VideoMask:
        """智能防挡弹幕蒙版信息"""
        pass
    @property
    def subtitle(self) -> global___VideoSubtitle:
        """视频字幕"""
        pass
    @property
    def special_dms(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """高级弹幕专包url(bfs)"""
        pass
    @property
    def ai_flag(self) -> global___DanmakuFlagConfig:
        """云屏蔽配置信息"""
        pass
    @property
    def player_config(self) -> global___DanmuPlayerViewConfig:
        """弹幕配置信息"""
        pass
    send_box_style: builtins.int
    """弹幕发送框样式"""

    allow: builtins.bool
    """是否允许"""

    check_box: typing.Text
    """check box 是否展示"""

    check_box_show_msg: typing.Text
    """check box 展示文本"""

    text_placeholder: typing.Text
    """展示文案"""

    input_placeholder: typing.Text
    """弹幕输入框文案"""

    def __init__(self,
        *,
        closed: builtins.bool = ...,
        mask: typing.Optional[global___VideoMask] = ...,
        subtitle: typing.Optional[global___VideoSubtitle] = ...,
        special_dms: typing.Optional[typing.Iterable[typing.Text]] = ...,
        ai_flag: typing.Optional[global___DanmakuFlagConfig] = ...,
        player_config: typing.Optional[global___DanmuPlayerViewConfig] = ...,
        send_box_style: builtins.int = ...,
        allow: builtins.bool = ...,
        check_box: typing.Text = ...,
        check_box_show_msg: typing.Text = ...,
        text_placeholder: typing.Text = ...,
        input_placeholder: typing.Text = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ai_flag",b"ai_flag","mask",b"mask","player_config",b"player_config","subtitle",b"subtitle"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ai_flag",b"ai_flag","allow",b"allow","check_box",b"check_box","check_box_show_msg",b"check_box_show_msg","closed",b"closed","input_placeholder",b"input_placeholder","mask",b"mask","player_config",b"player_config","send_box_style",b"send_box_style","special_dms",b"special_dms","subtitle",b"subtitle","text_placeholder",b"text_placeholder"]) -> None: ...
global___DmViewReply = DmViewReply

class DmViewReq(google.protobuf.message.Message):
    """客户端弹幕元数据-请求"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PID_FIELD_NUMBER: builtins.int
    OID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    SPMID_FIELD_NUMBER: builtins.int
    IS_HARD_BOOT_FIELD_NUMBER: builtins.int
    FROM_FIELD_NUMBER: builtins.int
    pid: builtins.int
    """稿件avid/漫画epid"""

    oid: builtins.int
    """视频cid/漫画cid"""

    type: builtins.int
    """弹幕类型
    1:视频 2:漫画
    """

    spmid: typing.Text
    """页面spm"""

    is_hard_boot: builtins.int
    """是否冷启"""

    def __init__(self,
        *,
        pid: builtins.int = ...,
        oid: builtins.int = ...,
        type: builtins.int = ...,
        spmid: typing.Text = ...,
        is_hard_boot: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["from",b"from","is_hard_boot",b"is_hard_boot","oid",b"oid","pid",b"pid","spmid",b"spmid","type",b"type"]) -> None: ...
global___DmViewReq = DmViewReq

class SubtitleItem(google.protobuf.message.Message):
    """单个字幕信息"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ID_FIELD_NUMBER: builtins.int
    ID_STR_FIELD_NUMBER: builtins.int
    LAN_FIELD_NUMBER: builtins.int
    LAN_DOC_FIELD_NUMBER: builtins.int
    SUBTITLE_URL_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    id: builtins.int
    """字幕id"""

    id_str: typing.Text
    """字幕id str"""

    lan: typing.Text
    """字幕语言代码"""

    lan_doc: typing.Text
    """字幕语言"""

    subtitle_url: typing.Text
    """字幕文件url"""

    @property
    def author(self) -> global___UserInfo:
        """字幕作者信息"""
        pass
    def __init__(self,
        *,
        id: builtins.int = ...,
        id_str: typing.Text = ...,
        lan: typing.Text = ...,
        lan_doc: typing.Text = ...,
        subtitle_url: typing.Text = ...,
        author: typing.Optional[global___UserInfo] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["author",b"author"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["author",b"author","id",b"id","id_str",b"id_str","lan",b"lan","lan_doc",b"lan_doc","subtitle_url",b"subtitle_url"]) -> None: ...
global___SubtitleItem = SubtitleItem

class UserInfo(google.protobuf.message.Message):
    """字幕作者信息"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    MID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    SEX_FIELD_NUMBER: builtins.int
    FACE_FIELD_NUMBER: builtins.int
    SIGN_FIELD_NUMBER: builtins.int
    RANK_FIELD_NUMBER: builtins.int
    mid: builtins.int
    """用户mid"""

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

    sex: typing.Text
    """用户性别"""

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

    sign: typing.Text
    """用户签名"""

    rank: builtins.int
    """用户等级"""

    def __init__(self,
        *,
        mid: builtins.int = ...,
        name: typing.Text = ...,
        sex: typing.Text = ...,
        face: typing.Text = ...,
        sign: typing.Text = ...,
        rank: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["face",b"face","mid",b"mid","name",b"name","rank",b"rank","sex",b"sex","sign",b"sign"]) -> None: ...
global___UserInfo = UserInfo

class VideoMask(google.protobuf.message.Message):
    """智能防挡弹幕蒙版信息"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CID_FIELD_NUMBER: builtins.int
    PLAT_FIELD_NUMBER: builtins.int
    FPS_FIELD_NUMBER: builtins.int
    TIME_FIELD_NUMBER: builtins.int
    MASK_URL_FIELD_NUMBER: builtins.int
    cid: builtins.int
    """视频cid"""

    plat: builtins.int
    """平台
    0:web端 1:客户端
    """

    fps: builtins.int
    """帧率"""

    time: builtins.int
    """间隔时间"""

    mask_url: typing.Text
    """蒙版url"""

    def __init__(self,
        *,
        cid: builtins.int = ...,
        plat: builtins.int = ...,
        fps: builtins.int = ...,
        time: builtins.int = ...,
        mask_url: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cid",b"cid","fps",b"fps","mask_url",b"mask_url","plat",b"plat","time",b"time"]) -> None: ...
global___VideoMask = VideoMask

class VideoSubtitle(google.protobuf.message.Message):
    """视频字幕信息"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    LAN_FIELD_NUMBER: builtins.int
    LANDOC_FIELD_NUMBER: builtins.int
    SUBTITLES_FIELD_NUMBER: builtins.int
    lan: typing.Text
    """视频原语言代码"""

    lanDoc: typing.Text
    """视频原语言"""

    @property
    def subtitles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SubtitleItem]:
        """视频字幕列表"""
        pass
    def __init__(self,
        *,
        lan: typing.Text = ...,
        lanDoc: typing.Text = ...,
        subtitles: typing.Optional[typing.Iterable[global___SubtitleItem]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["lan",b"lan","lanDoc",b"lanDoc","subtitles",b"subtitles"]) -> None: ...
global___VideoSubtitle = VideoSubtitle
