"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import bilireq.grpc.protos.bilibili.app.playurl.v1.playurl_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class PlayViewReq(google.protobuf.message.Message):
    """播放页信息-请求"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EP_ID_FIELD_NUMBER: builtins.int
    CID_FIELD_NUMBER: builtins.int
    QN_FIELD_NUMBER: builtins.int
    FNVER_FIELD_NUMBER: builtins.int
    FNVAL_FIELD_NUMBER: builtins.int
    DOWNLOAD_FIELD_NUMBER: builtins.int
    FORCE_HOST_FIELD_NUMBER: builtins.int
    FOURK_FIELD_NUMBER: builtins.int
    SPMID_FIELD_NUMBER: builtins.int
    FROM_SPMID_FIELD_NUMBER: builtins.int
    TEENAGERS_MODE_FIELD_NUMBER: builtins.int
    PREFER_CODEC_TYPE_FIELD_NUMBER: builtins.int
    IS_PREVIEW_FIELD_NUMBER: builtins.int
    ep_id: builtins.int
    """课程epid(与番剧不互通)"""
    cid: builtins.int
    """视频cid"""
    qn: builtins.int
    """清晰度"""
    fnver: builtins.int
    """视频流版本"""
    fnval: builtins.int
    """视频流格式"""
    download: builtins.int
    """下载模式
    0:播放 1:flv下载 2:dash下载
    """
    force_host: builtins.int
    """流url强制是用域名
    0:允许使用ip 1:使用http 2:使用https
    """
    fourk: builtins.bool
    """是否4K"""
    spmid: builtins.str
    """当前页spm"""
    from_spmid: builtins.str
    """上一页spm"""
    teenagers_mode: builtins.int
    """青少年模式"""
    prefer_codec_type: bilibili.app.playurl.v1.playurl_pb2.CodeType.ValueType
    """视频编码"""
    is_preview: builtins.bool
    """是否强制请求预览视频"""
    def __init__(
        self,
        *,
        ep_id: builtins.int = ...,
        cid: builtins.int = ...,
        qn: builtins.int = ...,
        fnver: builtins.int = ...,
        fnval: builtins.int = ...,
        download: builtins.int = ...,
        force_host: builtins.int = ...,
        fourk: builtins.bool = ...,
        spmid: builtins.str = ...,
        from_spmid: builtins.str = ...,
        teenagers_mode: builtins.int = ...,
        prefer_codec_type: bilibili.app.playurl.v1.playurl_pb2.CodeType.ValueType = ...,
        is_preview: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cid", b"cid", "download", b"download", "ep_id", b"ep_id", "fnval", b"fnval", "fnver", b"fnver", "force_host", b"force_host", "fourk", b"fourk", "from_spmid", b"from_spmid", "is_preview", b"is_preview", "prefer_codec_type", b"prefer_codec_type", "qn", b"qn", "spmid", b"spmid", "teenagers_mode", b"teenagers_mode"]) -> None: ...

global___PlayViewReq = PlayViewReq

@typing_extensions.final
class ProjectReq(google.protobuf.message.Message):
    """投屏地址-请求"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EP_ID_FIELD_NUMBER: builtins.int
    CID_FIELD_NUMBER: builtins.int
    QN_FIELD_NUMBER: builtins.int
    FNVER_FIELD_NUMBER: builtins.int
    FNVAL_FIELD_NUMBER: builtins.int
    DOWNLOAD_FIELD_NUMBER: builtins.int
    FORCE_HOST_FIELD_NUMBER: builtins.int
    FOURK_FIELD_NUMBER: builtins.int
    SPMID_FIELD_NUMBER: builtins.int
    FROM_SPMID_FIELD_NUMBER: builtins.int
    PROTOCOL_FIELD_NUMBER: builtins.int
    DEVICE_TYPE_FIELD_NUMBER: builtins.int
    FLV_PROJ_FIELD_NUMBER: builtins.int
    ep_id: builtins.int
    """课程epid(与番剧不互通)"""
    cid: builtins.int
    """视频cid"""
    qn: builtins.int
    """清晰度"""
    fnver: builtins.int
    """视频流版本"""
    fnval: builtins.int
    """视频流格式"""
    download: builtins.int
    """下载模式
    0:播放 1:flv下载 2:dash下载
    """
    force_host: builtins.int
    """流url强制是用域名
    0:允许使用ip 1:使用http 2:使用https
    """
    fourk: builtins.bool
    """是否4K"""
    spmid: builtins.str
    """当前页spm"""
    from_spmid: builtins.str
    """上一页spm"""
    protocol: builtins.int
    """投屏协议
    0:默认乐播 1:自建协议 2:云投屏
    """
    device_type: builtins.int
    """投屏设备
    0:默认其他 1:OTT设备
    """
    flv_proj: builtins.bool
    """是否flv格式"""
    def __init__(
        self,
        *,
        ep_id: builtins.int = ...,
        cid: builtins.int = ...,
        qn: builtins.int = ...,
        fnver: builtins.int = ...,
        fnval: builtins.int = ...,
        download: builtins.int = ...,
        force_host: builtins.int = ...,
        fourk: builtins.bool = ...,
        spmid: builtins.str = ...,
        from_spmid: builtins.str = ...,
        protocol: builtins.int = ...,
        device_type: builtins.int = ...,
        flv_proj: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["cid", b"cid", "device_type", b"device_type", "download", b"download", "ep_id", b"ep_id", "flv_proj", b"flv_proj", "fnval", b"fnval", "fnver", b"fnver", "force_host", b"force_host", "fourk", b"fourk", "from_spmid", b"from_spmid", "protocol", b"protocol", "qn", b"qn", "spmid", b"spmid"]) -> None: ...

