"""
@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 _DMAttrBit:
    ValueType = typing.NewType('ValueType', builtins.int)
    V: typing_extensions.TypeAlias = ValueType
class _DMAttrBitEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DMAttrBit.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    DMAttrBitProtect: _DMAttrBit.ValueType  # 0
    """保护弹幕"""

    DMAttrBitFromLive: _DMAttrBit.ValueType  # 1
    """直播弹幕"""

    DMAttrHighLike: _DMAttrBit.ValueType  # 2
    """高赞弹幕"""

class DMAttrBit(_DMAttrBit, metaclass=_DMAttrBitEnumTypeWrapper):
    """弹幕属性位值"""
    pass

DMAttrBitProtect: DMAttrBit.ValueType  # 0
"""保护弹幕"""

DMAttrBitFromLive: DMAttrBit.ValueType  # 1
"""直播弹幕"""

DMAttrHighLike: DMAttrBit.ValueType  # 2
"""高赞弹幕"""

global___DMAttrBit = DMAttrBit


class _SubtitleType:
    ValueType = typing.NewType('ValueType', builtins.int)
    V: typing_extensions.TypeAlias = ValueType
class _SubtitleTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SubtitleType.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CC: _SubtitleType.ValueType  # 0
    """CC字幕"""

    AI: _SubtitleType.ValueType  # 1
    """AI生成字幕"""

class SubtitleType(_SubtitleType, metaclass=_SubtitleTypeEnumTypeWrapper):
    pass

CC: SubtitleType.ValueType  # 0
"""CC字幕"""

AI: SubtitleType.ValueType  # 1
"""AI生成字幕"""

global___SubtitleType = SubtitleType


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

class BuzzwordShowConfig(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    NAME_FIELD_NUMBER: builtins.int
    SCHEMA_FIELD_NUMBER: builtins.int
    SOURCE_FIELD_NUMBER: builtins.int
    ID_FIELD_NUMBER: builtins.int
    BUZZWORD_ID_FIELD_NUMBER: builtins.int
    SCHEMA_TYPE_FIELD_NUMBER: builtins.int
    name: typing.Text
    """"""

    schema: typing.Text
    """"""

    source: builtins.int
    """"""

    id: builtins.int
    """"""

    buzzword_id: builtins.int
    """"""

    schema_type: builtins.int
    """"""

    def __init__(self,
        *,
        name: typing.Text = ...,
        schema: typing.Text = ...,
        source: builtins.int = ...,
        id: builtins.int = ...,
        buzzword_id: builtins.int = ...,
        schema_type: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["buzzword_id",b"buzzword_id","id",b"id","name",b"name","schema",b"schema","schema_type",b"schema_type","source",b"source"]) -> None: ...
global___BuzzwordShowConfig = BuzzwordShowConfig

class CommandDm(google.protobuf.message.Message):
    """互动弹幕条目信息"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ID_FIELD_NUMBER: builtins.int
    OID_FIELD_NUMBER: builtins.int
    MID_FIELD_NUMBER: builtins.int
    COMMAND_FIELD_NUMBER: builtins.int
    CONTENT_FIELD_NUMBER: builtins.int
    PROGRESS_FIELD_NUMBER: builtins.int
    CTIME_FIELD_NUMBER: builtins.int
    MTIME_FIELD_NUMBER: builtins.int
    EXTRA_FIELD_NUMBER: builtins.int
    IDSTR_FIELD_NUMBER: builtins.int
    id: builtins.int
    """弹幕id"""

    oid: builtins.int
    """对象视频cid"""

    mid: typing.Text
    """发送者mid"""

    command: typing.Text
    """互动弹幕指令"""

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

    progress: builtins.int
    """出现时间"""

    ctime: typing.Text
    """创建时间"""

    mtime: typing.Text
    """发布时间"""

    extra: typing.Text
    """扩展json数据"""

    idStr: typing.Text
    """弹幕id str类型"""

    def __init__(self,
        *,
        id: builtins.int = ...,
        oid: builtins.int = ...,
        mid: typing.Text = ...,
        command: typing.Text = ...,
        content: typing.Text = ...,
        progress: builtins.int = ...,
        ctime: typing.Text = ...,
        mtime: typing.Text = ...,
        extra: typing.Text = ...,
        idStr: 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","idStr",b"idStr","mid",b"mid","mtime",b"mtime","oid",b"oid","progress",b"progress"]) -> None: ...
global___CommandDm = CommandDm

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_SENIOR_MODE_SWITCH_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
    """"""

    player_danmaku_senior_mode_switch: 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 = ...,
        player_danmaku_senior_mode_switch: 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_senior_mode_switch",b"player_danmaku_senior_mode_switch","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 DanmuWebPlayerConfig(google.protobuf.message.Message):
    """web端用户弹幕配置"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    DM_SWITCH_FIELD_NUMBER: builtins.int
    AI_SWITCH_FIELD_NUMBER: builtins.int
    AI_LEVEL_FIELD_NUMBER: builtins.int
    BLOCKTOP_FIELD_NUMBER: builtins.int
    BLOCKSCROLL_FIELD_NUMBER: builtins.int
    BLOCKBOTTOM_FIELD_NUMBER: builtins.int
    BLOCKCOLOR_FIELD_NUMBER: builtins.int
    BLOCKSPECIAL_FIELD_NUMBER: builtins.int
    PREVENTSHADE_FIELD_NUMBER: builtins.int
    DMASK_FIELD_NUMBER: builtins.int
    OPACITY_FIELD_NUMBER: builtins.int
    DMAREA_FIELD_NUMBER: builtins.int
    SPEEDPLUS_FIELD_NUMBER: builtins.int
    FONTSIZE_FIELD_NUMBER: builtins.int
    SCREENSYNC_FIELD_NUMBER: builtins.int
    SPEEDSYNC_FIELD_NUMBER: builtins.int
    FONTFAMILY_FIELD_NUMBER: builtins.int
    BOLD_FIELD_NUMBER: builtins.int
    FONTBORDER_FIELD_NUMBER: builtins.int
    DRAW_TYPE_FIELD_NUMBER: builtins.int
    SENIOR_MODE_SWITCH_FIELD_NUMBER: builtins.int
    dm_switch: builtins.bool
    """是否开启弹幕"""

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

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

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

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

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

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

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

    preventshade: builtins.bool
    """"""

    dmask: builtins.bool
    """"""

    opacity: builtins.float
    """"""

    dmarea: builtins.int
    """"""

    speedplus: builtins.float
    """"""

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

    screensync: builtins.bool
    """"""

    speedsync: builtins.bool
    """"""

    fontfamily: typing.Text
    """"""

    bold: builtins.bool
    """是否使用加粗"""

    fontborder: builtins.int
    """"""

    draw_type: typing.Text
    """弹幕渲染类型"""

    senior_mode_switch: builtins.int
    """"""

    def __init__(self,
        *,
        dm_switch: builtins.bool = ...,
        ai_switch: builtins.bool = ...,
        ai_level: builtins.int = ...,
        blocktop: builtins.bool = ...,
        blockscroll: builtins.bool = ...,
        blockbottom: builtins.bool = ...,
        blockcolor: builtins.bool = ...,
        blockspecial: builtins.bool = ...,
        preventshade: builtins.bool = ...,
        dmask: builtins.bool = ...,
        opacity: builtins.float = ...,
        dmarea: builtins.int = ...,
        speedplus: builtins.float = ...,
        fontsize: builtins.float = ...,
        screensync: builtins.bool = ...,
        speedsync: builtins.bool = ...,
        fontfamily: typing.Text = ...,
        bold: builtins.bool = ...,
        fontborder: builtins.int = ...,
        draw_type: typing.Text = ...,
        senior_mode_switch: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["ai_level",b"ai_level","ai_switch",b"ai_switch","blockbottom",b"blockbottom","blockcolor",b"blockcolor","blockscroll",b"blockscroll","blockspecial",b"blockspecial","blocktop",b"blocktop","bold",b"bold","dm_switch",b"dm_switch","dmarea",b"dmarea","dmask",b"dmask","draw_type",b"draw_type","fontborder",b"fontborder","fontfamily",b"fontfamily","fontsize",b"fontsize","opacity",b"opacity","preventshade",b"preventshade","screensync",b"screensync","senior_mode_switch",b"senior_mode_switch","speedplus",b"speedplus","speedsync",b"speedsync"]) -> None: ...
global___DanmuWebPlayerConfig = DanmuWebPlayerConfig

class DmExpoReportReq(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SESSION_ID_FIELD_NUMBER: builtins.int
    OID_FIELD_NUMBER: builtins.int
    SPMID_FIELD_NUMBER: builtins.int
    session_id: typing.Text
    """"""

    oid: builtins.int
    """"""

    spmid: typing.Text
    """"""

    def __init__(self,
        *,
        session_id: typing.Text = ...,
        oid: builtins.int = ...,
        spmid: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["oid",b"oid","session_id",b"session_id","spmid",b"spmid"]) -> None: ...
global___DmExpoReportReq = DmExpoReportReq

class DmExpoReportRes(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    def __init__(self,
        ) -> None: ...
global___DmExpoReportRes = DmExpoReportRes

class DmPlayerConfigReq(google.protobuf.message.Message):
    """修改弹幕配置-请求"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    TS_FIELD_NUMBER: builtins.int
    SWITCH_FIELD_NUMBER: builtins.int
    SWITCH_SAVE_FIELD_NUMBER: builtins.int
    USE_DEFAULT_CONFIG_FIELD_NUMBER: builtins.int
    AI_RECOMMENDED_SWITCH_FIELD_NUMBER: builtins.int
    AI_RECOMMENDED_LEVEL_FIELD_NUMBER: builtins.int
    BLOCKTOP_FIELD_NUMBER: builtins.int
    BLOCKSCROLL_FIELD_NUMBER: builtins.int
    BLOCKBOTTOM_FIELD_NUMBER: builtins.int
    BLOCKCOLORFUL_FIELD_NUMBER: builtins.int
    BLOCKREPEAT_FIELD_NUMBER: builtins.int
    BLOCKSPECIAL_FIELD_NUMBER: builtins.int
    OPACITY_FIELD_NUMBER: builtins.int
    SCALINGFACTOR_FIELD_NUMBER: builtins.int
    DOMAIN_FIELD_NUMBER: builtins.int
    SPEED_FIELD_NUMBER: builtins.int
    ENABLEBLOCKLIST_FIELD_NUMBER: builtins.int
    INLINEPLAYERDANMAKUSWITCH_FIELD_NUMBER: builtins.int
    SENIOR_MODE_SWITCH_FIELD_NUMBER: builtins.int
    ts: builtins.int
    """"""

    @property
    def switch(self) -> global___PlayerDanmakuSwitch:
        """是否开启弹幕"""
        pass
    @property
    def switch_save(self) -> global___PlayerDanmakuSwitchSave:
        """是否记录弹幕开关设置"""
        pass
    @property
    def use_default_config(self) -> global___PlayerDanmakuUseDefaultConfig:
        """是否使用推荐弹幕设置"""
        pass
    @property
    def ai_recommended_switch(self) -> global___PlayerDanmakuAiRecommendedSwitch:
        """是否开启智能云屏蔽"""
        pass
    @property
    def ai_recommended_level(self) -> global___PlayerDanmakuAiRecommendedLevel:
        """智能云屏蔽等级"""
        pass
    @property
    def blocktop(self) -> global___PlayerDanmakuBlocktop:
        """是否屏蔽顶端弹幕"""
        pass
    @property
    def blockscroll(self) -> global___PlayerDanmakuBlockscroll:
        """是否屏蔽滚动弹幕"""
        pass
    @property
    def blockbottom(self) -> global___PlayerDanmakuBlockbottom:
        """是否屏蔽底端弹幕"""
        pass
    @property
    def blockcolorful(self) -> global___PlayerDanmakuBlockcolorful:
        """是否屏蔽彩色弹幕"""
        pass
    @property
    def blockrepeat(self) -> global___PlayerDanmakuBlockrepeat:
        """是否屏蔽重复弹幕"""
        pass
    @property
    def blockspecial(self) -> global___PlayerDanmakuBlockspecial:
        """是否屏蔽高级弹幕"""
        pass
    @property
    def opacity(self) -> global___PlayerDanmakuOpacity:
        """弹幕不透明度"""
        pass
    @property
    def scalingfactor(self) -> global___PlayerDanmakuScalingfactor:
        """弹幕缩放比例"""
        pass
    @property
    def domain(self) -> global___PlayerDanmakuDomain:
        """弹幕显示区域"""
        pass
    @property
    def speed(self) -> global___PlayerDanmakuSpeed:
        """弹幕速度"""
        pass
    @property
    def enableblocklist(self) -> global___PlayerDanmakuEnableblocklist:
        """是否开启屏蔽列表"""
        pass
    @property
    def inlinePlayerDanmakuSwitch(self) -> global___InlinePlayerDanmakuSwitch:
        """是否开启弹幕"""
        pass
    @property
    def senior_mode_switch(self) -> global___PlayerDanmakuSeniorModeSwitch:
        """"""
        pass
    def __init__(self,
        *,
        ts: builtins.int = ...,
        switch: typing.Optional[global___PlayerDanmakuSwitch] = ...,
        switch_save: typing.Optional[global___PlayerDanmakuSwitchSave] = ...,
        use_default_config: typing.Optional[global___PlayerDanmakuUseDefaultConfig] = ...,
        ai_recommended_switch: typing.Optional[global___PlayerDanmakuAiRecommendedSwitch] = ...,
        ai_recommended_level: typing.Optional[global___PlayerDanmakuAiRecommendedLevel] = ...,
        blocktop: typing.Optional[global___PlayerDanmakuBlocktop] = ...,
        blockscroll: typing.Optional[global___PlayerDanmakuBlockscroll] = ...,
        blockbottom: typing.Optional[global___PlayerDanmakuBlockbottom] = ...,
        blockcolorful: typing.Optional[global___PlayerDanmakuBlockcolorful] = ...,
        blockrepeat: typing.Optional[global___PlayerDanmakuBlockrepeat] = ...,
        blockspecial: typing.Optional[global___PlayerDanmakuBlockspecial] = ...,
        opacity: typing.Optional[global___PlayerDanmakuOpacity] = ...,
        scalingfactor: typing.Optional[global___PlayerDanmakuScalingfactor] = ...,
        domain: typing.Optional[global___PlayerDanmakuDomain] = ...,
        speed: typing.Optional[global___PlayerDanmakuSpeed] = ...,
        enableblocklist: typing.Optional[global___PlayerDanmakuEnableblocklist] = ...,
        inlinePlayerDanmakuSwitch: typing.Optional[global___InlinePlayerDanmakuSwitch] = ...,
        senior_mode_switch: typing.Optional[global___PlayerDanmakuSeniorModeSwitch] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ai_recommended_level",b"ai_recommended_level","ai_recommended_switch",b"ai_recommended_switch","blockbottom",b"blockbottom","blockcolorful",b"blockcolorful","blockrepeat",b"blockrepeat","blockscroll",b"blockscroll","blockspecial",b"blockspecial","blocktop",b"blocktop","domain",b"domain","enableblocklist",b"enableblocklist","inlinePlayerDanmakuSwitch",b"inlinePlayerDanmakuSwitch","opacity",b"opacity","scalingfactor",b"scalingfactor","senior_mode_switch",b"senior_mode_switch","speed",b"speed","switch",b"switch","switch_save",b"switch_save","use_default_config",b"use_default_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["ai_recommended_level",b"ai_recommended_level","ai_recommended_switch",b"ai_recommended_switch","blockbottom",b"blockbottom","blockcolorful",b"blockcolorful","blockrepeat",b"blockrepeat","blockscroll",b"blockscroll","blockspecial",b"blockspecial","blocktop",b"blocktop","domain",b"domain","enableblocklist",b"enableblocklist","inlinePlayerDanmakuSwitch",b"inlinePlayerDanmakuSwitch","opacity",b"opacity","scalingfactor",b"scalingfactor","senior_mode_switch",b"senior_mode_switch","speed",b"speed","switch",b"switch","switch_save",b"switch_save","ts",b"ts","use_default_config",b"use_default_config"]) -> None: ...
global___DmPlayerConfigReq = DmPlayerConfigReq

class DmSegConfig(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PAGE_SIZE_FIELD_NUMBER: builtins.int
    TOTAL_FIELD_NUMBER: builtins.int
    page_size: builtins.int
    """"""

    total: builtins.int
    """"""

    def __init__(self,
        *,
        page_size: builtins.int = ...,
        total: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["page_size",b"page_size","total",b"total"]) -> None: ...
global___DmSegConfig = DmSegConfig

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
    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["oid",b"oid","pid",b"pid","segment_index",b"segment_index","teenagers_mode",b"teenagers_mode","type",b"type"]) -> None: ...
global___DmSegMobileReq = DmSegMobileReq

class DmSegOttReply(google.protobuf.message.Message):
    """ott弹幕列表-响应"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CLOSED_FIELD_NUMBER: builtins.int
    ELEMS_FIELD_NUMBER: builtins.int
    closed: builtins.bool
    """是否已关闭弹幕
    0:未关闭 1:已关闭
    """

    @property
    def elems(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DanmakuElem]:
        """弹幕列表"""
        pass
    def __init__(self,
        *,
        closed: builtins.bool = ...,
        elems: typing.Optional[typing.Iterable[global___DanmakuElem]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["closed",b"closed","elems",b"elems"]) -> None: ...
global___DmSegOttReply = DmSegOttReply

class DmSegOttReq(google.protobuf.message.Message):
    """ott弹幕列表-请求"""
    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
    pid: builtins.int
    """稿件avid/漫画epid"""

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

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

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

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

class DmSegSDKReply(google.protobuf.message.Message):
    """弹幕SDK-响应"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CLOSED_FIELD_NUMBER: builtins.int
    ELEMS_FIELD_NUMBER: builtins.int
    closed: builtins.bool
    """是否已关闭弹幕
    0:未关闭 1:已关闭
    """

    @property
    def elems(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DanmakuElem]:
        """弹幕列表"""
        pass
    def __init__(self,
        *,
        closed: builtins.bool = ...,
        elems: typing.Optional[typing.Iterable[global___DanmakuElem]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["closed",b"closed","elems",b"elems"]) -> None: ...
global___DmSegSDKReply = DmSegSDKReply

class DmSegSDKReq(google.protobuf.message.Message):
    """弹幕SDK-请求"""
    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
    pid: builtins.int
    """稿件avid/漫画epid"""

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

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

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

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

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
    REPORT_FILTER_CONTENT_FIELD_NUMBER: builtins.int
    EXPO_REPORT_FIELD_NUMBER: builtins.int
    BUZZWORD_CONFIG_FIELD_NUMBER: builtins.int
    EXPRESSIONS_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
    """弹幕输入框文案"""

    @property
    def report_filter_content(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """用户举报弹幕 cid维度屏蔽的正则规则"""
        pass
    @property
    def expo_report(self) -> global___ExpoReport:
        """"""
        pass
    @property
    def buzzword_config(self) -> global___BuzzwordConfig:
        """"""
        pass
    @property
    def expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Expressions]:
        """"""
        pass
    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 = ...,
        report_filter_content: typing.Optional[typing.Iterable[typing.Text]] = ...,
        expo_report: typing.Optional[global___ExpoReport] = ...,
        buzzword_config: typing.Optional[global___BuzzwordConfig] = ...,
        expressions: typing.Optional[typing.Iterable[global___Expressions]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["ai_flag",b"ai_flag","buzzword_config",b"buzzword_config","expo_report",b"expo_report","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","buzzword_config",b"buzzword_config","check_box",b"check_box","check_box_show_msg",b"check_box_show_msg","closed",b"closed","expo_report",b"expo_report","expressions",b"expressions","input_placeholder",b"input_placeholder","mask",b"mask","player_config",b"player_config","report_filter_content",b"report_filter_content","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
    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["is_hard_boot",b"is_hard_boot","oid",b"oid","pid",b"pid","spmid",b"spmid","type",b"type"]) -> None: ...
global___DmViewReq = DmViewReq

class DmWebViewReply(google.protobuf.message.Message):
    """web端弹幕元数据-响应"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    STATE_FIELD_NUMBER: builtins.int
    TEXT_FIELD_NUMBER: builtins.int
    TEXT_SIDE_FIELD_NUMBER: builtins.int
    DM_SGE_FIELD_NUMBER: builtins.int
    FLAG_FIELD_NUMBER: builtins.int
    SPECIAL_DMS_FIELD_NUMBER: builtins.int
    CHECK_BOX_FIELD_NUMBER: builtins.int
    COUNT_FIELD_NUMBER: builtins.int
    COMMANDDMS_FIELD_NUMBER: builtins.int
    PLAYER_CONFIG_FIELD_NUMBER: builtins.int
    REPORT_FILTER_CONTENT_FIELD_NUMBER: builtins.int
    EXPRESSIONS_FIELD_NUMBER: builtins.int
    state: builtins.int
    """是否已关闭弹幕
    0:未关闭 1:已关闭
    """

    text: typing.Text
    """"""

    text_side: typing.Text
    """"""

    @property
    def dm_sge(self) -> global___DmSegConfig:
        """分段弹幕配置"""
        pass
    @property
    def flag(self) -> global___DanmakuFlagConfig:
        """云屏蔽配置信息"""
        pass
    @property
    def special_dms(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """高级弹幕专包url(bfs)"""
        pass
    check_box: builtins.bool
    """check box 是否展示"""

    count: builtins.int
    """弹幕数"""

    @property
    def commandDms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CommandDm]:
        """互动弹幕"""
        pass
    @property
    def player_config(self) -> global___DanmuWebPlayerConfig:
        """用户弹幕配置"""
        pass
    @property
    def report_filter_content(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """用户举报弹幕 cid维度屏蔽"""
        pass
    @property
    def expressions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Expressions]:
        """"""
        pass
    def __init__(self,
        *,
        state: builtins.int = ...,
        text: typing.Text = ...,
        text_side: typing.Text = ...,
        dm_sge: typing.Optional[global___DmSegConfig] = ...,
        flag: typing.Optional[global___DanmakuFlagConfig] = ...,
        special_dms: typing.Optional[typing.Iterable[typing.Text]] = ...,
        check_box: builtins.bool = ...,
        count: builtins.int = ...,
        commandDms: typing.Optional[typing.Iterable[global___CommandDm]] = ...,
        player_config: typing.Optional[global___DanmuWebPlayerConfig] = ...,
        report_filter_content: typing.Optional[typing.Iterable[typing.Text]] = ...,
        expressions: typing.Optional[typing.Iterable[global___Expressions]] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["dm_sge",b"dm_sge","flag",b"flag","player_config",b"player_config"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["check_box",b"check_box","commandDms",b"commandDms","count",b"count","dm_sge",b"dm_sge","expressions",b"expressions","flag",b"flag","player_config",b"player_config","report_filter_content",b"report_filter_content","special_dms",b"special_dms","state",b"state","text",b"text","text_side",b"text_side"]) -> None: ...
global___DmWebViewReply = DmWebViewReply

class ExpoReport(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    SHOULD_REPORT_AT_END_FIELD_NUMBER: builtins.int
    should_report_at_end: builtins.bool
    """"""

    def __init__(self,
        *,
        should_report_at_end: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["should_report_at_end",b"should_report_at_end"]) -> None: ...
global___ExpoReport = ExpoReport

class Expression(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    KEYWORD_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    PERIOD_FIELD_NUMBER: builtins.int
    @property
    def keyword(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[typing.Text]:
        """"""
        pass
    url: typing.Text
    """"""

    @property
    def period(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Period]:
        """"""
        pass
    def __init__(self,
        *,
        keyword: typing.Optional[typing.Iterable[typing.Text]] = ...,
        url: typing.Text = ...,
        period: typing.Optional[typing.Iterable[global___Period]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["keyword",b"keyword","period",b"period","url",b"url"]) -> None: ...
global___Expression = Expression

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

class Period(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    START_FIELD_NUMBER: builtins.int
    END_FIELD_NUMBER: builtins.int
    start: builtins.int
    """"""

    end: builtins.int
    """"""

    def __init__(self,
        *,
        start: builtins.int = ...,
        end: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["end",b"end","start",b"start"]) -> None: ...
global___Period = Period

class InlinePlayerDanmakuSwitch(google.protobuf.message.Message):
    """是否开启弹幕"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___InlinePlayerDanmakuSwitch = InlinePlayerDanmakuSwitch

class PlayerDanmakuAiRecommendedLevel(google.protobuf.message.Message):
    """智能云屏蔽等级"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuAiRecommendedLevel = PlayerDanmakuAiRecommendedLevel

class PlayerDanmakuAiRecommendedSwitch(google.protobuf.message.Message):
    """是否开启智能云屏蔽"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuAiRecommendedSwitch = PlayerDanmakuAiRecommendedSwitch

class PlayerDanmakuBlockbottom(google.protobuf.message.Message):
    """是否屏蔽底端弹幕"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuBlockbottom = PlayerDanmakuBlockbottom

class PlayerDanmakuBlockcolorful(google.protobuf.message.Message):
    """是否屏蔽彩色弹幕"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuBlockcolorful = PlayerDanmakuBlockcolorful

class PlayerDanmakuBlockrepeat(google.protobuf.message.Message):
    """是否屏蔽重复弹幕"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuBlockrepeat = PlayerDanmakuBlockrepeat

class PlayerDanmakuBlockscroll(google.protobuf.message.Message):
    """是否屏蔽滚动弹幕"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuBlockscroll = PlayerDanmakuBlockscroll

class PlayerDanmakuBlockspecial(google.protobuf.message.Message):
    """是否屏蔽高级弹幕"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuBlockspecial = PlayerDanmakuBlockspecial

class PlayerDanmakuBlocktop(google.protobuf.message.Message):
    """是否屏蔽顶端弹幕"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuBlocktop = PlayerDanmakuBlocktop

class PlayerDanmakuDomain(google.protobuf.message.Message):
    """弹幕显示区域"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.float
    def __init__(self,
        *,
        value: builtins.float = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuDomain = PlayerDanmakuDomain

class PlayerDanmakuEnableblocklist(google.protobuf.message.Message):
    """是否开启屏蔽列表"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuEnableblocklist = PlayerDanmakuEnableblocklist

class PlayerDanmakuOpacity(google.protobuf.message.Message):
    """弹幕不透明度"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.float
    def __init__(self,
        *,
        value: builtins.float = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuOpacity = PlayerDanmakuOpacity

class PlayerDanmakuScalingfactor(google.protobuf.message.Message):
    """弹幕缩放比例"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.float
    def __init__(self,
        *,
        value: builtins.float = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuScalingfactor = PlayerDanmakuScalingfactor

class PlayerDanmakuSeniorModeSwitch(google.protobuf.message.Message):
    """"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.int
    def __init__(self,
        *,
        value: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuSeniorModeSwitch = PlayerDanmakuSeniorModeSwitch

class PlayerDanmakuSpeed(google.protobuf.message.Message):
    """弹幕速度"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.int
    def __init__(self,
        *,
        value: builtins.int = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuSpeed = PlayerDanmakuSpeed

class PlayerDanmakuSwitch(google.protobuf.message.Message):
    """是否开启弹幕"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    CANIGNORE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    canIgnore: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        canIgnore: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["canIgnore",b"canIgnore","value",b"value"]) -> None: ...
global___PlayerDanmakuSwitch = PlayerDanmakuSwitch

class PlayerDanmakuSwitchSave(google.protobuf.message.Message):
    """是否记录弹幕开关设置"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuSwitchSave = PlayerDanmakuSwitchSave

class PlayerDanmakuUseDefaultConfig(google.protobuf.message.Message):
    """是否使用推荐弹幕设置"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bool
    def __init__(self,
        *,
        value: builtins.bool = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value",b"value"]) -> None: ...
global___PlayerDanmakuUseDefaultConfig = PlayerDanmakuUseDefaultConfig

class Response(google.protobuf.message.Message):
    """修改弹幕配置-响应"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CODE_FIELD_NUMBER: builtins.int
    MESSAGE_FIELD_NUMBER: builtins.int
    code: builtins.int
    """"""

    message: typing.Text
    """"""

    def __init__(self,
        *,
        code: builtins.int = ...,
        message: typing.Text = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["code",b"code","message",b"message"]) -> None: ...
global___Response = Response

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
    TYPE_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
    type: global___SubtitleType.ValueType
    """字幕类型"""

    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] = ...,
        type: global___SubtitleType.ValueType = ...,
        ) -> 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","type",b"type"]) -> 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
