"""
@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 DataHole(Message):
    """PttCenterService(modify)

    """
    DESCRIPTOR: Descriptor
    BEGIN_FIELD_NUMBER: int
    END_FIELD_NUMBER: int
    begin: int
    end: int
    def __init__(self,
        *,
        begin: Optional[int] = ...,
        end: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["begin",b"begin","end",b"end"]) -> bool: ...
    def ClearField(self, field_name: Literal["begin",b"begin","end",b"end"]) -> None: ...

class ExtensionReq(Message):
    DESCRIPTOR: Descriptor
    SUBBUSITYPE_FIELD_NUMBER: int
    USERCNT_FIELD_NUMBER: int
    subBusiType: int
    userCnt: int
    def __init__(self,
        *,
        subBusiType: Optional[int] = ...,
        userCnt: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["subBusiType",b"subBusiType","userCnt",b"userCnt"]) -> bool: ...
    def ClearField(self, field_name: Literal["subBusiType",b"subBusiType","userCnt",b"userCnt"]) -> None: ...

class PttShortVideoAddr(Message):
    DESCRIPTOR: Descriptor
    HOSTTYPE_FIELD_NUMBER: int
    HOST_FIELD_NUMBER: int
    URLARGS_FIELD_NUMBER: int
    HOSTIPV6_FIELD_NUMBER: int
    DOMAIN_FIELD_NUMBER: int
    hostType: int
    @property
    def host(self) -> RepeatedScalarFieldContainer[Text]: ...
    urlArgs: Text
    @property
    def hostIpv6(self) -> RepeatedScalarFieldContainer[Text]: ...
    @property
    def domain(self) -> RepeatedScalarFieldContainer[Text]: ...
    def __init__(self,
        *,
        hostType: Optional[int] = ...,
        host: Optional[Iterable[Text]] = ...,
        urlArgs: Optional[Text] = ...,
        hostIpv6: Optional[Iterable[Text]] = ...,
        domain: Optional[Iterable[Text]] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["hostType",b"hostType","urlArgs",b"urlArgs"]) -> bool: ...
    def ClearField(self, field_name: Literal["domain",b"domain","host",b"host","hostIpv6",b"hostIpv6","hostType",b"hostType","urlArgs",b"urlArgs"]) -> None: ...

class PttShortVideoDeleteReq(Message):
    DESCRIPTOR: Descriptor
    FROMUIN_FIELD_NUMBER: int
    TOUIN_FIELD_NUMBER: int
    CHATTYPE_FIELD_NUMBER: int
    CLIENTTYPE_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    GROUPCODE_FIELD_NUMBER: int
    AGENTTYPE_FIELD_NUMBER: int
    FILEMD5_FIELD_NUMBER: int
    BUSINESSTYPE_FIELD_NUMBER: int
    fromuin: int
    touin: int
    chatType: int
    clientType: int
    fileid: Text
    groupCode: int
    agentType: int
    fileMd5: bytes
    businessType: int
    def __init__(self,
        *,
        fromuin: Optional[int] = ...,
        touin: Optional[int] = ...,
        chatType: Optional[int] = ...,
        clientType: Optional[int] = ...,
        fileid: Optional[Text] = ...,
        groupCode: Optional[int] = ...,
        agentType: Optional[int] = ...,
        fileMd5: Optional[bytes] = ...,
        businessType: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["agentType",b"agentType","businessType",b"businessType","chatType",b"chatType","clientType",b"clientType","fileMd5",b"fileMd5","fileid",b"fileid","fromuin",b"fromuin","groupCode",b"groupCode","touin",b"touin"]) -> bool: ...
    def ClearField(self, field_name: Literal["agentType",b"agentType","businessType",b"businessType","chatType",b"chatType","clientType",b"clientType","fileMd5",b"fileMd5","fileid",b"fileid","fromuin",b"fromuin","groupCode",b"groupCode","touin",b"touin"]) -> None: ...

class PttShortVideoDeleteResp(Message):
    DESCRIPTOR: Descriptor
    RETCODE_FIELD_NUMBER: int
    RETMSG_FIELD_NUMBER: int
    retCode: int
    retMsg: Text
    def __init__(self,
        *,
        retCode: Optional[int] = ...,
        retMsg: Optional[Text] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["retCode",b"retCode","retMsg",b"retMsg"]) -> bool: ...
    def ClearField(self, field_name: Literal["retCode",b"retCode","retMsg",b"retMsg"]) -> None: ...

class PttShortVideoDownloadReq(Message):
    DESCRIPTOR: Descriptor
    FROMUIN_FIELD_NUMBER: int
    TOUIN_FIELD_NUMBER: int
    CHATTYPE_FIELD_NUMBER: int
    CLIENTTYPE_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    GROUPCODE_FIELD_NUMBER: int
    AGENTTYPE_FIELD_NUMBER: int
    FILEMD5_FIELD_NUMBER: int
    BUSINESSTYPE_FIELD_NUMBER: int
    FILETYPE_FIELD_NUMBER: int
    DOWNTYPE_FIELD_NUMBER: int
    SCENETYPE_FIELD_NUMBER: int
    NEEDINNERADDR_FIELD_NUMBER: int
    REQTRANSFERTYPE_FIELD_NUMBER: int
    REQHOSTTYPE_FIELD_NUMBER: int
    FLAGSUPPORTLARGESIZE_FIELD_NUMBER: int
    FLAGCLIENTQUICPROTOENABLE_FIELD_NUMBER: int
    fromuin: int
    touin: int
    chatType: int
    clientType: int
    fileid: Text
    groupCode: int
    agentType: int
    fileMd5: bytes
    businessType: int
    fileType: int
    downType: int
    sceneType: int
    needInnerAddr: int
    reqTransferType: int
    reqHostType: int
    flagSupportLargeSize: int
    flagClientQuicProtoEnable: int
    def __init__(self,
        *,
        fromuin: Optional[int] = ...,
        touin: Optional[int] = ...,
        chatType: Optional[int] = ...,
        clientType: Optional[int] = ...,
        fileid: Optional[Text] = ...,
        groupCode: Optional[int] = ...,
        agentType: Optional[int] = ...,
        fileMd5: Optional[bytes] = ...,
        businessType: Optional[int] = ...,
        fileType: Optional[int] = ...,
        downType: Optional[int] = ...,
        sceneType: Optional[int] = ...,
        needInnerAddr: Optional[int] = ...,
        reqTransferType: Optional[int] = ...,
        reqHostType: Optional[int] = ...,
        flagSupportLargeSize: Optional[int] = ...,
        flagClientQuicProtoEnable: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["agentType",b"agentType","businessType",b"businessType","chatType",b"chatType","clientType",b"clientType","downType",b"downType","fileMd5",b"fileMd5","fileType",b"fileType","fileid",b"fileid","flagClientQuicProtoEnable",b"flagClientQuicProtoEnable","flagSupportLargeSize",b"flagSupportLargeSize","fromuin",b"fromuin","groupCode",b"groupCode","needInnerAddr",b"needInnerAddr","reqHostType",b"reqHostType","reqTransferType",b"reqTransferType","sceneType",b"sceneType","touin",b"touin"]) -> bool: ...
    def ClearField(self, field_name: Literal["agentType",b"agentType","businessType",b"businessType","chatType",b"chatType","clientType",b"clientType","downType",b"downType","fileMd5",b"fileMd5","fileType",b"fileType","fileid",b"fileid","flagClientQuicProtoEnable",b"flagClientQuicProtoEnable","flagSupportLargeSize",b"flagSupportLargeSize","fromuin",b"fromuin","groupCode",b"groupCode","needInnerAddr",b"needInnerAddr","reqHostType",b"reqHostType","reqTransferType",b"reqTransferType","sceneType",b"sceneType","touin",b"touin"]) -> None: ...

class PttShortVideoDownloadResp(Message):
    DESCRIPTOR: Descriptor
    RETCODE_FIELD_NUMBER: int
    RETMSG_FIELD_NUMBER: int
    SAMEAREAOUTADDR_FIELD_NUMBER: int
    DIFFAREAOUTADDR_FIELD_NUMBER: int
    DOWNLOADKEY_FIELD_NUMBER: int
    FILEMD5_FIELD_NUMBER: int
    SAMEAREAINNERADDR_FIELD_NUMBER: int
    DIFFAREAINNERADDR_FIELD_NUMBER: int
    DOWNLOADADDR_FIELD_NUMBER: int
    ENCRYPTKEY_FIELD_NUMBER: int
    FLAGSERVERQUICPROTOENABLE_FIELD_NUMBER: int
    SERVERQUICPARA_FIELD_NUMBER: int
    retCode: int
    retMsg: Text
    @property
    def sameAreaOutAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def diffAreaOutAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    downloadkey: bytes
    fileMd5: bytes
    @property
    def sameAreaInnerAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def diffAreaInnerAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def downloadAddr(self) -> PttShortVideoAddr: ...
    encryptKey: bytes
    flagServerQuicProtoEnable: int
    serverQuicPara: bytes
    def __init__(self,
        *,
        retCode: Optional[int] = ...,
        retMsg: Optional[Text] = ...,
        sameAreaOutAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        diffAreaOutAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        downloadkey: Optional[bytes] = ...,
        fileMd5: Optional[bytes] = ...,
        sameAreaInnerAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        diffAreaInnerAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        downloadAddr: Optional[PttShortVideoAddr] = ...,
        encryptKey: Optional[bytes] = ...,
        flagServerQuicProtoEnable: Optional[int] = ...,
        serverQuicPara: Optional[bytes] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["downloadAddr",b"downloadAddr","downloadkey",b"downloadkey","encryptKey",b"encryptKey","fileMd5",b"fileMd5","flagServerQuicProtoEnable",b"flagServerQuicProtoEnable","retCode",b"retCode","retMsg",b"retMsg","serverQuicPara",b"serverQuicPara"]) -> bool: ...
    def ClearField(self, field_name: Literal["diffAreaInnerAddr",b"diffAreaInnerAddr","diffAreaOutAddr",b"diffAreaOutAddr","downloadAddr",b"downloadAddr","downloadkey",b"downloadkey","encryptKey",b"encryptKey","fileMd5",b"fileMd5","flagServerQuicProtoEnable",b"flagServerQuicProtoEnable","retCode",b"retCode","retMsg",b"retMsg","sameAreaInnerAddr",b"sameAreaInnerAddr","sameAreaOutAddr",b"sameAreaOutAddr","serverQuicPara",b"serverQuicPara"]) -> None: ...

class PttShortVideoFileInfo(Message):
    DESCRIPTOR: Descriptor
    FILENAME_FIELD_NUMBER: int
    FILEMD5_FIELD_NUMBER: int
    THUMBFILEMD5_FIELD_NUMBER: int
    FILESIZE_FIELD_NUMBER: int
    FILERESLENGTH_FIELD_NUMBER: int
    FILERESWIDTH_FIELD_NUMBER: int
    FILEFORMAT_FIELD_NUMBER: int
    FILETIME_FIELD_NUMBER: int
    THUMBFILESIZE_FIELD_NUMBER: int
    DECRYPTVIDEOMD5_FIELD_NUMBER: int
    DECRYPTFILESIZE_FIELD_NUMBER: int
    DECRYPTTHUMBMD5_FIELD_NUMBER: int
    DECRYPTTHUMBSIZE_FIELD_NUMBER: int
    fileName: Text
    fileMd5: bytes
    thumbFileMd5: bytes
    fileSize: int
    fileResLength: int
    fileResWidth: int
    fileFormat: int
    fileTime: int
    thumbFileSize: int
    decryptVideoMd5: bytes
    decryptFileSize: int
    decryptThumbMd5: bytes
    decryptThumbSize: int
    def __init__(self,
        *,
        fileName: Optional[Text] = ...,
        fileMd5: Optional[bytes] = ...,
        thumbFileMd5: Optional[bytes] = ...,
        fileSize: Optional[int] = ...,
        fileResLength: Optional[int] = ...,
        fileResWidth: Optional[int] = ...,
        fileFormat: Optional[int] = ...,
        fileTime: Optional[int] = ...,
        thumbFileSize: Optional[int] = ...,
        decryptVideoMd5: Optional[bytes] = ...,
        decryptFileSize: Optional[int] = ...,
        decryptThumbMd5: Optional[bytes] = ...,
        decryptThumbSize: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["decryptFileSize",b"decryptFileSize","decryptThumbMd5",b"decryptThumbMd5","decryptThumbSize",b"decryptThumbSize","decryptVideoMd5",b"decryptVideoMd5","fileFormat",b"fileFormat","fileMd5",b"fileMd5","fileName",b"fileName","fileResLength",b"fileResLength","fileResWidth",b"fileResWidth","fileSize",b"fileSize","fileTime",b"fileTime","thumbFileMd5",b"thumbFileMd5","thumbFileSize",b"thumbFileSize"]) -> bool: ...
    def ClearField(self, field_name: Literal["decryptFileSize",b"decryptFileSize","decryptThumbMd5",b"decryptThumbMd5","decryptThumbSize",b"decryptThumbSize","decryptVideoMd5",b"decryptVideoMd5","fileFormat",b"fileFormat","fileMd5",b"fileMd5","fileName",b"fileName","fileResLength",b"fileResLength","fileResWidth",b"fileResWidth","fileSize",b"fileSize","fileTime",b"fileTime","thumbFileMd5",b"thumbFileMd5","thumbFileSize",b"thumbFileSize"]) -> None: ...

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

class PttShortVideoRetweetReq(Message):
    DESCRIPTOR: Descriptor
    FROMUIN_FIELD_NUMBER: int
    TOUIN_FIELD_NUMBER: int
    FROMCHATTYPE_FIELD_NUMBER: int
    TOCHATTYPE_FIELD_NUMBER: int
    FROMBUSITYPE_FIELD_NUMBER: int
    TOBUSITYPE_FIELD_NUMBER: int
    CLIENTTYPE_FIELD_NUMBER: int
    PTTSHORTVIDEOFILEINFO_FIELD_NUMBER: int
    AGENTTYPE_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    GROUPCODE_FIELD_NUMBER: int
    FLAGSUPPORTLARGESIZE_FIELD_NUMBER: int
    fromUin: int
    toUin: int
    fromChatType: int
    toChatType: int
    fromBusiType: int
    toBusiType: int
    clientType: int
    @property
    def PttShortVideoFileInfo(self) -> PttShortVideoFileInfo: ...
    agentType: int
    fileid: Text
    groupCode: int
    flagSupportLargeSize: int
    def __init__(self,
        *,
        fromUin: Optional[int] = ...,
        toUin: Optional[int] = ...,
        fromChatType: Optional[int] = ...,
        toChatType: Optional[int] = ...,
        fromBusiType: Optional[int] = ...,
        toBusiType: Optional[int] = ...,
        clientType: Optional[int] = ...,
        PttShortVideoFileInfo: Optional[PttShortVideoFileInfo] = ...,
        agentType: Optional[int] = ...,
        fileid: Optional[Text] = ...,
        groupCode: Optional[int] = ...,
        flagSupportLargeSize: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["PttShortVideoFileInfo",b"PttShortVideoFileInfo","agentType",b"agentType","clientType",b"clientType","fileid",b"fileid","flagSupportLargeSize",b"flagSupportLargeSize","fromBusiType",b"fromBusiType","fromChatType",b"fromChatType","fromUin",b"fromUin","groupCode",b"groupCode","toBusiType",b"toBusiType","toChatType",b"toChatType","toUin",b"toUin"]) -> bool: ...
    def ClearField(self, field_name: Literal["PttShortVideoFileInfo",b"PttShortVideoFileInfo","agentType",b"agentType","clientType",b"clientType","fileid",b"fileid","flagSupportLargeSize",b"flagSupportLargeSize","fromBusiType",b"fromBusiType","fromChatType",b"fromChatType","fromUin",b"fromUin","groupCode",b"groupCode","toBusiType",b"toBusiType","toChatType",b"toChatType","toUin",b"toUin"]) -> None: ...

class PttShortVideoRetweetResp(Message):
    DESCRIPTOR: Descriptor
    RETCODE_FIELD_NUMBER: int
    RETMSG_FIELD_NUMBER: int
    SAMEAREAOUTADDR_FIELD_NUMBER: int
    DIFFAREAOUTADDR_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    UKEY_FIELD_NUMBER: int
    FILEEXIST_FIELD_NUMBER: int
    SAMEAREAINNERADDR_FIELD_NUMBER: int
    DIFFAREAINNERADDR_FIELD_NUMBER: int
    DATAHOLE_FIELD_NUMBER: int
    ISHOTFILE_FIELD_NUMBER: int
    LONGVIDEOCARRYWATCHPOINTTYPE_FIELD_NUMBER: int
    retCode: int
    retMsg: Text
    @property
    def sameAreaOutAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def diffAreaOutAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    fileid: Text
    ukey: bytes
    fileExist: int
    @property
    def sameAreaInnerAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def diffAreaInnerAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def dataHole(self) -> RepeatedCompositeFieldContainer[DataHole]: ...
    isHotFile: int
    longVideoCarryWatchPointType: int
    def __init__(self,
        *,
        retCode: Optional[int] = ...,
        retMsg: Optional[Text] = ...,
        sameAreaOutAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        diffAreaOutAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        fileid: Optional[Text] = ...,
        ukey: Optional[bytes] = ...,
        fileExist: Optional[int] = ...,
        sameAreaInnerAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        diffAreaInnerAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        dataHole: Optional[Iterable[DataHole]] = ...,
        isHotFile: Optional[int] = ...,
        longVideoCarryWatchPointType: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["fileExist",b"fileExist","fileid",b"fileid","isHotFile",b"isHotFile","longVideoCarryWatchPointType",b"longVideoCarryWatchPointType","retCode",b"retCode","retMsg",b"retMsg","ukey",b"ukey"]) -> bool: ...
    def ClearField(self, field_name: Literal["dataHole",b"dataHole","diffAreaInnerAddr",b"diffAreaInnerAddr","diffAreaOutAddr",b"diffAreaOutAddr","fileExist",b"fileExist","fileid",b"fileid","isHotFile",b"isHotFile","longVideoCarryWatchPointType",b"longVideoCarryWatchPointType","retCode",b"retCode","retMsg",b"retMsg","sameAreaInnerAddr",b"sameAreaInnerAddr","sameAreaOutAddr",b"sameAreaOutAddr","ukey",b"ukey"]) -> None: ...

class PttShortVideoUploadReq(Message):
    DESCRIPTOR: Descriptor
    FROMUIN_FIELD_NUMBER: int
    TOUIN_FIELD_NUMBER: int
    CHATTYPE_FIELD_NUMBER: int
    CLIENTTYPE_FIELD_NUMBER: int
    PTTSHORTVIDEOFILEINFO_FIELD_NUMBER: int
    GROUPCODE_FIELD_NUMBER: int
    AGENTTYPE_FIELD_NUMBER: int
    BUSINESSTYPE_FIELD_NUMBER: int
    ENCRYPTKEY_FIELD_NUMBER: int
    SUBBUSINESSTYPE_FIELD_NUMBER: int
    FLAGSUPPORTLARGESIZE_FIELD_NUMBER: int
    fromuin: int
    touin: int
    chatType: int
    clientType: int
    @property
    def PttShortVideoFileInfo(self) -> PttShortVideoFileInfo: ...
    groupCode: int
    agentType: int
    businessType: int
    encryptKey: bytes
    subBusinessType: int
    flagSupportLargeSize: int
    def __init__(self,
        *,
        fromuin: Optional[int] = ...,
        touin: Optional[int] = ...,
        chatType: Optional[int] = ...,
        clientType: Optional[int] = ...,
        PttShortVideoFileInfo: Optional[PttShortVideoFileInfo] = ...,
        groupCode: Optional[int] = ...,
        agentType: Optional[int] = ...,
        businessType: Optional[int] = ...,
        encryptKey: Optional[bytes] = ...,
        subBusinessType: Optional[int] = ...,
        flagSupportLargeSize: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["PttShortVideoFileInfo",b"PttShortVideoFileInfo","agentType",b"agentType","businessType",b"businessType","chatType",b"chatType","clientType",b"clientType","encryptKey",b"encryptKey","flagSupportLargeSize",b"flagSupportLargeSize","fromuin",b"fromuin","groupCode",b"groupCode","subBusinessType",b"subBusinessType","touin",b"touin"]) -> bool: ...
    def ClearField(self, field_name: Literal["PttShortVideoFileInfo",b"PttShortVideoFileInfo","agentType",b"agentType","businessType",b"businessType","chatType",b"chatType","clientType",b"clientType","encryptKey",b"encryptKey","flagSupportLargeSize",b"flagSupportLargeSize","fromuin",b"fromuin","groupCode",b"groupCode","subBusinessType",b"subBusinessType","touin",b"touin"]) -> None: ...

class PttShortVideoUploadResp(Message):
    DESCRIPTOR: Descriptor
    RETCODE_FIELD_NUMBER: int
    RETMSG_FIELD_NUMBER: int
    SAMEAREAOUTADDR_FIELD_NUMBER: int
    DIFFAREAOUTADDR_FIELD_NUMBER: int
    FILEID_FIELD_NUMBER: int
    UKEY_FIELD_NUMBER: int
    FILEEXIST_FIELD_NUMBER: int
    SAMEAREAINNERADDR_FIELD_NUMBER: int
    DIFFAREAINNERADDR_FIELD_NUMBER: int
    DATAHOLE_FIELD_NUMBER: int
    ENCRYPTKEY_FIELD_NUMBER: int
    ISHOTFILE_FIELD_NUMBER: int
    LONGVIDEOCARRYWATCHPOINTTYPE_FIELD_NUMBER: int
    retCode: int
    retMsg: Text
    @property
    def sameAreaOutAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def diffAreaOutAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    fileid: Text
    ukey: bytes
    fileExist: int
    @property
    def sameAreaInnerAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def diffAreaInnerAddr(self) -> RepeatedCompositeFieldContainer[PttShortVideoIpList]: ...
    @property
    def dataHole(self) -> RepeatedCompositeFieldContainer[DataHole]: ...
    encryptKey: bytes
    isHotFile: int
    longVideoCarryWatchPointType: int
    def __init__(self,
        *,
        retCode: Optional[int] = ...,
        retMsg: Optional[Text] = ...,
        sameAreaOutAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        diffAreaOutAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        fileid: Optional[Text] = ...,
        ukey: Optional[bytes] = ...,
        fileExist: Optional[int] = ...,
        sameAreaInnerAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        diffAreaInnerAddr: Optional[Iterable[PttShortVideoIpList]] = ...,
        dataHole: Optional[Iterable[DataHole]] = ...,
        encryptKey: Optional[bytes] = ...,
        isHotFile: Optional[int] = ...,
        longVideoCarryWatchPointType: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["encryptKey",b"encryptKey","fileExist",b"fileExist","fileid",b"fileid","isHotFile",b"isHotFile","longVideoCarryWatchPointType",b"longVideoCarryWatchPointType","retCode",b"retCode","retMsg",b"retMsg","ukey",b"ukey"]) -> bool: ...
    def ClearField(self, field_name: Literal["dataHole",b"dataHole","diffAreaInnerAddr",b"diffAreaInnerAddr","diffAreaOutAddr",b"diffAreaOutAddr","encryptKey",b"encryptKey","fileExist",b"fileExist","fileid",b"fileid","isHotFile",b"isHotFile","longVideoCarryWatchPointType",b"longVideoCarryWatchPointType","retCode",b"retCode","retMsg",b"retMsg","sameAreaInnerAddr",b"sameAreaInnerAddr","sameAreaOutAddr",b"sameAreaOutAddr","ukey",b"ukey"]) -> None: ...

class QuicParameter(Message):
    DESCRIPTOR: Descriptor
    ENABLEQUIC_FIELD_NUMBER: int
    ENCRYPTIONVER_FIELD_NUMBER: int
    FECVER_FIELD_NUMBER: int
    enableQuic: int
    encryptionVer: int
    fecVer: int
    def __init__(self,
        *,
        enableQuic: Optional[int] = ...,
        encryptionVer: Optional[int] = ...,
        fecVer: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["enableQuic",b"enableQuic","encryptionVer",b"encryptionVer","fecVer",b"fecVer"]) -> bool: ...
    def ClearField(self, field_name: Literal["enableQuic",b"enableQuic","encryptionVer",b"encryptionVer","fecVer",b"fecVer"]) -> None: ...

class ReqBody(Message):
    DESCRIPTOR: Descriptor
    CMD_FIELD_NUMBER: int
    SEQ_FIELD_NUMBER: int
    PTTSHORTVIDEOUPLOAD_REQ_FIELD_NUMBER: int
    PTTSHORTVIDEODOWNLOAD_REQ_FIELD_NUMBER: int
    SHORTVIDEORETWEETREQ_FIELD_NUMBER: int
    SHORTVIDEODELETEREQ_FIELD_NUMBER: int
    EXTENSIONREQ_FIELD_NUMBER: int
    cmd: int
    seq: int
    @property
    def PttShortVideoUpload_Req(self) -> PttShortVideoUploadReq: ...
    @property
    def PttShortVideoDownload_Req(self) -> PttShortVideoDownloadReq: ...
    @property
    def shortVideoRetweetReq(self) -> RepeatedCompositeFieldContainer[PttShortVideoRetweetReq]: ...
    @property
    def shortVideoDeleteReq(self) -> RepeatedCompositeFieldContainer[PttShortVideoDeleteReq]: ...
    @property
    def extensionReq(self) -> RepeatedCompositeFieldContainer[ExtensionReq]: ...
    def __init__(self,
        *,
        cmd: Optional[int] = ...,
        seq: Optional[int] = ...,
        PttShortVideoUpload_Req: Optional[PttShortVideoUploadReq] = ...,
        PttShortVideoDownload_Req: Optional[PttShortVideoDownloadReq] = ...,
        shortVideoRetweetReq: Optional[Iterable[PttShortVideoRetweetReq]] = ...,
        shortVideoDeleteReq: Optional[Iterable[PttShortVideoDeleteReq]] = ...,
        extensionReq: Optional[Iterable[ExtensionReq]] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["PttShortVideoDownload_Req",b"PttShortVideoDownload_Req","PttShortVideoUpload_Req",b"PttShortVideoUpload_Req","cmd",b"cmd","seq",b"seq"]) -> bool: ...
    def ClearField(self, field_name: Literal["PttShortVideoDownload_Req",b"PttShortVideoDownload_Req","PttShortVideoUpload_Req",b"PttShortVideoUpload_Req","cmd",b"cmd","extensionReq",b"extensionReq","seq",b"seq","shortVideoDeleteReq",b"shortVideoDeleteReq","shortVideoRetweetReq",b"shortVideoRetweetReq"]) -> None: ...

class RspBody(Message):
    DESCRIPTOR: Descriptor
    CMD_FIELD_NUMBER: int
    SEQ_FIELD_NUMBER: int
    PTTSHORTVIDEOUPLOAD_RESP_FIELD_NUMBER: int
    PTTSHORTVIDEODOWNLOAD_RESP_FIELD_NUMBER: int
    SHORTVIDEORETWEETRESP_FIELD_NUMBER: int
    SHORTVIDEODELETERESP_FIELD_NUMBER: int
    CHANGECHANNEL_FIELD_NUMBER: int
    ALLOWRETRY_FIELD_NUMBER: int
    cmd: int
    seq: int
    @property
    def PttShortVideoUpload_Resp(self) -> PttShortVideoUploadResp: ...
    @property
    def PttShortVideoDownload_Resp(self) -> PttShortVideoDownloadResp: ...
    @property
    def shortVideoRetweetResp(self) -> RepeatedCompositeFieldContainer[PttShortVideoRetweetResp]: ...
    @property
    def shortVideoDeleteResp(self) -> RepeatedCompositeFieldContainer[PttShortVideoDeleteResp]: ...
    changeChannel: int
    allowRetry: int
    def __init__(self,
        *,
        cmd: Optional[int] = ...,
        seq: Optional[int] = ...,
        PttShortVideoUpload_Resp: Optional[PttShortVideoUploadResp] = ...,
        PttShortVideoDownload_Resp: Optional[PttShortVideoDownloadResp] = ...,
        shortVideoRetweetResp: Optional[Iterable[PttShortVideoRetweetResp]] = ...,
        shortVideoDeleteResp: Optional[Iterable[PttShortVideoDeleteResp]] = ...,
        changeChannel: Optional[int] = ...,
        allowRetry: Optional[int] = ...,
        ) -> None: ...
    def HasField(self, field_name: Literal["PttShortVideoDownload_Resp",b"PttShortVideoDownload_Resp","PttShortVideoUpload_Resp",b"PttShortVideoUpload_Resp","allowRetry",b"allowRetry","changeChannel",b"changeChannel","cmd",b"cmd","seq",b"seq"]) -> bool: ...
    def ClearField(self, field_name: Literal["PttShortVideoDownload_Resp",b"PttShortVideoDownload_Resp","PttShortVideoUpload_Resp",b"PttShortVideoUpload_Resp","allowRetry",b"allowRetry","changeChannel",b"changeChannel","cmd",b"cmd","seq",b"seq","shortVideoDeleteResp",b"shortVideoDeleteResp","shortVideoRetweetResp",b"shortVideoRetweetResp"]) -> None: ...
