"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
from builtins import (
    bool,
    bytes,
    int,
)

from google.protobuf.descriptor import (
    Descriptor,
    FileDescriptor,
)

from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer,
    RepeatedScalarFieldContainer,
)

from google.protobuf.message import (
    Message,
)

from typing import (
    Iterable,
    Optional,
    Text,
)

from typing_extensions import (
    Literal,
)


DESCRIPTOR: FileDescriptor

class DelImgReq(Message):
    """tencent/im/cs/cmd0x388/cmd0x388.java

    """
    DESCRIPTOR: Descriptor
    SRC_UIN_FIELD_NUMBER: int
    DST_UIN_FIELD_NUMBER: int
    REQ_TERM_FIELD_NUMBER: int
    REQ_PLATFORM_TYPE_FIELD_NUMBER: int
    BU_TYPE_FIELD_NUMBER: int
    BUILD_VER_FIELD_NUMBER: int
    FILE_RESID_FIELD_NUMBER: int
    PIC_WIDTH_FIELD_NUMBER: int
    PIC_HEIGHT_FIELD_NUMBER: int
    src_uin: int
    dst_uin: int
    req_term: int
    req_platform_type: int
    bu_type: int
    build_ver: bytes
    file_resid: bytes
    pic_width: int
    pic_height: int
    def __init__(self,
        *,
        src_uin: Optional[int] = ...,
        dst_uin: Optional[int] = ...,
        req_term: Optional[int] = ...,
        req_platform_type: Optional[int] = ...,
        bu_type: Optional[int] = ...,
        build_ver: Optional[bytes] = ...,
        file_resid: Optional[bytes] = ...,
        pic_width: Optional[int] = ...,
        pic_height: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["bu_type",b"bu_type","build_ver",b"build_ver","dst_uin",b"dst_uin","file_resid",b"file_resid","pic_height",b"pic_height","pic_width",b"pic_width","req_platform_type",b"req_platform_type","req_term",b"req_term","src_uin",b"src_uin"]) -> bool: ...
    def ClearField(self, field_name: Literal["bu_type",b"bu_type","build_ver",b"build_ver","dst_uin",b"dst_uin","file_resid",b"file_resid","pic_height",b"pic_height","pic_width",b"pic_width","req_platform_type",b"req_platform_type","req_term",b"req_term","src_uin",b"src_uin"]) -> None: ...

class DelImgRsp(Message):
    DESCRIPTOR: Descriptor
    RESULT_FIELD_NUMBER: int
    FAIL_MSG_FIELD_NUMBER: int
    FILE_RESID_FIELD_NUMBER: int
    result: int
    fail_msg: bytes
    file_resid: bytes
    def __init__(self,
        *,
        result: Optional[int] = ...,
        fail_msg: Optional[bytes] = ...,
        file_resid: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["fail_msg",b"fail_msg","file_resid",b"file_resid","result",b"result"]) -> bool: ...
    def ClearField(self, field_name: Literal["fail_msg",b"fail_msg","file_resid",b"file_resid","result",b"result"]) -> None: ...

class ExpRoamExtendInfo(Message):
    DESCRIPTOR: Descriptor
    RESID_FIELD_NUMBER: int
    resid: bytes
    def __init__(self,
        *,
        resid: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["resid",b"resid"]) -> bool: ...
    def ClearField(self, field_name: Literal["resid",b"resid"]) -> None: ...

class ExpRoamPicInfo(Message):
    DESCRIPTOR: Descriptor
    SHOP_FLAG_FIELD_NUMBER: int
    PKG_ID_FIELD_NUMBER: int
    PIC_ID_FIELD_NUMBER: int
    shop_flag: int
    pkg_id: int
    pic_id: bytes
    def __init__(self,
        *,
        shop_flag: Optional[int] = ...,
        pkg_id: Optional[int] = ...,
        pic_id: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["pic_id",b"pic_id","pkg_id",b"pkg_id","shop_flag",b"shop_flag"]) -> bool: ...
    def ClearField(self, field_name: Literal["pic_id",b"pic_id","pkg_id",b"pkg_id","shop_flag",b"shop_flag"]) -> None: ...