global___ProjectReq = ProjectReq

@typing_extensions.final
class PlayViewReply(google.protobuf.message.Message):
    """播放页信息-响应"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VIDEO_INFO_FIELD_NUMBER: builtins.int
    PLAY_CONF_FIELD_NUMBER: builtins.int
    @property
    def video_info(self) -> bilireq.grpc.protos.bilibili.app.playurl.v1.playurl_pb2.VideoInfo:
        """视频url信息"""
    @property
    def play_conf(self) -> global___PlayAbilityConf:
        """禁用功能配置"""
    def __init__(
        self,
        *,
        video_info: bilibili.app.playurl.v1.playurl_pb2.VideoInfo | None = ...,
        play_conf: global___PlayAbilityConf | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["play_conf", b"play_conf", "video_info", b"video_info"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["play_conf", b"play_conf", "video_info", b"video_info"]) -> None: ...

global___PlayViewReply = PlayViewReply

@typing_extensions.final
class PlayAbilityConf(google.protobuf.message.Message):
    """禁用功能配置"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BACKGROUND_PLAY_DISABLE_FIELD_NUMBER: builtins.int
    FLIP_DISABLE_FIELD_NUMBER: builtins.int
    CAST_DISABLE_FIELD_NUMBER: builtins.int
    FEEDBACK_DISABLE_FIELD_NUMBER: builtins.int
    SUBTITLE_DISABLE_FIELD_NUMBER: builtins.int
    PLAYBACK_RATE_DISABLE_FIELD_NUMBER: builtins.int
    TIME_UP_DISABLE_FIELD_NUMBER: builtins.int
    PLAYBACK_MODE_DISABLE_FIELD_NUMBER: builtins.int
    SCALE_MODE_DISABLE_FIELD_NUMBER: builtins.int
    LIKE_DISABLE_FIELD_NUMBER: builtins.int
    DISLIKE_DISABLE_FIELD_NUMBER: builtins.int
    COIN_DISABLE_FIELD_NUMBER: builtins.int
    ELEC_DISABLE_FIELD_NUMBER: builtins.int
    SHARE_DISABLE_FIELD_NUMBER: builtins.int
    SCREEN_SHOT_DISABLE_FIELD_NUMBER: builtins.int
    LOCK_SCREEN_DISABLE_FIELD_NUMBER: builtins.int
    RECOMMEND_DISABLE_FIELD_NUMBER: builtins.int
    PLAYBACK_SPEED_DISABLE_FIELD_NUMBER: builtins.int
    DEFINITION_DISABLE_FIELD_NUMBER: builtins.int
    SELECTIONS_DISABLE_FIELD_NUMBER: builtins.int
    NEXT_DISABLE_FIELD_NUMBER: builtins.int
    EDIT_DM_DISABLE_FIELD_NUMBER: builtins.int
    OUTER_DM_DISABLE_FIELD_NUMBER: builtins.int
    INNER_DM_DISABLE_FIELD_NUMBER: builtins.int
    SMALL_WINDOW_DISABLE_FIELD_NUMBER: builtins.int
    background_play_disable: builtins.bool
    """后台播放"""
    flip_disable: builtins.bool
    """镜像反转"""
    cast_disable: builtins.bool
    """支持投屏"""
    feedback_disable: builtins.bool
    """反馈"""
    subtitle_disable: builtins.bool
    """字幕"""
    playback_rate_disable: builtins.bool
    """播放速度"""
    time_up_disable: builtins.bool
    """定时停止播放"""
    playback_mode_disable: builtins.bool
    """播放方式"""
    scale_mode_disable: builtins.bool
    """画面尺寸"""
    like_disable: builtins.bool
    """顶"""
    dislike_disable: builtins.bool
    """踩"""
    coin_disable: builtins.bool
    """投币"""
    elec_disable: builtins.bool
    """充电"""
    share_disable: builtins.bool
    """分享"""
    screen_shot_disable: builtins.bool
    """截图"""
    lock_screen_disable: builtins.bool
    """锁屏"""
    recommend_disable: builtins.bool
    """相关推荐"""
    playback_speed_disable: builtins.bool
    """倍速"""
    definition_disable: builtins.bool
    """清晰度"""
    selections_disable: builtins.bool
    """选集"""
    next_disable: builtins.bool
    """下一集"""
    edit_dm_disable: builtins.bool
    """编辑弹幕"""
    outer_dm_disable: builtins.bool
    """外层面板弹幕设置"""
    inner_dm_disable: builtins.bool
    """三点内弹幕设置"""
    small_window_disable: builtins.bool
    """画中画"""
    def __init__(
        self,
        *,
        background_play_disable: builtins.bool = ...,
        flip_disable: builtins.bool = ...,
        cast_disable: builtins.bool = ...,
        feedback_disable: builtins.bool = ...,
        subtitle_disable: builtins.bool = ...,
        playback_rate_disable: builtins.bool = ...,
        time_up_disable: builtins.bool = ...,
        playback_mode_disable: builtins.bool = ...,
        scale_mode_disable: builtins.bool = ...,
        like_disable: builtins.bool = ...,
        dislike_disable: builtins.bool = ...,
        coin_disable: builtins.bool = ...,
        elec_disable: builtins.bool = ...,
        share_disable: builtins.bool = ...,
        screen_shot_disable: builtins.bool = ...,
        lock_screen_disable: builtins.bool = ...,
        recommend_disable: builtins.bool = ...,
        playback_speed_disable: builtins.bool = ...,
        definition_disable: builtins.bool = ...,
        selections_disable: builtins.bool = ...,
        next_disable: builtins.bool = ...,
        edit_dm_disable: builtins.bool = ...,
        outer_dm_disable: builtins.bool = ...,
        inner_dm_disable: builtins.bool = ...,
        small_window_disable: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["background_play_disable", b"background_play_disable", "cast_disable", b"cast_disable", "coin_disable", b"coin_disable", "definition_disable", b"definition_disable", "dislike_disable", b"dislike_disable", "edit_dm_disable", b"edit_dm_disable", "elec_disable", b"elec_disable", "feedback_disable", b"feedback_disable", "flip_disable", b"flip_disable", "inner_dm_disable", b"inner_dm_disable", "like_disable", b"like_disable", "lock_screen_disable", b"lock_screen_disable", "next_disable", b"next_disable", "outer_dm_disable", b"outer_dm_disable", "playback_mode_disable", b"playback_mode_disable", "playback_rate_disable", b"playback_rate_disable", "playback_speed_disable", b"playback_speed_disable", "recommend_disable", b"recommend_disable", "scale_mode_disable", b"scale_mode_disable", "screen_shot_disable", b"screen_shot_disable", "selections_disable", b"selections_disable", "share_disable", b"share_disable", "small_window_disable", b"small_window_disable", "subtitle_disable", b"subtitle_disable", "time_up_disable", b"time_up_disable"]) -> None: ...

global___PlayAbilityConf = PlayAbilityConf

@typing_extensions.final
class ProjectReply(google.protobuf.message.Message):
    """投屏地址-响应"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PROJECT_FIELD_NUMBER: builtins.int
    @property
    def project(self) -> bilireq.grpc.protos.bilibili.app.playurl.v1.playurl_pb2.PlayURLReply: ...
    def __init__(
        self,
        *,
        project: bilibili.app.playurl.v1.playurl_pb2.PlayURLReply | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["project", b"project"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["project", b"project"]) -> None: ...

global___ProjectReply = ProjectReply