class ExtensionCommPicTryUp(Message):
    DESCRIPTOR: Descriptor
    EXTINFO_FIELD_NUMBER: int
    @property
    def extinfo(self) -> RepeatedScalarFieldContainer[bytes]: ...
    def __init__(self,
        *,
        extinfo: Optional[Iterable[bytes]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: Literal["extinfo",b"extinfo"]) -> None: ...

class ExtensionExpRoamTryUp(Message):
    DESCRIPTOR: Descriptor
    EXPROAM_PIC_INFO_FIELD_NUMBER: int
    @property
    def exproam_pic_info(self) -> RepeatedCompositeFieldContainer[ExpRoamPicInfo]: ...
    def __init__(self,
        *,
        exproam_pic_info: Optional[Iterable[ExpRoamPicInfo]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: Literal["exproam_pic_info",b"exproam_pic_info"]) -> None: ...

class GetImgUrlReq(Message):
    DESCRIPTOR: Descriptor
    GROUP_CODE_FIELD_NUMBER: int
    DST_UIN_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    FILE_MD5_FIELD_NUMBER: int
    URL_FLAG_FIELD_NUMBER: int
    URL_TYPE_FIELD_NUMBER: int
    REQ_TERM_FIELD_NUMBER: int
    REQ_PLATFORM_TYPE_FIELD_NUMBER: int
    INNER_IP_FIELD_NUMBER: int
    BU_TYPE_FIELD_NUMBER: int
    BUILD_VER_FIELD_NUMBER: int
    FILE_ID_FIELD_NUMBER: int
    FILE_SIZE_FIELD_NUMBER: int
    ORIGINAL_PIC_FIELD_NUMBER: int
    RETRY_REQ_FIELD_NUMBER: int
    FILE_HEIGHT_FIELD_NUMBER: int
    FILE_WIDTH_FIELD_NUMBER: int
    PIC_TYPE_FIELD_NUMBER: int
    PIC_UP_TIMESTAMP_FIELD_NUMBER: int
    REQ_TRANSFER_TYPE_FIELD_NUMBER: int
    QQMEET_GUILD_ID_FIELD_NUMBER: int
    QQMEET_CHANNEL_ID_FIELD_NUMBER: int
    DOWNLOAD_INDEX_FIELD_NUMBER: int
    group_code: int
    dst_uin: int
    fileid: int
    file_md5: bytes
    url_flag: int
    url_type: int
    req_term: int
    req_platform_type: int
    inner_ip: int
    bu_type: int
    build_ver: bytes
    file_id: int
    file_size: int
    original_pic: int
    retry_req: int
    file_height: int
    file_width: int
    pic_type: int
    pic_up_timestamp: int
    req_transfer_type: int
    qqmeet_guild_id: int
    qqmeet_channel_id: int
    download_index: bytes
    def __init__(self,
        *,
        group_code: Optional[int] = ...,
        dst_uin: Optional[int] = ...,
        fileid: Optional[int] = ...,
        file_md5: Optional[bytes] = ...,
        url_flag: Optional[int] = ...,
        url_type: Optional[int] = ...,
        req_term: Optional[int] = ...,
        req_platform_type: Optional[int] = ...,
        inner_ip: Optional[int] = ...,
        bu_type: Optional[int] = ...,
        build_ver: Optional[bytes] = ...,
        file_id: Optional[int] = ...,
        file_size: Optional[int] = ...,
        original_pic: Optional[int] = ...,
        retry_req: Optional[int] = ...,
        file_height: Optional[int] = ...,
        file_width: Optional[int] = ...,
        pic_type: Optional[int] = ...,
        pic_up_timestamp: Optional[int] = ...,
        req_transfer_type: Optional[int] = ...,
        qqmeet_guild_id: Optional[int] = ...,
        qqmeet_channel_id: Optional[int] = ...,
        download_index: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["bu_type",b"bu_type","build_ver",b"build_ver","download_index",b"download_index","dst_uin",b"dst_uin","file_height",b"file_height","file_id",b"file_id","file_md5",b"file_md5","file_size",b"file_size","file_width",b"file_width","fileid",b"fileid","group_code",b"group_code","inner_ip",b"inner_ip","original_pic",b"original_pic","pic_type",b"pic_type","pic_up_timestamp",b"pic_up_timestamp","qqmeet_channel_id",b"qqmeet_channel_id","qqmeet_guild_id",b"qqmeet_guild_id","req_platform_type",b"req_platform_type","req_term",b"req_term","req_transfer_type",b"req_transfer_type","retry_req",b"retry_req","url_flag",b"url_flag","url_type",b"url_type"]) -> bool: ...
    def ClearField(self, field_name: Literal["bu_type",b"bu_type","build_ver",b"build_ver","download_index",b"download_index","dst_uin",b"dst_uin","file_height",b"file_height","file_id",b"file_id","file_md5",b"file_md5","file_size",b"file_size","file_width",b"file_width","fileid",b"fileid","group_code",b"group_code","inner_ip",b"inner_ip","original_pic",b"original_pic","pic_type",b"pic_type","pic_up_timestamp",b"pic_up_timestamp","qqmeet_channel_id",b"qqmeet_channel_id","qqmeet_guild_id",b"qqmeet_guild_id","req_platform_type",b"req_platform_type","req_term",b"req_term","req_transfer_type",b"req_transfer_type","retry_req",b"retry_req","url_flag",b"url_flag","url_type",b"url_type"]) -> None: ...

class GetImgUrlRsp(Message):
    DESCRIPTOR: Descriptor
    FILEID_FIELD_NUMBER: int
    FILE_MD5_FIELD_NUMBER: int
    RESULT_FIELD_NUMBER: int
    FAIL_MSG_FIELD_NUMBER: int
    IMG_INFO_FIELD_NUMBER: int
    THUMB_DOWN_URL_FIELD_NUMBER: int
    ORIGINAL_DOWN_URL_FIELD_NUMBER: int
    BIG_DOWN_URL_FIELD_NUMBER: int
    DOWN_IP_FIELD_NUMBER: int
    DOWN_PORT_FIELD_NUMBER: int
    DOWN_DOMAIN_FIELD_NUMBER: int
    THUMB_DOWN_PARA_FIELD_NUMBER: int
    ORIGINAL_DOWN_PARA_FIELD_NUMBER: int
    BIG_DOWN_PARA_FIELD_NUMBER: int
    FILE_ID_FIELD_NUMBER: int
    AUTO_DOWN_TYPE_FIELD_NUMBER: int
    ORDER_DOWN_TYPE_FIELD_NUMBER: int
    BIG_THUMB_DOWN_PARA_FIELD_NUMBER: int
    HTTPS_URL_FLAG_FIELD_NUMBER: int
    DOWN_IP6_FIELD_NUMBER: int
    CLIENT_IP6_FIELD_NUMBER: int
    fileid: int
    file_md5: bytes
    result: int
    fail_msg: bytes
    @property
    def img_info(self) -> ImgInfo: ...
    @property
    def thumb_down_url(self) -> RepeatedScalarFieldContainer[bytes]: ...
    @property
    def original_down_url(self) -> RepeatedScalarFieldContainer[bytes]: ...
    @property
    def big_down_url(self) -> RepeatedScalarFieldContainer[bytes]: ...
    @property
    def down_ip(self) -> RepeatedScalarFieldContainer[int]: ...
    @property
    def down_port(self) -> RepeatedScalarFieldContainer[int]: ...
    down_domain: bytes
    thumb_down_para: bytes
    original_down_para: bytes
    big_down_para: bytes
    file_id: int
    auto_down_type: int
    @property
    def order_down_type(self) -> RepeatedScalarFieldContainer[int]: ...
    big_thumb_down_para: bytes
    https_url_flag: int
    @property
    def down_ip6(self) -> RepeatedCompositeFieldContainer[IPv6Info]: ...
    client_ip6: bytes
    def __init__(self,
        *,
        fileid: Optional[int] = ...,
        file_md5: Optional[bytes] = ...,
        result: Optional[int] = ...,
        fail_msg: Optional[bytes] = ...,
        img_info: Optional[ImgInfo] = ...,
        thumb_down_url: Optional[Iterable[bytes]] = ...,
        original_down_url: Optional[Iterable[bytes]] = ...,
        big_down_url: Optional[Iterable[bytes]] = ...,
        down_ip: Optional[Iterable[int]] = ...,
        down_port: Optional[Iterable[int]] = ...,
        down_domain: Optional[bytes] = ...,
        thumb_down_para: Optional[bytes] = ...,
        original_down_para: Optional[bytes] = ...,
        big_down_para: Optional[bytes] = ...,
        file_id: Optional[int] = ...,
        auto_down_type: Optional[int] = ...,
        order_down_type: Optional[Iterable[int]] = ...,
        big_thumb_down_para: Optional[bytes] = ...,
        https_url_flag: Optional[int] = ...,
        down_ip6: Optional[Iterable[IPv6Info]] = ...,
        client_ip6: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["auto_down_type",b"auto_down_type","big_down_para",b"big_down_para","big_thumb_down_para",b"big_thumb_down_para","client_ip6",b"client_ip6","down_domain",b"down_domain","fail_msg",b"fail_msg","file_id",b"file_id","file_md5",b"file_md5","fileid",b"fileid","https_url_flag",b"https_url_flag","img_info",b"img_info","original_down_para",b"original_down_para","result",b"result","thumb_down_para",b"thumb_down_para"]) -> bool: ...
    def ClearField(self, field_name: Literal["auto_down_type",b"auto_down_type","big_down_para",b"big_down_para","big_down_url",b"big_down_url","big_thumb_down_para",b"big_thumb_down_para","client_ip6",b"client_ip6","down_domain",b"down_domain","down_ip",b"down_ip","down_ip6",b"down_ip6","down_port",b"down_port","fail_msg",b"fail_msg","file_id",b"file_id","file_md5",b"file_md5","fileid",b"fileid","https_url_flag",b"https_url_flag","img_info",b"img_info","order_down_type",b"order_down_type","original_down_para",b"original_down_para","original_down_url",b"original_down_url","result",b"result","thumb_down_para",b"thumb_down_para","thumb_down_url",b"thumb_down_url"]) -> None: ...

class GetPttUrlReq(Message):
    DESCRIPTOR: Descriptor
    GROUP_CODE_FIELD_NUMBER: int
    DST_UIN_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    FILE_MD5_FIELD_NUMBER: int
    REQ_TERM_FIELD_NUMBER: int
    REQ_PLATFORM_TYPE_FIELD_NUMBER: int
    INNER_IP_FIELD_NUMBER: int
    BU_TYPE_FIELD_NUMBER: int
    BUILD_VER_FIELD_NUMBER: int
    FILE_ID_FIELD_NUMBER: int
    FILE_KEY_FIELD_NUMBER: int
    CODEC_FIELD_NUMBER: int
    BU_ID_FIELD_NUMBER: int
    REQ_TRANSFER_TYPE_FIELD_NUMBER: int
    IS_AUTO_FIELD_NUMBER: int
    group_code: int
    dst_uin: int
    fileid: int
    file_md5: bytes
    req_term: int
    req_platform_type: int
    inner_ip: int
    bu_type: int
    build_ver: bytes
    file_id: int
    file_key: bytes
    codec: int
    bu_id: int
    req_transfer_type: int
    is_auto: int
    def __init__(self,
        *,
        group_code: Optional[int] = ...,
        dst_uin: Optional[int] = ...,
        fileid: Optional[int] = ...,
        file_md5: Optional[bytes] = ...,
        req_term: Optional[int] = ...,
        req_platform_type: Optional[int] = ...,
        inner_ip: Optional[int] = ...,
        bu_type: Optional[int] = ...,
        build_ver: Optional[bytes] = ...,
        file_id: Optional[int] = ...,
        file_key: Optional[bytes] = ...,
        codec: Optional[int] = ...,
        bu_id: Optional[int] = ...,
        req_transfer_type: Optional[int] = ...,
        is_auto: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["bu_id",b"bu_id","bu_type",b"bu_type","build_ver",b"build_ver","codec",b"codec","dst_uin",b"dst_uin","file_id",b"file_id","file_key",b"file_key","file_md5",b"file_md5","fileid",b"fileid","group_code",b"group_code","inner_ip",b"inner_ip","is_auto",b"is_auto","req_platform_type",b"req_platform_type","req_term",b"req_term","req_transfer_type",b"req_transfer_type"]) -> bool: ...
    def ClearField(self, field_name: Literal["bu_id",b"bu_id","bu_type",b"bu_type","build_ver",b"build_ver","codec",b"codec","dst_uin",b"dst_uin","file_id",b"file_id","file_key",b"file_key","file_md5",b"file_md5","fileid",b"fileid","group_code",b"group_code","inner_ip",b"inner_ip","is_auto",b"is_auto","req_platform_type",b"req_platform_type","req_term",b"req_term","req_transfer_type",b"req_transfer_type"]) -> None: ...

class GetPttUrlRsp(Message):
    DESCRIPTOR: Descriptor
    FILEID_FIELD_NUMBER: int
    FILE_MD5_FIELD_NUMBER: int
    RESULT_FIELD_NUMBER: int
    FAIL_MSG_FIELD_NUMBER: int
    DOWN_URL_FIELD_NUMBER: int
    DOWN_IP_FIELD_NUMBER: int
    DOWN_PORT_FIELD_NUMBER: int
    DOWN_DOMAIN_FIELD_NUMBER: int
    DOWN_PARA_FIELD_NUMBER: int
    FILE_ID_FIELD_NUMBER: int
    TRANSFER_TYPE_FIELD_NUMBER: int
    ALLOW_RETRY_FIELD_NUMBER: int
    DOWN_IP6_FIELD_NUMBER: int
    CLIENT_IP6_FIELD_NUMBER: int
    DOMAIN_FIELD_NUMBER: int
    fileid: int
    file_md5: bytes
    result: int
    fail_msg: bytes
    @property
    def down_url(self) -> RepeatedScalarFieldContainer[bytes]: ...
    @property
    def down_ip(self) -> RepeatedScalarFieldContainer[int]: ...
    @property
    def down_port(self) -> RepeatedScalarFieldContainer[int]: ...
    down_domain: bytes
    down_para: bytes
    file_id: int
    transfer_type: int
    allow_retry: int
    @property
    def down_ip6(self) -> RepeatedCompositeFieldContainer[IPv6Info]: ...
    client_ip6: bytes
    domain: Text
    def __init__(self,
        *,
        fileid: Optional[int] = ...,
        file_md5: Optional[bytes] = ...,
        result: Optional[int] = ...,
        fail_msg: Optional[bytes] = ...,
        down_url: Optional[Iterable[bytes]] = ...,
        down_ip: Optional[Iterable[int]] = ...,
        down_port: Optional[Iterable[int]] = ...,
        down_domain: Optional[bytes] = ...,
        down_para: Optional[bytes] = ...,
        file_id: Optional[int] = ...,
        transfer_type: Optional[int] = ...,
        allow_retry: Optional[int] = ...,
        down_ip6: Optional[Iterable[IPv6Info]] = ...,
        client_ip6: Optional[bytes] = ...,
        domain: Optional[Text] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["allow_retry",b"allow_retry","client_ip6",b"client_ip6","domain",b"domain","down_domain",b"down_domain","down_para",b"down_para","fail_msg",b"fail_msg","file_id",b"file_id","file_md5",b"file_md5","fileid",b"fileid","result",b"result","transfer_type",b"transfer_type"]) -> bool: ...
    def ClearField(self, field_name: Literal["allow_retry",b"allow_retry","client_ip6",b"client_ip6","domain",b"domain","down_domain",b"down_domain","down_ip",b"down_ip","down_ip6",b"down_ip6","down_para",b"down_para","down_port",b"down_port","down_url",b"down_url","fail_msg",b"fail_msg","file_id",b"file_id","file_md5",b"file_md5","fileid",b"fileid","result",b"result","transfer_type",b"transfer_type"]) -> None: ...

class IPv6Info(Message):
    DESCRIPTOR: Descriptor
    IP6_FIELD_NUMBER: int
    PORT_FIELD_NUMBER: int
    ip6: bytes
    port: int
    def __init__(self,
        *,
        ip6: Optional[bytes] = ...,
        port: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["ip6",b"ip6","port",b"port"]) -> bool: ...
    def ClearField(self, field_name: Literal["ip6",b"ip6","port",b"port"]) -> None: ...

class ImgInfo(Message):
    DESCRIPTOR: Descriptor
    FILE_MD5_FIELD_NUMBER: int
    FILE_TYPE_FIELD_NUMBER: int
    FILE_SIZE_FIELD_NUMBER: int
    FILE_WIDTH_FIELD_NUMBER: int
    FILE_HEIGHT_FIELD_NUMBER: int
    file_md5: bytes
    file_type: int
    file_size: int
    file_width: int
    file_height: int
    def __init__(self,
        *,
        file_md5: Optional[bytes] = ...,
        file_type: Optional[int] = ...,
        file_size: Optional[int] = ...,
        file_width: Optional[int] = ...,
        file_height: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["file_height",b"file_height","file_md5",b"file_md5","file_size",b"file_size","file_type",b"file_type","file_width",b"file_width"]) -> bool: ...
    def ClearField(self, field_name: Literal["file_height",b"file_height","file_md5",b"file_md5","file_size",b"file_size","file_type",b"file_type","file_width",b"file_width"]) -> None: ...

class PicSize(Message):
    DESCRIPTOR: Descriptor
    ORIGINAL_FIELD_NUMBER: int
    THUMB_FIELD_NUMBER: int
    HIGH_FIELD_NUMBER: int
    original: int
    thumb: int
    high: int
    def __init__(self,
        *,
        original: Optional[int] = ...,
        thumb: Optional[int] = ...,
        high: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["high",b"high","original",b"original","thumb",b"thumb"]) -> bool: ...
    def ClearField(self, field_name: Literal["high",b"high","original",b"original","thumb",b"thumb"]) -> None: ...

class ReqBody(Message):
    DESCRIPTOR: Descriptor
    NET_TYPE_FIELD_NUMBER: int
    SUBCMD_FIELD_NUMBER: int
    TRYUP_IMG_REQ_FIELD_NUMBER: int
    GETIMG_URL_REQ_FIELD_NUMBER: int
    TRYUP_PTT_REQ_FIELD_NUMBER: int
    GETPTT_URL_REQ_FIELD_NUMBER: int
    COMMAND_ID_FIELD_NUMBER: int
    DEL_IMG_REQ_FIELD_NUMBER: int
    EXTENSION_FIELD_NUMBER: int
    net_type: int
    subcmd: int
    @property
    def tryup_img_req(self) -> RepeatedCompositeFieldContainer[TryUpImgReq]: ...
    @property
    def getimg_url_req(self) -> RepeatedCompositeFieldContainer[GetImgUrlReq]: ...
    @property
    def tryup_ptt_req(self) -> RepeatedCompositeFieldContainer[TryUpPttReq]: ...
    @property
    def getptt_url_req(self) -> RepeatedCompositeFieldContainer[GetPttUrlReq]: ...
    command_id: int
    @property
    def del_img_req(self) -> RepeatedCompositeFieldContainer[DelImgReq]: ...
    extension: bytes
    def __init__(self,
        *,
        net_type: Optional[int] = ...,
        subcmd: Optional[int] = ...,
        tryup_img_req: Optional[Iterable[TryUpImgReq]] = ...,
        getimg_url_req: Optional[Iterable[GetImgUrlReq]] = ...,
        tryup_ptt_req: Optional[Iterable[TryUpPttReq]] = ...,
        getptt_url_req: Optional[Iterable[GetPttUrlReq]] = ...,
        command_id: Optional[int] = ...,
        del_img_req: Optional[Iterable[DelImgReq]] = ...,
        extension: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["command_id",b"command_id","extension",b"extension","net_type",b"net_type","subcmd",b"subcmd"]) -> bool: ...
    def ClearField(self, field_name: Literal["command_id",b"command_id","del_img_req",b"del_img_req","extension",b"extension","getimg_url_req",b"getimg_url_req","getptt_url_req",b"getptt_url_req","net_type",b"net_type","subcmd",b"subcmd","tryup_img_req",b"tryup_img_req","tryup_ptt_req",b"tryup_ptt_req"]) -> None: ...

class RspBody(Message):
    DESCRIPTOR: Descriptor
    CLIENT_IP_FIELD_NUMBER: int
    SUBCMD_FIELD_NUMBER: int
    TRYUP_IMG_RSP_FIELD_NUMBER: int
    GETIMG_URL_RSP_FIELD_NUMBER: int
    TRYUP_PTT_RSP_FIELD_NUMBER: int
    GETPTT_URL_RSP_FIELD_NUMBER: int
    DEL_IMG_RSP_FIELD_NUMBER: int
    client_ip: int
    subcmd: int
    @property
    def tryup_img_rsp(self) -> RepeatedCompositeFieldContainer[TryUpImgRsp]: ...
    @property
    def getimg_url_rsp(self) -> RepeatedCompositeFieldContainer[GetImgUrlRsp]: ...
    @property
    def tryup_ptt_rsp(self) -> RepeatedCompositeFieldContainer[TryUpPttRsp]: ...
    @property
    def getptt_url_rsp(self) -> RepeatedCompositeFieldContainer[GetPttUrlRsp]: ...
    @property
    def del_img_rsp(self) -> RepeatedCompositeFieldContainer[DelImgRsp]: ...
    def __init__(self,
        *,
        client_ip: Optional[int] = ...,
        subcmd: Optional[int] = ...,
        tryup_img_rsp: Optional[Iterable[TryUpImgRsp]] = ...,
        getimg_url_rsp: Optional[Iterable[GetImgUrlRsp]] = ...,
        tryup_ptt_rsp: Optional[Iterable[TryUpPttRsp]] = ...,
        getptt_url_rsp: Optional[Iterable[GetPttUrlRsp]] = ...,
        del_img_rsp: Optional[Iterable[DelImgRsp]] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["client_ip",b"client_ip","subcmd",b"subcmd"]) -> bool: ...
    def ClearField(self, field_name: Literal["client_ip",b"client_ip","del_img_rsp",b"del_img_rsp","getimg_url_rsp",b"getimg_url_rsp","getptt_url_rsp",b"getptt_url_rsp","subcmd",b"subcmd","tryup_img_rsp",b"tryup_img_rsp","tryup_ptt_rsp",b"tryup_ptt_rsp"]) -> None: ...

class TryUpImgReq(Message):
    DESCRIPTOR: Descriptor
    GROUP_CODE_FIELD_NUMBER: int
    SRC_UIN_FIELD_NUMBER: int
    FILE_ID_FIELD_NUMBER: int
    FILE_MD5_FIELD_NUMBER: int
    FILE_SIZE_FIELD_NUMBER: int
    FILE_NAME_FIELD_NUMBER: int
    SRC_TERM_FIELD_NUMBER: int
    PLATFORM_TYPE_FIELD_NUMBER: int
    BU_TYPE_FIELD_NUMBER: int
    PIC_WIDTH_FIELD_NUMBER: int
    PIC_HEIGHT_FIELD_NUMBER: int
    PIC_TYPE_FIELD_NUMBER: int
    BUILD_VER_FIELD_NUMBER: int
    INNER_IP_FIELD_NUMBER: int
    APP_PIC_TYPE_FIELD_NUMBER: int
    ORIGINAL_PIC_FIELD_NUMBER: int
    FILE_INDEX_FIELD_NUMBER: int
    DST_UIN_FIELD_NUMBER: int
    SRV_UPLOAD_FIELD_NUMBER: int
    TRANSFER_URL_FIELD_NUMBER: int
    QQMEET_GUILD_ID_FIELD_NUMBER: int
    QQMEET_CHANNEL_ID_FIELD_NUMBER: int
    group_code: int
    src_uin: int
    file_id: int
    file_md5: bytes
    file_size: int
    file_name: bytes
    src_term: int
    platform_type: int
    bu_type: int
    pic_width: int
    pic_height: int
    pic_type: int
    build_ver: bytes
    inner_ip: int
    app_pic_type: int
    original_pic: int
    file_index: bytes
    dst_uin: int
    srv_upload: int
    transfer_url: bytes
    qqmeet_guild_id: int
    qqmeet_channel_id: int
    def __init__(self,
        *,
        group_code: Optional[int] = ...,
        src_uin: Optional[int] = ...,
        file_id: Optional[int] = ...,
        file_md5: Optional[bytes] = ...,
        file_size: Optional[int] = ...,
        file_name: Optional[bytes] = ...,
        src_term: Optional[int] = ...,
        platform_type: Optional[int] = ...,
        bu_type: Optional[int] = ...,
        pic_width: Optional[int] = ...,
        pic_height: Optional[int] = ...,
        pic_type: Optional[int] = ...,
        build_ver: Optional[bytes] = ...,
        inner_ip: Optional[int] = ...,
        app_pic_type: Optional[int] = ...,
        original_pic: Optional[int] = ...,
        file_index: Optional[bytes] = ...,
        dst_uin: Optional[int] = ...,
        srv_upload: Optional[int] = ...,
        transfer_url: Optional[bytes] = ...,
        qqmeet_guild_id: Optional[int] = ...,
        qqmeet_channel_id: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["app_pic_type",b"app_pic_type","bu_type",b"bu_type","build_ver",b"build_ver","dst_uin",b"dst_uin","file_id",b"file_id","file_index",b"file_index","file_md5",b"file_md5","file_name",b"file_name","file_size",b"file_size","group_code",b"group_code","inner_ip",b"inner_ip","original_pic",b"original_pic","pic_height",b"pic_height","pic_type",b"pic_type","pic_width",b"pic_width","platform_type",b"platform_type","qqmeet_channel_id",b"qqmeet_channel_id","qqmeet_guild_id",b"qqmeet_guild_id","src_term",b"src_term","src_uin",b"src_uin","srv_upload",b"srv_upload","transfer_url",b"transfer_url"]) -> bool: ...
    def ClearField(self, field_name: Literal["app_pic_type",b"app_pic_type","bu_type",b"bu_type","build_ver",b"build_ver","dst_uin",b"dst_uin","file_id",b"file_id","file_index",b"file_index","file_md5",b"file_md5","file_name",b"file_name","file_size",b"file_size","group_code",b"group_code","inner_ip",b"inner_ip","original_pic",b"original_pic","pic_height",b"pic_height","pic_type",b"pic_type","pic_width",b"pic_width","platform_type",b"platform_type","qqmeet_channel_id",b"qqmeet_channel_id","qqmeet_guild_id",b"qqmeet_guild_id","src_term",b"src_term","src_uin",b"src_uin","srv_upload",b"srv_upload","transfer_url",b"transfer_url"]) -> None: ...

class TryUpImgRsp(Message):
    DESCRIPTOR: Descriptor
    FILE_ID_FIELD_NUMBER: int
    RESULT_FIELD_NUMBER: int
    FAIL_MSG_FIELD_NUMBER: int
    FILE_EXIT_FIELD_NUMBER: int
    IMG_INFO_FIELD_NUMBER: int
    UP_IP_FIELD_NUMBER: int
    UP_PORT_FIELD_NUMBER: int
    UP_UKEY_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    UP_OFFSET_FIELD_NUMBER: int
    BLOCK_SIZE_FIELD_NUMBER: int
    NEW_BIG_CHAN_FIELD_NUMBER: int
    UP_IP6_FIELD_NUMBER: int
    CLIENT_IP6_FIELD_NUMBER: int
    DOWNLOAD_INDEX_FIELD_NUMBER: int
    INFO4_BUSI_FIELD_NUMBER: int
    file_id: int
    result: int
    fail_msg: bytes
    file_exit: bool
    @property
    def img_info(self) -> ImgInfo: ...
    @property
    def up_ip(self) -> RepeatedScalarFieldContainer[int]: ...
    @property
    def up_port(self) -> RepeatedScalarFieldContainer[int]: ...
    up_ukey: bytes
    fileid: int
    up_offset: int
    block_size: int
    new_big_chan: bool
    @property
    def up_ip6(self) -> RepeatedCompositeFieldContainer[IPv6Info]: ...
    client_ip6: bytes
    download_index: bytes
    @property
    def info4_busi(self) -> TryUpInfo4Busi: ...
    def __init__(self,
        *,
        file_id: Optional[int] = ...,
        result: Optional[int] = ...,
        fail_msg: Optional[bytes] = ...,
        file_exit: Optional[bool] = ...,
        img_info: Optional[ImgInfo] = ...,
        up_ip: Optional[Iterable[int]] = ...,
        up_port: Optional[Iterable[int]] = ...,
        up_ukey: Optional[bytes] = ...,
        fileid: Optional[int] = ...,
        up_offset: Optional[int] = ...,
        block_size: Optional[int] = ...,
        new_big_chan: Optional[bool] = ...,
        up_ip6: Optional[Iterable[IPv6Info]] = ...,
        client_ip6: Optional[bytes] = ...,
        download_index: Optional[bytes] = ...,
        info4_busi: Optional[TryUpInfo4Busi] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["block_size",b"block_size","client_ip6",b"client_ip6","download_index",b"download_index","fail_msg",b"fail_msg","file_exit",b"file_exit","file_id",b"file_id","fileid",b"fileid","img_info",b"img_info","info4_busi",b"info4_busi","new_big_chan",b"new_big_chan","result",b"result","up_offset",b"up_offset","up_ukey",b"up_ukey"]) -> bool: ...
    def ClearField(self, field_name: Literal["block_size",b"block_size","client_ip6",b"client_ip6","download_index",b"download_index","fail_msg",b"fail_msg","file_exit",b"file_exit","file_id",b"file_id","fileid",b"fileid","img_info",b"img_info","info4_busi",b"info4_busi","new_big_chan",b"new_big_chan","result",b"result","up_ip",b"up_ip","up_ip6",b"up_ip6","up_offset",b"up_offset","up_port",b"up_port","up_ukey",b"up_ukey"]) -> None: ...

class TryUpInfo4Busi(Message):
    DESCRIPTOR: Descriptor
    DOWN_DOMAIN_FIELD_NUMBER: int
    THUMB_DOWN_URL_FIELD_NUMBER: int
    ORIGINAL_DOWN_URL_FIELD_NUMBER: int
    BIG_DOWN_URL_FIELD_NUMBER: int
    FILE_RESID_FIELD_NUMBER: int
    down_domain: bytes
    thumb_down_url: bytes
    original_down_url: bytes
    big_down_url: bytes
    file_resid: bytes
    def __init__(self,
        *,
        down_domain: Optional[bytes] = ...,
        thumb_down_url: Optional[bytes] = ...,
        original_down_url: Optional[bytes] = ...,
        big_down_url: Optional[bytes] = ...,
        file_resid: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["big_down_url",b"big_down_url","down_domain",b"down_domain","file_resid",b"file_resid","original_down_url",b"original_down_url","thumb_down_url",b"thumb_down_url"]) -> bool: ...
    def ClearField(self, field_name: Literal["big_down_url",b"big_down_url","down_domain",b"down_domain","file_resid",b"file_resid","original_down_url",b"original_down_url","thumb_down_url",b"thumb_down_url"]) -> None: ...

class TryUpPttReq(Message):
    DESCRIPTOR: Descriptor
    GROUP_CODE_FIELD_NUMBER: int
    SRC_UIN_FIELD_NUMBER: int
    FILE_ID_FIELD_NUMBER: int
    FILE_MD5_FIELD_NUMBER: int
    FILE_SIZE_FIELD_NUMBER: int
    FILE_NAME_FIELD_NUMBER: int
    SRC_TERM_FIELD_NUMBER: int
    PLATFORM_TYPE_FIELD_NUMBER: int
    BU_TYPE_FIELD_NUMBER: int
    BUILD_VER_FIELD_NUMBER: int
    INNER_IP_FIELD_NUMBER: int
    VOICE_LENGTH_FIELD_NUMBER: int
    NEW_UP_CHAN_FIELD_NUMBER: int
    CODEC_FIELD_NUMBER: int
    VOICE_TYPE_FIELD_NUMBER: int
    BU_ID_FIELD_NUMBER: int
    group_code: int
    src_uin: int
    file_id: int
    file_md5: bytes
    file_size: int
    file_name: bytes
    src_term: int
    platform_type: int
    bu_type: int
    build_ver: bytes
    inner_ip: int
    voice_length: int
    new_up_chan: bool
    codec: int
    voice_type: int
    bu_id: int
    def __init__(self,
        *,
        group_code: Optional[int] = ...,
        src_uin: Optional[int] = ...,
        file_id: Optional[int] = ...,
        file_md5: Optional[bytes] = ...,
        file_size: Optional[int] = ...,
        file_name: Optional[bytes] = ...,
        src_term: Optional[int] = ...,
        platform_type: Optional[int] = ...,
        bu_type: Optional[int] = ...,
        build_ver: Optional[bytes] = ...,
        inner_ip: Optional[int] = ...,
        voice_length: Optional[int] = ...,
        new_up_chan: Optional[bool] = ...,
        codec: Optional[int] = ...,
        voice_type: Optional[int] = ...,
        bu_id: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["bu_id",b"bu_id","bu_type",b"bu_type","build_ver",b"build_ver","codec",b"codec","file_id",b"file_id","file_md5",b"file_md5","file_name",b"file_name","file_size",b"file_size","group_code",b"group_code","inner_ip",b"inner_ip","new_up_chan",b"new_up_chan","platform_type",b"platform_type","src_term",b"src_term","src_uin",b"src_uin","voice_length",b"voice_length","voice_type",b"voice_type"]) -> bool: ...
    def ClearField(self, field_name: Literal["bu_id",b"bu_id","bu_type",b"bu_type","build_ver",b"build_ver","codec",b"codec","file_id",b"file_id","file_md5",b"file_md5","file_name",b"file_name","file_size",b"file_size","group_code",b"group_code","inner_ip",b"inner_ip","new_up_chan",b"new_up_chan","platform_type",b"platform_type","src_term",b"src_term","src_uin",b"src_uin","voice_length",b"voice_length","voice_type",b"voice_type"]) -> None: ...

class TryUpPttRsp(Message):
    DESCRIPTOR: Descriptor
    FILE_ID_FIELD_NUMBER: int
    RESULT_FIELD_NUMBER: int
    FAIL_MSG_FIELD_NUMBER: int
    FILE_EXIT_FIELD_NUMBER: int
    UP_IP_FIELD_NUMBER: int
    UP_PORT_FIELD_NUMBER: int
    UP_UKEY_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    UP_OFFSET_FIELD_NUMBER: int
    BLOCK_SIZE_FIELD_NUMBER: int
    FILE_KEY_FIELD_NUMBER: int
    CHANNEL_TYPE_FIELD_NUMBER: int
    UP_IP6_FIELD_NUMBER: int
    CLIENT_IP6_FIELD_NUMBER: int
    file_id: int
    result: int
    fail_msg: bytes
    file_exit: bool
    @property
    def up_ip(self) -> RepeatedScalarFieldContainer[int]: ...
    @property
    def up_port(self) -> RepeatedScalarFieldContainer[int]: ...
    up_ukey: bytes
    fileid: int
    up_offset: int
    block_size: int
    file_key: bytes
    channel_type: int
    @property
    def up_ip6(self) -> RepeatedCompositeFieldContainer[IPv6Info]: ...
    client_ip6: bytes
    def __init__(self,
        *,
        file_id: Optional[int] = ...,
        result: Optional[int] = ...,
        fail_msg: Optional[bytes] = ...,
        file_exit: Optional[bool] = ...,
        up_ip: Optional[Iterable[int]] = ...,
        up_port: Optional[Iterable[int]] = ...,
        up_ukey: Optional[bytes] = ...,
        fileid: Optional[int] = ...,
        up_offset: Optional[int] = ...,
        block_size: Optional[int] = ...,
        file_key: Optional[bytes] = ...,
        channel_type: Optional[int] = ...,
        up_ip6: Optional[Iterable[IPv6Info]] = ...,
        client_ip6: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["block_size",b"block_size","channel_type",b"channel_type","client_ip6",b"client_ip6","fail_msg",b"fail_msg","file_exit",b"file_exit","file_id",b"file_id","file_key",b"file_key","fileid",b"fileid","result",b"result","up_offset",b"up_offset","up_ukey",b"up_ukey"]) -> bool: ...
    def ClearField(self, field_name: Literal["block_size",b"block_size","channel_type",b"channel_type","client_ip6",b"client_ip6","fail_msg",b"fail_msg","file_exit",b"file_exit","file_id",b"file_id","file_key",b"file_key","fileid",b"fileid","result",b"result","up_ip",b"up_ip","up_ip6",b"up_ip6","up_offset",b"up_offset","up_port",b"up_port","up_ukey",b"up_ukey"]) -> None: ...
