"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions
from builtins import (
    bool,
    bytes,
    int,
    str,
)
from collections.abc import (
    Iterable,
)
from google.protobuf.descriptor import (
    Descriptor,
    FileDescriptor,
)
from google.protobuf.internal.containers import (
    RepeatedCompositeFieldContainer,
)
from google.protobuf.message import (
    Message,
)

DESCRIPTOR: FileDescriptor

@typing_extensions.final
class ThirdPartLogin(Message):
    DESCRIPTOR: Descriptor

    @typing_extensions.final
    class A1Sig(Message):
        DESCRIPTOR: Descriptor

        ENCRYPTUIN_FIELD_NUMBER: int
        A1SIG_FIELD_NUMBER: int
        encryptUin: bytes
        a1Sig: bytes
        def __init__(
            self,
            *,
            encryptUin: bytes | None = ...,
            a1Sig: bytes | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["a1Sig", b"a1Sig", "encryptUin", b"encryptUin"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["a1Sig", b"a1Sig", "encryptUin", b"encryptUin"]) -> None: ...

    @typing_extensions.final
    class Button(Message):
        DESCRIPTOR: Descriptor

        TEXT_FIELD_NUMBER: int
        ACTION_FIELD_NUMBER: int
        JUMPURL_FIELD_NUMBER: int
        text: str
        action: int
        jumpUrl: str
        def __init__(
            self,
            *,
            text: str | None = ...,
            action: int | None = ...,
            jumpUrl: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["action", b"action", "jumpUrl", b"jumpUrl", "text", b"text"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["action", b"action", "jumpUrl", b"jumpUrl", "text", b"text"]) -> None: ...

    @typing_extensions.final
    class PicVerifyInfo(Message):
        DESCRIPTOR: Descriptor

        APPID_FIELD_NUMBER: int
        VERIFYSIG_FIELD_NUMBER: int
        RANDKEY_FIELD_NUMBER: int
        appid: int
        verifySig: bytes
        randKey: bytes
        def __init__(
            self,
            *,
            appid: int | None = ...,
            verifySig: bytes | None = ...,
            randKey: bytes | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["appid", b"appid", "randKey", b"randKey", "verifySig", b"verifySig"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["appid", b"appid", "randKey", b"randKey", "verifySig", b"verifySig"]) -> None: ...

    @typing_extensions.final
    class RandSalt(Message):
        DESCRIPTOR: Descriptor

        ENCRYPTUIN_FIELD_NUMBER: int
        SALT_FIELD_NUMBER: int
        encryptUin: bytes
        salt: int
        def __init__(
            self,
            *,
            encryptUin: bytes | None = ...,
            salt: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["encryptUin", b"encryptUin", "salt", b"salt"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["encryptUin", b"encryptUin", "salt", b"salt"]) -> None: ...

    @typing_extensions.final
    class ReqBindPhoneLogin(Message):
        DESCRIPTOR: Descriptor

        PICVERIFYINFO_FIELD_NUMBER: int
        @property
        def picVerifyInfo(self) -> ThirdPartLogin.PicVerifyInfo: ...
        def __init__(
            self,
            *,
            picVerifyInfo: ThirdPartLogin.PicVerifyInfo | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["picVerifyInfo", b"picVerifyInfo"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["picVerifyInfo", b"picVerifyInfo"]) -> None: ...

    @typing_extensions.final
    class ReqBody(Message):
        DESCRIPTOR: Descriptor

        SEQ_FIELD_NUMBER: int
        REQCLIENTINFO_FIELD_NUMBER: int
        REQCOMMONINFO_FIELD_NUMBER: int
        REQTHIRDLOGIN_FIELD_NUMBER: int
        REQSELFPHONE_FIELD_NUMBER: int
        REQCONNECTLOGIN_FIELD_NUMBER: int
        REQBINDPHONELOGIN_FIELD_NUMBER: int
        REQMASKQQLOGIN_FIELD_NUMBER: int
        REQCMD_4_FIELD_NUMBER: int
        REQCMD_9_FIELD_NUMBER: int
        REQCMD_17_FIELD_NUMBER: int
        REQCMD_18_FIELD_NUMBER: int
        REQCMD_23_FIELD_NUMBER: int
        REQCMD_24_FIELD_NUMBER: int
        REQCMD_25_FIELD_NUMBER: int
        seq: int
        @property
        def reqClientInfo(self) -> ThirdPartLogin.ReqClientInfo: ...
        @property
        def reqCommonInfo(self) -> ThirdPartLogin.ReqCommonInfo: ...
        @property
        def reqThirdLogin(self) -> ThirdPartLogin.ReqBodyThirdLogin: ...
        @property
        def reqSelfPhone(self) -> ThirdPartLogin.ReqBodySelfPhone: ...
        @property
        def reqConnectLogin(self) -> ThirdPartLogin.ReqConnectLogin: ...
        @property
        def reqBindPhoneLogin(self) -> ThirdPartLogin.ReqBindPhoneLogin: ...
        @property
        def reqMaskQqLogin(self) -> ThirdPartLogin.ReqMaskQQLogin: ...
        @property
        def reqCmd_4(self) -> ThirdPartLogin.ReqCmd4: ...
        @property
        def reqCmd_9(self) -> ThirdPartLogin.ReqCmd9: ...
        @property
        def reqCmd_17(self) -> ThirdPartLogin.ReqCmd17: ...
        @property
        def reqCmd_18(self) -> ThirdPartLogin.ReqCmd18: ...
        @property
        def reqCmd_23(self) -> ThirdPartLogin.ReqCmd23: ...
        @property
        def reqCmd_24(self) -> ThirdPartLogin.ReqCmd24: ...
        @property
        def reqCmd_25(self) -> ThirdPartLogin.ReqCmd25: ...
        def __init__(
            self,
            *,
            seq: int | None = ...,
            reqClientInfo: ThirdPartLogin.ReqClientInfo | None = ...,
            reqCommonInfo: ThirdPartLogin.ReqCommonInfo | None = ...,
            reqThirdLogin: ThirdPartLogin.ReqBodyThirdLogin | None = ...,
            reqSelfPhone: ThirdPartLogin.ReqBodySelfPhone | None = ...,
            reqConnectLogin: ThirdPartLogin.ReqConnectLogin | None = ...,
            reqBindPhoneLogin: ThirdPartLogin.ReqBindPhoneLogin | None = ...,
            reqMaskQqLogin: ThirdPartLogin.ReqMaskQQLogin | None = ...,
            reqCmd_4: ThirdPartLogin.ReqCmd4 | None = ...,
            reqCmd_9: ThirdPartLogin.ReqCmd9 | None = ...,
            reqCmd_17: ThirdPartLogin.ReqCmd17 | None = ...,
            reqCmd_18: ThirdPartLogin.ReqCmd18 | None = ...,
            reqCmd_23: ThirdPartLogin.ReqCmd23 | None = ...,
            reqCmd_24: ThirdPartLogin.ReqCmd24 | None = ...,
            reqCmd_25: ThirdPartLogin.ReqCmd25 | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["reqBindPhoneLogin", b"reqBindPhoneLogin", "reqClientInfo", b"reqClientInfo", "reqCmd_17", b"reqCmd_17", "reqCmd_18", b"reqCmd_18", "reqCmd_23", b"reqCmd_23", "reqCmd_24", b"reqCmd_24", "reqCmd_25", b"reqCmd_25", "reqCmd_4", b"reqCmd_4", "reqCmd_9", b"reqCmd_9", "reqCommonInfo", b"reqCommonInfo", "reqConnectLogin", b"reqConnectLogin", "reqMaskQqLogin", b"reqMaskQqLogin", "reqSelfPhone", b"reqSelfPhone", "reqThirdLogin", b"reqThirdLogin", "seq", b"seq"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["reqBindPhoneLogin", b"reqBindPhoneLogin", "reqClientInfo", b"reqClientInfo", "reqCmd_17", b"reqCmd_17", "reqCmd_18", b"reqCmd_18", "reqCmd_23", b"reqCmd_23", "reqCmd_24", b"reqCmd_24", "reqCmd_25", b"reqCmd_25", "reqCmd_4", b"reqCmd_4", "reqCmd_9", b"reqCmd_9", "reqCommonInfo", b"reqCommonInfo", "reqConnectLogin", b"reqConnectLogin", "reqMaskQqLogin", b"reqMaskQqLogin", "reqSelfPhone", b"reqSelfPhone", "reqThirdLogin", b"reqThirdLogin", "seq", b"seq"]) -> None: ...

    @typing_extensions.final
    class ReqBodyApple(Message):
        DESCRIPTOR: Descriptor

        APPID_FIELD_NUMBER: int
        USERID_FIELD_NUMBER: int
        IDENTITYTOKEN_FIELD_NUMBER: int
        AUTHORIZATIONCODE_FIELD_NUMBER: int
        NICKNAME_FIELD_NUMBER: int
        GENDER_FIELD_NUMBER: int
        appid: str
        userId: str
        identityToken: str
        authorizationCode: str
        nickName: str
        gender: str
        def __init__(
            self,
            *,
            appid: str | None = ...,
            userId: str | None = ...,
            identityToken: str | None = ...,
            authorizationCode: str | None = ...,
            nickName: str | None = ...,
            gender: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["appid", b"appid", "authorizationCode", b"authorizationCode", "gender", b"gender", "identityToken", b"identityToken", "nickName", b"nickName", "userId", b"userId"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["appid", b"appid", "authorizationCode", b"authorizationCode", "gender", b"gender", "identityToken", b"identityToken", "nickName", b"nickName", "userId", b"userId"]) -> None: ...

    @typing_extensions.final
    class ReqBodyFaceBook(Message):
        DESCRIPTOR: Descriptor

        APPID_FIELD_NUMBER: int
        ACCESSTOKEN_FIELD_NUMBER: int
        appid: str
        accessToken: str
        def __init__(
            self,
            *,
            appid: str | None = ...,
            accessToken: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["accessToken", b"accessToken", "appid", b"appid"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["accessToken", b"accessToken", "appid", b"appid"]) -> None: ...

    @typing_extensions.final
    class ReqBodyGoogle(Message):
        DESCRIPTOR: Descriptor

        APPID_FIELD_NUMBER: int
        IDTOKEN_FIELD_NUMBER: int
        appid: str
        idToken: str
        def __init__(
            self,
            *,
            appid: str | None = ...,
            idToken: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["appid", b"appid", "idToken", b"idToken"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["appid", b"appid", "idToken", b"idToken"]) -> None: ...

    @typing_extensions.final
    class ReqBodySelfPhone(Message):
        DESCRIPTOR: Descriptor

        REQCHECKPHONE_FIELD_NUMBER: int
        REQGETURL_FIELD_NUMBER: int
        REQCHECKPHONEV4_FIELD_NUMBER: int
        REQGETURLV4_FIELD_NUMBER: int
        REQPHONELOGIN_FIELD_NUMBER: int
        @property
        def reqCheckPhone(self) -> ThirdPartLogin.ReqBodySelfPhoneCheck: ...
        @property
        def reqGetUrl(self) -> ThirdPartLogin.ReqBodySelfPhoneGetUrl: ...
        @property
        def reqCheckPhoneV4(self) -> ThirdPartLogin.ReqBodySelfPhoneCheckV4: ...
        @property
        def reqGetUrlV4(self) -> ThirdPartLogin.ReqBodySelfPhoneGetUrlV4: ...
        @property
        def reqPhoneLogin(self) -> ThirdPartLogin.ReqBodySelfPhoneLogin: ...
        def __init__(
            self,
            *,
            reqCheckPhone: ThirdPartLogin.ReqBodySelfPhoneCheck | None = ...,
            reqGetUrl: ThirdPartLogin.ReqBodySelfPhoneGetUrl | None = ...,
            reqCheckPhoneV4: ThirdPartLogin.ReqBodySelfPhoneCheckV4 | None = ...,
            reqGetUrlV4: ThirdPartLogin.ReqBodySelfPhoneGetUrlV4 | None = ...,
            reqPhoneLogin: ThirdPartLogin.ReqBodySelfPhoneLogin | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["reqCheckPhone", b"reqCheckPhone", "reqCheckPhoneV4", b"reqCheckPhoneV4", "reqGetUrl", b"reqGetUrl", "reqGetUrlV4", b"reqGetUrlV4", "reqPhoneLogin", b"reqPhoneLogin"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["reqCheckPhone", b"reqCheckPhone", "reqCheckPhoneV4", b"reqCheckPhoneV4", "reqGetUrl", b"reqGetUrl", "reqGetUrlV4", b"reqGetUrlV4", "reqPhoneLogin", b"reqPhoneLogin"]) -> None: ...

    @typing_extensions.final
    class ReqBodySelfPhoneCheck(Message):
        DESCRIPTOR: Descriptor

        UPURL_FIELD_NUMBER: int
        TOKEN_FIELD_NUMBER: int
        MSGID_FIELD_NUMBER: int
        CHANNELID_FIELD_NUMBER: int
        CELLIP_FIELD_NUMBER: int
        upurl: str
        token: str
        msgId: str
        channelId: int
        cellIp: str
        def __init__(
            self,
            *,
            upurl: str | None = ...,
            token: str | None = ...,
            msgId: str | None = ...,
            channelId: int | None = ...,
            cellIp: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["cellIp", b"cellIp", "channelId", b"channelId", "msgId", b"msgId", "token", b"token", "upurl", b"upurl"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["cellIp", b"cellIp", "channelId", b"channelId", "msgId", b"msgId", "token", b"token", "upurl", b"upurl"]) -> None: ...

    @typing_extensions.final
    class ReqBodySelfPhoneCheckV4(Message):
        DESCRIPTOR: Descriptor

        MSGID_FIELD_NUMBER: int
        CELLIP_FIELD_NUMBER: int
        SELFPHONETOKEN_FIELD_NUMBER: int
        msgId: str
        cellIp: str
        @property
        def selfPhoneToken(self) -> RepeatedCompositeFieldContainer[ThirdPartLogin.SelfPhoneToken]: ...
        def __init__(
            self,
            *,
            msgId: str | None = ...,
            cellIp: str | None = ...,
            selfPhoneToken: Iterable[ThirdPartLogin.SelfPhoneToken] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["cellIp", b"cellIp", "msgId", b"msgId"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["cellIp", b"cellIp", "msgId", b"msgId", "selfPhoneToken", b"selfPhoneToken"]) -> None: ...

    @typing_extensions.final
    class ReqBodySelfPhoneGetUrl(Message):
        DESCRIPTOR: Descriptor

        GETUPLOADURL_FIELD_NUMBER: int
        MOBILEPHONE_FIELD_NUMBER: int
        CELLIP_FIELD_NUMBER: int
        ISPTYPE_FIELD_NUMBER: int
        getUploadUrl: int
        mobilePhone: str
        cellIp: str
        ispType: int
        def __init__(
            self,
            *,
            getUploadUrl: int | None = ...,
            mobilePhone: str | None = ...,
            cellIp: str | None = ...,
            ispType: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["cellIp", b"cellIp", "getUploadUrl", b"getUploadUrl", "ispType", b"ispType", "mobilePhone", b"mobilePhone"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["cellIp", b"cellIp", "getUploadUrl", b"getUploadUrl", "ispType", b"ispType", "mobilePhone", b"mobilePhone"]) -> None: ...

    @typing_extensions.final
    class ReqBodySelfPhoneGetUrlV4(Message):
        DESCRIPTOR: Descriptor

        GETUPLOADURL_FIELD_NUMBER: int
        MOBILEPHONE_FIELD_NUMBER: int
        CELLIP_FIELD_NUMBER: int
        ISPTYPE_FIELD_NUMBER: int
        getUploadUrl: int
        mobilePhone: str
        cellIp: str
        ispType: int
        def __init__(
            self,
            *,
            getUploadUrl: int | None = ...,
            mobilePhone: str | None = ...,
            cellIp: str | None = ...,
            ispType: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["cellIp", b"cellIp", "getUploadUrl", b"getUploadUrl", "ispType", b"ispType", "mobilePhone", b"mobilePhone"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["cellIp", b"cellIp", "getUploadUrl", b"getUploadUrl", "ispType", b"ispType", "mobilePhone", b"mobilePhone"]) -> None: ...

    @typing_extensions.final
    class ReqBodySelfPhoneLogin(Message):
        DESCRIPTOR: Descriptor

        PHONETOKEN_FIELD_NUMBER: int
        SUPPORTAUXINFOCHECK_FIELD_NUMBER: int
        SUPPORTUNBINDPHONE_FIELD_NUMBER: int
        phoneToken: bytes
        supportAuxinfoCheck: bool
        supportUnbindPhone: bool
        def __init__(
            self,
            *,
            phoneToken: bytes | None = ...,
            supportAuxinfoCheck: bool | None = ...,
            supportUnbindPhone: bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["phoneToken", b"phoneToken", "supportAuxinfoCheck", b"supportAuxinfoCheck", "supportUnbindPhone", b"supportUnbindPhone"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["phoneToken", b"phoneToken", "supportAuxinfoCheck", b"supportAuxinfoCheck", "supportUnbindPhone", b"supportUnbindPhone"]) -> None: ...

    @typing_extensions.final
    class ReqBodyThirdLogin(Message):
        DESCRIPTOR: Descriptor

        SERVICETYPE_FIELD_NUMBER: int
        UINACCOUNTTYPE_FIELD_NUMBER: int
        REQGOOGLE_FIELD_NUMBER: int
        REQFACEBOOK_FIELD_NUMBER: int
        REQPHONE_FIELD_NUMBER: int
        REQAPPLE_FIELD_NUMBER: int
        REQWECHAT_FIELD_NUMBER: int
        serviceType: int
        uinAccountType: int
        @property
        def reqGoogle(self) -> ThirdPartLogin.ReqBodyGoogle: ...
        @property
        def reqFacebook(self) -> ThirdPartLogin.ReqBodyFaceBook: ...
        @property
        def reqPhone(self) -> ThirdPartLogin.ReqPhoneLogin: ...
        @property
        def reqApple(self) -> ThirdPartLogin.ReqBodyApple: ...
        @property
        def reqWechat(self) -> ThirdPartLogin.ReqWechat: ...
        def __init__(
            self,
            *,
            serviceType: int | None = ...,
            uinAccountType: int | None = ...,
            reqGoogle: ThirdPartLogin.ReqBodyGoogle | None = ...,
            reqFacebook: ThirdPartLogin.ReqBodyFaceBook | None = ...,
            reqPhone: ThirdPartLogin.ReqPhoneLogin | None = ...,
            reqApple: ThirdPartLogin.ReqBodyApple | None = ...,
            reqWechat: ThirdPartLogin.ReqWechat | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["reqApple", b"reqApple", "reqFacebook", b"reqFacebook", "reqGoogle", b"reqGoogle", "reqPhone", b"reqPhone", "reqWechat", b"reqWechat", "serviceType", b"serviceType", "uinAccountType", b"uinAccountType"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["reqApple", b"reqApple", "reqFacebook", b"reqFacebook", "reqGoogle", b"reqGoogle", "reqPhone", b"reqPhone", "reqWechat", b"reqWechat", "serviceType", b"serviceType", "uinAccountType", b"uinAccountType"]) -> None: ...

    @typing_extensions.final
    class ReqClientInfo(Message):
        DESCRIPTOR: Descriptor

        CLIENTQUA_FIELD_NUMBER: int
        CLIENTPLATFORM_FIELD_NUMBER: int
        QIMEI36_FIELD_NUMBER: int
        clientQua: str
        clientPlatform: int
        qimei36: str
        def __init__(
            self,
            *,
            clientQua: str | None = ...,
            clientPlatform: int | None = ...,
            qimei36: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["clientPlatform", b"clientPlatform", "clientQua", b"clientQua", "qimei36", b"qimei36"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["clientPlatform", b"clientPlatform", "clientQua", b"clientQua", "qimei36", b"qimei36"]) -> None: ...

    @typing_extensions.final
    class ReqCmd17(Message):
        DESCRIPTOR: Descriptor

        COUNTRYCODE_FIELD_NUMBER: int
        MOBILEPHONE_FIELD_NUMBER: int
        SUPPORTABOLISHSWITCHOFPHONELOGIN_FIELD_NUMBER: int
        REQPHONESMSEXTENDLOGIN_FIELD_NUMBER: int
        REQPHONESMSAUXVERIFYLOGIN_FIELD_NUMBER: int
        countryCode: int
        mobilePhone: str
        supportAbolishSwitchOfPhoneLogin: bool
        @property
        def reqPhoneSmsExtendLogin(self) -> ThirdPartLogin.ReqPhoneSmsExtendLogin: ...
        @property
        def reqPhoneSmsAuxVerifyLogin(self) -> ThirdPartLogin.ReqPhoneSmsAuxVerifyLogin: ...
        def __init__(
            self,
            *,
            countryCode: int | None = ...,
            mobilePhone: str | None = ...,
            supportAbolishSwitchOfPhoneLogin: bool | None = ...,
            reqPhoneSmsExtendLogin: ThirdPartLogin.ReqPhoneSmsExtendLogin | None = ...,
            reqPhoneSmsAuxVerifyLogin: ThirdPartLogin.ReqPhoneSmsAuxVerifyLogin | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["countryCode", b"countryCode", "mobilePhone", b"mobilePhone", "reqPhoneSmsAuxVerifyLogin", b"reqPhoneSmsAuxVerifyLogin", "reqPhoneSmsExtendLogin", b"reqPhoneSmsExtendLogin", "supportAbolishSwitchOfPhoneLogin", b"supportAbolishSwitchOfPhoneLogin"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["countryCode", b"countryCode", "mobilePhone", b"mobilePhone", "reqPhoneSmsAuxVerifyLogin", b"reqPhoneSmsAuxVerifyLogin", "reqPhoneSmsExtendLogin", b"reqPhoneSmsExtendLogin", "supportAbolishSwitchOfPhoneLogin", b"supportAbolishSwitchOfPhoneLogin"]) -> None: ...

    @typing_extensions.final
    class ReqCmd18(Message):
        DESCRIPTOR: Descriptor

        SMSTOKEN_FIELD_NUMBER: int
        smsToken: str
        def __init__(
            self,
            *,
            smsToken: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["smsToken", b"smsToken"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["smsToken", b"smsToken"]) -> None: ...

    @typing_extensions.final
    class ReqCmd23(Message):
        DESCRIPTOR: Descriptor

        SUPPORTABOLISHSWITCHOFPHONELOGIN_FIELD_NUMBER: int
        REQTIMWECHAT_FIELD_NUMBER: int
        supportAbolishSwitchOfPhoneLogin: bool
        @property
        def reqTimWechat(self) -> ThirdPartLogin.ReqTimWeChat: ...
        def __init__(
            self,
            *,
            supportAbolishSwitchOfPhoneLogin: bool | None = ...,
            reqTimWechat: ThirdPartLogin.ReqTimWeChat | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["reqTimWechat", b"reqTimWechat", "supportAbolishSwitchOfPhoneLogin", b"supportAbolishSwitchOfPhoneLogin"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["reqTimWechat", b"reqTimWechat", "supportAbolishSwitchOfPhoneLogin", b"supportAbolishSwitchOfPhoneLogin"]) -> None: ...

    @typing_extensions.final
    class ReqCmd24(Message):
        DESCRIPTOR: Descriptor

        COUNTRYCODE_FIELD_NUMBER: int
        MOBILEPHONE_FIELD_NUMBER: int
        WATERPROFWALLSIG_FIELD_NUMBER: int
        countryCode: int
        mobilePhone: str
        waterprofWallSig: str
        def __init__(
            self,
            *,
            countryCode: int | None = ...,
            mobilePhone: str | None = ...,
            waterprofWallSig: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["countryCode", b"countryCode", "mobilePhone", b"mobilePhone", "waterprofWallSig", b"waterprofWallSig"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["countryCode", b"countryCode", "mobilePhone", b"mobilePhone", "waterprofWallSig", b"waterprofWallSig"]) -> None: ...

    @typing_extensions.final
    class ReqCmd25(Message):
        DESCRIPTOR: Descriptor

        A1LIST_FIELD_NUMBER: int
        @property
        def a1List(self) -> RepeatedCompositeFieldContainer[ThirdPartLogin.A1Sig]: ...
        def __init__(
            self,
            *,
            a1List: Iterable[ThirdPartLogin.A1Sig] | None = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["a1List", b"a1List"]) -> None: ...

    @typing_extensions.final
    class ReqCmd4(Message):
        DESCRIPTOR: Descriptor

        COUNTRYCODE_FIELD_NUMBER: int
        NEWDEVICECHECKSIG_FIELD_NUMBER: int
        NEWDEVICECHECKUINTOKEN_FIELD_NUMBER: int
        countryCode: int
        newDeviceCheckSig: str
        newDeviceCheckUinToken: str
        def __init__(
            self,
            *,
            countryCode: int | None = ...,
            newDeviceCheckSig: str | None = ...,
            newDeviceCheckUinToken: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["countryCode", b"countryCode", "newDeviceCheckSig", b"newDeviceCheckSig", "newDeviceCheckUinToken", b"newDeviceCheckUinToken"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["countryCode", b"countryCode", "newDeviceCheckSig", b"newDeviceCheckSig", "newDeviceCheckUinToken", b"newDeviceCheckUinToken"]) -> None: ...

    @typing_extensions.final
    class ReqCmd9(Message):
        DESCRIPTOR: Descriptor

        def __init__(
            self,
        ) -> None: ...

    @typing_extensions.final
    class ReqCommonInfo(Message):
        DESCRIPTOR: Descriptor

        REQNEEDUIDFLAG_FIELD_NUMBER: int
        REQNEEDVERIFYSCENES_FIELD_NUMBER: int
        REQSUPPORTSELFPHONECHECK_FIELD_NUMBER: int
        REQSUPPORTDIFFPASSWDCANVERIFY_FIELD_NUMBER: int
        VERIFYSIG_FIELD_NUMBER: int
        reqNeedUidFlag: bool
        reqNeedVerifyScenes: int
        reqSupportSelfPhoneCheck: int
        reqSupportDiffPasswdCanVerify: bool
        verifySig: str
        def __init__(
            self,
            *,
            reqNeedUidFlag: bool | None = ...,
            reqNeedVerifyScenes: int | None = ...,
            reqSupportSelfPhoneCheck: int | None = ...,
            reqSupportDiffPasswdCanVerify: bool | None = ...,
            verifySig: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["reqNeedUidFlag", b"reqNeedUidFlag", "reqNeedVerifyScenes", b"reqNeedVerifyScenes", "reqSupportDiffPasswdCanVerify", b"reqSupportDiffPasswdCanVerify", "reqSupportSelfPhoneCheck", b"reqSupportSelfPhoneCheck", "verifySig", b"verifySig"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["reqNeedUidFlag", b"reqNeedUidFlag", "reqNeedVerifyScenes", b"reqNeedVerifyScenes", "reqSupportDiffPasswdCanVerify", b"reqSupportDiffPasswdCanVerify", "reqSupportSelfPhoneCheck", b"reqSupportSelfPhoneCheck", "verifySig", b"verifySig"]) -> None: ...

    @typing_extensions.final
    class ReqConnectLogin(Message):
        DESCRIPTOR: Descriptor

        CONNECTDATA_FIELD_NUMBER: int
        connectData: str
        def __init__(
            self,
            *,
            connectData: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["connectData", b"connectData"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["connectData", b"connectData"]) -> None: ...

    @typing_extensions.final
    class ReqMaskQQLogin(Message):
        DESCRIPTOR: Descriptor

        ENCRYPTUININFO_FIELD_NUMBER: int
        encryptUinInfo: bytes
        def __init__(
            self,
            *,
            encryptUinInfo: bytes | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["encryptUinInfo", b"encryptUinInfo"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["encryptUinInfo", b"encryptUinInfo"]) -> None: ...

    @typing_extensions.final
    class ReqPhoneLogin(Message):
        DESCRIPTOR: Descriptor

        COUNTRYCODE_FIELD_NUMBER: int
        PHONENUM_FIELD_NUMBER: int
        countryCode: str
        phoneNum: str
        def __init__(
            self,
            *,
            countryCode: str | None = ...,
            phoneNum: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["countryCode", b"countryCode", "phoneNum", b"phoneNum"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["countryCode", b"countryCode", "phoneNum", b"phoneNum"]) -> None: ...

    @typing_extensions.final
    class ReqPhoneSmsAuxVerifyLogin(Message):
        DESCRIPTOR: Descriptor

        REQSUPPORTAUXVERIFY_FIELD_NUMBER: int
        reqSupportAuxVerify: bool
        def __init__(
            self,
            *,
            reqSupportAuxVerify: bool | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["reqSupportAuxVerify", b"reqSupportAuxVerify"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["reqSupportAuxVerify", b"reqSupportAuxVerify"]) -> None: ...

    @typing_extensions.final
    class ReqPhoneSmsExtendLogin(Message):
        DESCRIPTOR: Descriptor

        SUPPORTFLAG_FIELD_NUMBER: int
        supportFlag: int
        def __init__(
            self,
            *,
            supportFlag: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["supportFlag", b"supportFlag"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["supportFlag", b"supportFlag"]) -> None: ...

    @typing_extensions.final
    class ReqTimWeChat(Message):
        DESCRIPTOR: Descriptor

        SUPPORTMOBILEREGISTER_FIELD_NUMBER: int
        supportMobileRegister: int
        def __init__(
            self,
            *,
            supportMobileRegister: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["supportMobileRegister", b"supportMobileRegister"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["supportMobileRegister", b"supportMobileRegister"]) -> None: ...

    @typing_extensions.final
    class ReqWechat(Message):
        DESCRIPTOR: Descriptor

        APPID_FIELD_NUMBER: int
        CODE_FIELD_NUMBER: int
        appid: str
        code: str
        def __init__(
            self,
            *,
            appid: str | None = ...,
            code: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["appid", b"appid", "code", b"code"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["appid", b"appid", "code", b"code"]) -> None: ...

    @typing_extensions.final
    class RspBindPhoneLogin(Message):
        DESCRIPTOR: Descriptor

        def __init__(
            self,
        ) -> None: ...

    @typing_extensions.final
    class RspBody(Message):
        DESCRIPTOR: Descriptor

        SEQ_FIELD_NUMBER: int
        RSPCOMMONINFO_FIELD_NUMBER: int
        RSPTHIRDLOGIN_FIELD_NUMBER: int
        RSPSELFPHONE_FIELD_NUMBER: int
        RSPCONNECTLOGIN_FIELD_NUMBER: int
        RSPBINDPHONELOGIN_FIELD_NUMBER: int
        RSPLFTINFO_FIELD_NUMBER: int
        RSPTIPSINFO_FIELD_NUMBER: int
        RSPCMD_4_FIELD_NUMBER: int
        RSPCMD_9_FIELD_NUMBER: int
        RSPCMD_17_FIELD_NUMBER: int
        RSPCMD_18_FIELD_NUMBER: int
        RSPCMD_23_FIELD_NUMBER: int
        RSPCMD_24_FIELD_NUMBER: int
        RSPCMD_25_FIELD_NUMBER: int
        seq: int
        @property
        def rspCommonInfo(self) -> ThirdPartLogin.RspCommonInfo: ...
        @property
        def rspThirdLogin(self) -> ThirdPartLogin.RspBodyThirdLogin: ...
        @property
        def rspSelfPhone(self) -> ThirdPartLogin.RspBodySelfPhone: ...
        @property
        def rspConnectLogin(self) -> ThirdPartLogin.RspConnectLogin: ...
        @property
        def rspBindPhoneLogin(self) -> ThirdPartLogin.RspBindPhoneLogin: ...
        @property
        def rspLftInfo(self) -> ThirdPartLogin.RspLftInfo: ...
        @property
        def rspTipsInfo(self) -> ThirdPartLogin.RspTipsInfo: ...
        @property
        def rspCmd_4(self) -> ThirdPartLogin.RspCmd4: ...
        @property
        def rspCmd_9(self) -> ThirdPartLogin.RspCmd9: ...
        @property
        def rspCmd_17(self) -> ThirdPartLogin.RspCmd17: ...
        @property
        def rspCmd_18(self) -> ThirdPartLogin.RspCmd18: ...
        @property
        def rspCmd_23(self) -> ThirdPartLogin.RspCmd23: ...
        @property
        def rspCmd_24(self) -> ThirdPartLogin.RspCmd24: ...
        @property
        def rspCmd_25(self) -> ThirdPartLogin.RspCmd25: ...
        def __init__(
            self,
            *,
            seq: int | None = ...,
            rspCommonInfo: ThirdPartLogin.RspCommonInfo | None = ...,
            rspThirdLogin: ThirdPartLogin.RspBodyThirdLogin | None = ...,
            rspSelfPhone: ThirdPartLogin.RspBodySelfPhone | None = ...,
            rspConnectLogin: ThirdPartLogin.RspConnectLogin | None = ...,
            rspBindPhoneLogin: ThirdPartLogin.RspBindPhoneLogin | None = ...,
            rspLftInfo: ThirdPartLogin.RspLftInfo | None = ...,
            rspTipsInfo: ThirdPartLogin.RspTipsInfo | None = ...,
            rspCmd_4: ThirdPartLogin.RspCmd4 | None = ...,
            rspCmd_9: ThirdPartLogin.RspCmd9 | None = ...,
            rspCmd_17: ThirdPartLogin.RspCmd17 | None = ...,
            rspCmd_18: ThirdPartLogin.RspCmd18 | None = ...,
            rspCmd_23: ThirdPartLogin.RspCmd23 | None = ...,
            rspCmd_24: ThirdPartLogin.RspCmd24 | None = ...,
            rspCmd_25: ThirdPartLogin.RspCmd25 | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["rspBindPhoneLogin", b"rspBindPhoneLogin", "rspCmd_17", b"rspCmd_17", "rspCmd_18", b"rspCmd_18", "rspCmd_23", b"rspCmd_23", "rspCmd_24", b"rspCmd_24", "rspCmd_25", b"rspCmd_25", "rspCmd_4", b"rspCmd_4", "rspCmd_9", b"rspCmd_9", "rspCommonInfo", b"rspCommonInfo", "rspConnectLogin", b"rspConnectLogin", "rspLftInfo", b"rspLftInfo", "rspSelfPhone", b"rspSelfPhone", "rspThirdLogin", b"rspThirdLogin", "rspTipsInfo", b"rspTipsInfo", "seq", b"seq"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["rspBindPhoneLogin", b"rspBindPhoneLogin", "rspCmd_17", b"rspCmd_17", "rspCmd_18", b"rspCmd_18", "rspCmd_23", b"rspCmd_23", "rspCmd_24", b"rspCmd_24", "rspCmd_25", b"rspCmd_25", "rspCmd_4", b"rspCmd_4", "rspCmd_9", b"rspCmd_9", "rspCommonInfo", b"rspCommonInfo", "rspConnectLogin", b"rspConnectLogin", "rspLftInfo", b"rspLftInfo", "rspSelfPhone", b"rspSelfPhone", "rspThirdLogin", b"rspThirdLogin", "rspTipsInfo", b"rspTipsInfo", "seq", b"seq"]) -> None: ...

    @typing_extensions.final
    class RspBodyApple(Message):
        DESCRIPTOR: Descriptor

        def __init__(
            self,
        ) -> None: ...

    @typing_extensions.final
    class RspBodyFaceBook(Message):
        DESCRIPTOR: Descriptor

        USERPROFILE_FIELD_NUMBER: int
        userProfile: str
        def __init__(
            self,
            *,
            userProfile: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["userProfile", b"userProfile"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["userProfile", b"userProfile"]) -> None: ...

    @typing_extensions.final
    class RspBodyGoogle(Message):
        DESCRIPTOR: Descriptor

        USERPROFILE_FIELD_NUMBER: int
        userProfile: str
        def __init__(
            self,
            *,
            userProfile: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["userProfile", b"userProfile"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["userProfile", b"userProfile"]) -> None: ...

    @typing_extensions.final
    class RspBodySelfPhone(Message):
        DESCRIPTOR: Descriptor

        RSPCHECKPHONE_FIELD_NUMBER: int
        RSPGETURL_FIELD_NUMBER: int
        RSPGETURLV4_FIELD_NUMBER: int
        RSPPHONELOGIN_FIELD_NUMBER: int
        @property
        def rspCheckPhone(self) -> ThirdPartLogin.RspBodySelfPhoneCheck: ...
        @property
        def rspGetUrl(self) -> ThirdPartLogin.RspBodySelfPhoneGetUrl: ...
        @property
        def rspGetUrlV4(self) -> ThirdPartLogin.RspBodySelfPhoneGetUrlV4: ...
        @property
        def rspPhoneLogin(self) -> ThirdPartLogin.RspBodySelfPhoneLogin: ...
        def __init__(
            self,
            *,
            rspCheckPhone: ThirdPartLogin.RspBodySelfPhoneCheck | None = ...,
            rspGetUrl: ThirdPartLogin.RspBodySelfPhoneGetUrl | None = ...,
            rspGetUrlV4: ThirdPartLogin.RspBodySelfPhoneGetUrlV4 | None = ...,
            rspPhoneLogin: ThirdPartLogin.RspBodySelfPhoneLogin | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["rspCheckPhone", b"rspCheckPhone", "rspGetUrl", b"rspGetUrl", "rspGetUrlV4", b"rspGetUrlV4", "rspPhoneLogin", b"rspPhoneLogin"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["rspCheckPhone", b"rspCheckPhone", "rspGetUrl", b"rspGetUrl", "rspGetUrlV4", b"rspGetUrlV4", "rspPhoneLogin", b"rspPhoneLogin"]) -> None: ...

    @typing_extensions.final
    class RspBodySelfPhoneCheck(Message):
        DESCRIPTOR: Descriptor

        UPLOADREDIRECTURL_FIELD_NUMBER: int
        MSGID_FIELD_NUMBER: int
        CHANNELID_FIELD_NUMBER: int
        CHANNELCARRIERTYPE_FIELD_NUMBER: int
        uploadRedirectUrl: str
        msgId: str
        channelId: int
        channelCarrierType: int
        def __init__(
            self,
            *,
            uploadRedirectUrl: str | None = ...,
            msgId: str | None = ...,
            channelId: int | None = ...,
            channelCarrierType: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["channelCarrierType", b"channelCarrierType", "channelId", b"channelId", "msgId", b"msgId", "uploadRedirectUrl", b"uploadRedirectUrl"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["channelCarrierType", b"channelCarrierType", "channelId", b"channelId", "msgId", b"msgId", "uploadRedirectUrl", b"uploadRedirectUrl"]) -> None: ...

    @typing_extensions.final
    class RspBodySelfPhoneGetUrl(Message):
        DESCRIPTOR: Descriptor

        UPLOADURL_FIELD_NUMBER: int
        MSGID_FIELD_NUMBER: int
        CHANNELID_FIELD_NUMBER: int
        uploadUrl: str
        msgId: str
        channelId: int
        def __init__(
            self,
            *,
            uploadUrl: str | None = ...,
            msgId: str | None = ...,
            channelId: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["channelId", b"channelId", "msgId", b"msgId", "uploadUrl", b"uploadUrl"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["channelId", b"channelId", "msgId", b"msgId", "uploadUrl", b"uploadUrl"]) -> None: ...

    @typing_extensions.final
    class RspBodySelfPhoneGetUrlV4(Message):
        DESCRIPTOR: Descriptor

        MSGID_FIELD_NUMBER: int
        SELFPHONEURL_FIELD_NUMBER: int
        msgId: str
        @property
        def selfPhoneUrl(self) -> RepeatedCompositeFieldContainer[ThirdPartLogin.SelfPhoneUrl]: ...
        def __init__(
            self,
            *,
            msgId: str | None = ...,
            selfPhoneUrl: Iterable[ThirdPartLogin.SelfPhoneUrl] | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["msgId", b"msgId"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["msgId", b"msgId", "selfPhoneUrl", b"selfPhoneUrl"]) -> None: ...

    @typing_extensions.final
    class RspBodySelfPhoneLogin(Message):
        DESCRIPTOR: Descriptor

        BINDUININFO_FIELD_NUMBER: int
        PHONEBINDRESULT_FIELD_NUMBER: int
        PHONEBINDMSGTITLE_FIELD_NUMBER: int
        PHONEBINDMSGCONTENT_FIELD_NUMBER: int
        UNBINDWORDING_FIELD_NUMBER: int
        @property
        def bindUinInfo(self) -> RepeatedCompositeFieldContainer[ThirdPartLogin.UinInfo]: ...
        phoneBindResult: int
        phoneBindMsgTitle: str
        phoneBindMsgContent: str
        unbindWording: str
        def __init__(
            self,
            *,
            bindUinInfo: Iterable[ThirdPartLogin.UinInfo] | None = ...,
            phoneBindResult: int | None = ...,
            phoneBindMsgTitle: str | None = ...,
            phoneBindMsgContent: str | None = ...,
            unbindWording: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["phoneBindMsgContent", b"phoneBindMsgContent", "phoneBindMsgTitle", b"phoneBindMsgTitle", "phoneBindResult", b"phoneBindResult", "unbindWording", b"unbindWording"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["bindUinInfo", b"bindUinInfo", "phoneBindMsgContent", b"phoneBindMsgContent", "phoneBindMsgTitle", b"phoneBindMsgTitle", "phoneBindResult", b"phoneBindResult", "unbindWording", b"unbindWording"]) -> None: ...

    @typing_extensions.final
    class RspBodyThirdLogin(Message):
        DESCRIPTOR: Descriptor

        SERVICETYPE_FIELD_NUMBER: int
        QQUIN_FIELD_NUMBER: int
        REGISTERFLAG_FIELD_NUMBER: int
        REGISTERTOKEN_FIELD_NUMBER: int
        RSPGOOGLE_FIELD_NUMBER: int
        RSPFACEBOOK_FIELD_NUMBER: int
        RSPPHONE_FIELD_NUMBER: int
        RSPAPPLE_FIELD_NUMBER: int
        RSPWECHAT_FIELD_NUMBER: int
        serviceType: int
        qqUin: int
        registerFlag: int
        registerToken: str
        @property
        def rspGoogle(self) -> ThirdPartLogin.RspBodyGoogle: ...
        @property
        def rspFacebook(self) -> ThirdPartLogin.RspBodyFaceBook: ...
        @property
        def rspPhone(self) -> ThirdPartLogin.RspPhoneLogin: ...
        @property
        def rspApple(self) -> ThirdPartLogin.RspBodyApple: ...
        @property
        def rspWechat(self) -> ThirdPartLogin.RspWechat: ...
        def __init__(
            self,
            *,
            serviceType: int | None = ...,
            qqUin: int | None = ...,
            registerFlag: int | None = ...,
            registerToken: str | None = ...,
            rspGoogle: ThirdPartLogin.RspBodyGoogle | None = ...,
            rspFacebook: ThirdPartLogin.RspBodyFaceBook | None = ...,
            rspPhone: ThirdPartLogin.RspPhoneLogin | None = ...,
            rspApple: ThirdPartLogin.RspBodyApple | None = ...,
            rspWechat: ThirdPartLogin.RspWechat | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["qqUin", b"qqUin", "registerFlag", b"registerFlag", "registerToken", b"registerToken", "rspApple", b"rspApple", "rspFacebook", b"rspFacebook", "rspGoogle", b"rspGoogle", "rspPhone", b"rspPhone", "rspWechat", b"rspWechat", "serviceType", b"serviceType"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["qqUin", b"qqUin", "registerFlag", b"registerFlag", "registerToken", b"registerToken", "rspApple", b"rspApple", "rspFacebook", b"rspFacebook", "rspGoogle", b"rspGoogle", "rspPhone", b"rspPhone", "rspWechat", b"rspWechat", "serviceType", b"serviceType"]) -> None: ...

    @typing_extensions.final
    class RspCmd17(Message):
        DESCRIPTOR: Descriptor

        def __init__(
            self,
        ) -> None: ...

    @typing_extensions.final
    class RspCmd18(Message):
        DESCRIPTOR: Descriptor

        RSPPHONESMSEXTENDLOGIN_FIELD_NUMBER: int
        SMSTOKEN_FIELD_NUMBER: int
        RSPPHONESMSAUXVERIFYLOGIN_FIELD_NUMBER: int
        @property
        def rspPhoneSmsExtendLogin(self) -> ThirdPartLogin.RspPhoneSmsExtendLogin: ...
        smsToken: str
        @property
        def rspPhoneSmsAuxVerifyLogin(self) -> ThirdPartLogin.RspPhoneSmsAuxVerifyLogin: ...
        def __init__(
            self,
            *,
            rspPhoneSmsExtendLogin: ThirdPartLogin.RspPhoneSmsExtendLogin | None = ...,
            smsToken: str | None = ...,
            rspPhoneSmsAuxVerifyLogin: ThirdPartLogin.RspPhoneSmsAuxVerifyLogin | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["rspPhoneSmsAuxVerifyLogin", b"rspPhoneSmsAuxVerifyLogin", "rspPhoneSmsExtendLogin", b"rspPhoneSmsExtendLogin", "smsToken", b"smsToken"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["rspPhoneSmsAuxVerifyLogin", b"rspPhoneSmsAuxVerifyLogin", "rspPhoneSmsExtendLogin", b"rspPhoneSmsExtendLogin", "smsToken", b"smsToken"]) -> None: ...

    @typing_extensions.final
    class RspCmd23(Message):
        DESCRIPTOR: Descriptor

        RSPTIMEWECHAT_FIELD_NUMBER: int
        @property
        def rspTimeWechat(self) -> ThirdPartLogin.RspTimWeChat: ...
        def __init__(
            self,
            *,
            rspTimeWechat: ThirdPartLogin.RspTimWeChat | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["rspTimeWechat", b"rspTimeWechat"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["rspTimeWechat", b"rspTimeWechat"]) -> None: ...

    @typing_extensions.final
    class RspCmd24(Message):
        DESCRIPTOR: Descriptor

        SALTLIST_FIELD_NUMBER: int
        @property
        def saltList(self) -> RepeatedCompositeFieldContainer[ThirdPartLogin.RandSalt]: ...
        def __init__(
            self,
            *,
            saltList: Iterable[ThirdPartLogin.RandSalt] | None = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["saltList", b"saltList"]) -> None: ...

    @typing_extensions.final
    class RspCmd25(Message):
        DESCRIPTOR: Descriptor

        BINDUININFO_FIELD_NUMBER: int
        @property
        def bindUinInfo(self) -> RepeatedCompositeFieldContainer[ThirdPartLogin.UinInfo]: ...
        def __init__(
            self,
            *,
            bindUinInfo: Iterable[ThirdPartLogin.UinInfo] | None = ...,
        ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["bindUinInfo", b"bindUinInfo"]) -> None: ...

    @typing_extensions.final
    class RspCmd4(Message):
        DESCRIPTOR: Descriptor

        def __init__(
            self,
        ) -> None: ...

    @typing_extensions.final
    class RspCmd9(Message):
        DESCRIPTOR: Descriptor

        RSPPHONESMSEXTENDLOGIN_FIELD_NUMBER: int
        @property
        def rspPhoneSmsExtendLogin(self) -> ThirdPartLogin.RspPhoneSmsExtendLogin: ...
        def __init__(
            self,
            *,
            rspPhoneSmsExtendLogin: ThirdPartLogin.RspPhoneSmsExtendLogin | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["rspPhoneSmsExtendLogin", b"rspPhoneSmsExtendLogin"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["rspPhoneSmsExtendLogin", b"rspPhoneSmsExtendLogin"]) -> None: ...

    @typing_extensions.final
    class RspCommonInfo(Message):
        DESCRIPTOR: Descriptor

        NEEDVERIFYSCENES_FIELD_NUMBER: int
        RSPNT_FIELD_NUMBER: int
        A1SEQ_FIELD_NUMBER: int
        needVerifyScenes: int
        @property
        def rspNt(self) -> ThirdPartLogin.RspNT: ...
        a1Seq: int
        def __init__(
            self,
            *,
            needVerifyScenes: int | None = ...,
            rspNt: ThirdPartLogin.RspNT | None = ...,
            a1Seq: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["a1Seq", b"a1Seq", "needVerifyScenes", b"needVerifyScenes", "rspNt", b"rspNt"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["a1Seq", b"a1Seq", "needVerifyScenes", b"needVerifyScenes", "rspNt", b"rspNt"]) -> None: ...

    @typing_extensions.final
    class RspConnectLogin(Message):
        DESCRIPTOR: Descriptor

        def __init__(
            self,
        ) -> None: ...

    @typing_extensions.final
    class RspLftInfo(Message):
        DESCRIPTOR: Descriptor

        LFTFORBIDAREA_FIELD_NUMBER: int
        LFTFORBIDREASON_FIELD_NUMBER: int
        lftForbidArea: int
        lftForbidReason: int
        def __init__(
            self,
            *,
            lftForbidArea: int | None = ...,
            lftForbidReason: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["lftForbidArea", b"lftForbidArea", "lftForbidReason", b"lftForbidReason"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["lftForbidArea", b"lftForbidArea", "lftForbidReason", b"lftForbidReason"]) -> None: ...

    @typing_extensions.final
    class RspNT(Message):
        DESCRIPTOR: Descriptor

        UID_FIELD_NUMBER: int
        UA2_FIELD_NUMBER: int
        uid: str
        ua2: bytes
        def __init__(
            self,
            *,
            uid: str | None = ...,
            ua2: bytes | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["ua2", b"ua2", "uid", b"uid"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["ua2", b"ua2", "uid", b"uid"]) -> None: ...

    @typing_extensions.final
    class RspPhoneLogin(Message):
        DESCRIPTOR: Descriptor

        USERPROFILE_FIELD_NUMBER: int
        userProfile: str
        def __init__(
            self,
            *,
            userProfile: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["userProfile", b"userProfile"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["userProfile", b"userProfile"]) -> None: ...

    @typing_extensions.final
    class RspPhoneSmsAuxVerifyLogin(Message):
        DESCRIPTOR: Descriptor

        BINDLOGINUININFO_FIELD_NUMBER: int
        AUXVERIFYURL_FIELD_NUMBER: int
        @property
        def bindLoginUinInfo(self) -> ThirdPartLogin.UinInfo: ...
        auxVerifyUrl: str
        def __init__(
            self,
            *,
            bindLoginUinInfo: ThirdPartLogin.UinInfo | None = ...,
            auxVerifyUrl: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["auxVerifyUrl", b"auxVerifyUrl", "bindLoginUinInfo", b"bindLoginUinInfo"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["auxVerifyUrl", b"auxVerifyUrl", "bindLoginUinInfo", b"bindLoginUinInfo"]) -> None: ...

    @typing_extensions.final
    class RspPhoneSmsExtendLogin(Message):
        DESCRIPTOR: Descriptor

        BINDUININFO_FIELD_NUMBER: int
        PHONEBINDRESULT_FIELD_NUMBER: int
        PHONEBINDMSGTITLE_FIELD_NUMBER: int
        PHONEBINDMSGCONTENT_FIELD_NUMBER: int
        UNBINDWORDING_FIELD_NUMBER: int
        @property
        def bindUinInfo(self) -> RepeatedCompositeFieldContainer[ThirdPartLogin.UinInfo]: ...
        phoneBindResult: int
        phoneBindMsgTitle: str
        phoneBindMsgContent: str
        unbindWording: str
        def __init__(
            self,
            *,
            bindUinInfo: Iterable[ThirdPartLogin.UinInfo] | None = ...,
            phoneBindResult: int | None = ...,
            phoneBindMsgTitle: str | None = ...,
            phoneBindMsgContent: str | None = ...,
            unbindWording: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["phoneBindMsgContent", b"phoneBindMsgContent", "phoneBindMsgTitle", b"phoneBindMsgTitle", "phoneBindResult", b"phoneBindResult", "unbindWording", b"unbindWording"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["bindUinInfo", b"bindUinInfo", "phoneBindMsgContent", b"phoneBindMsgContent", "phoneBindMsgTitle", b"phoneBindMsgTitle", "phoneBindResult", b"phoneBindResult", "unbindWording", b"unbindWording"]) -> None: ...

    @typing_extensions.final
    class RspTimWeChat(Message):
        DESCRIPTOR: Descriptor

        WECHATREGISTERTOKEN_FIELD_NUMBER: int
        wechatRegisterToken: str
        def __init__(
            self,
            *,
            wechatRegisterToken: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["wechatRegisterToken", b"wechatRegisterToken"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["wechatRegisterToken", b"wechatRegisterToken"]) -> None: ...

    @typing_extensions.final
    class RspTipsInfo(Message):
        DESCRIPTOR: Descriptor

        SCENEID_FIELD_NUMBER: int
        REVIEWPROTECTURL_FIELD_NUMBER: int
        GUIDTOMAINLOGINFLAG_FIELD_NUMBER: int
        GUIDTOMAINLOGINWORDING_FIELD_NUMBER: int
        LEFTBUTTON_FIELD_NUMBER: int
        RIGHTBUTTON_FIELD_NUMBER: int
        TITLE_FIELD_NUMBER: int
        CONTENT_FIELD_NUMBER: int
        sceneId: int
        reviewProtectUrl: str
        guidToMainLoginFlag: int
        guidToMainLoginWording: str
        @property
        def leftButton(self) -> ThirdPartLogin.Button: ...
        @property
        def rightButton(self) -> ThirdPartLogin.Button: ...
        title: str
        content: str
        def __init__(
            self,
            *,
            sceneId: int | None = ...,
            reviewProtectUrl: str | None = ...,
            guidToMainLoginFlag: int | None = ...,
            guidToMainLoginWording: str | None = ...,
            leftButton: ThirdPartLogin.Button | None = ...,
            rightButton: ThirdPartLogin.Button | None = ...,
            title: str | None = ...,
            content: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["content", b"content", "guidToMainLoginFlag", b"guidToMainLoginFlag", "guidToMainLoginWording", b"guidToMainLoginWording", "leftButton", b"leftButton", "reviewProtectUrl", b"reviewProtectUrl", "rightButton", b"rightButton", "sceneId", b"sceneId", "title", b"title"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["content", b"content", "guidToMainLoginFlag", b"guidToMainLoginFlag", "guidToMainLoginWording", b"guidToMainLoginWording", "leftButton", b"leftButton", "reviewProtectUrl", b"reviewProtectUrl", "rightButton", b"rightButton", "sceneId", b"sceneId", "title", b"title"]) -> None: ...

    @typing_extensions.final
    class RspWechat(Message):
        DESCRIPTOR: Descriptor

        PROFILE_FIELD_NUMBER: int
        profile: str
        def __init__(
            self,
            *,
            profile: str | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["profile", b"profile"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["profile", b"profile"]) -> None: ...

    @typing_extensions.final
    class SelfPhoneToken(Message):
        DESCRIPTOR: Descriptor

        TOKEN_FIELD_NUMBER: int
        CHANNELID_FIELD_NUMBER: int
        token: str
        channelId: int
        def __init__(
            self,
            *,
            token: str | None = ...,
            channelId: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["channelId", b"channelId", "token", b"token"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["channelId", b"channelId", "token", b"token"]) -> None: ...

    @typing_extensions.final
    class SelfPhoneUrl(Message):
        DESCRIPTOR: Descriptor

        UPLOADURL_FIELD_NUMBER: int
        CHANNELID_FIELD_NUMBER: int
        uploadUrl: str
        channelId: int
        def __init__(
            self,
            *,
            uploadUrl: str | None = ...,
            channelId: int | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["channelId", b"channelId", "uploadUrl", b"uploadUrl"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["channelId", b"channelId", "uploadUrl", b"uploadUrl"]) -> None: ...

    @typing_extensions.final
    class UinInfo(Message):
        DESCRIPTOR: Descriptor

        MASKUIN_FIELD_NUMBER: int
        NICK_FIELD_NUMBER: int
        IMAGEURL_FIELD_NUMBER: int
        ENCRYPTUIN_FIELD_NUMBER: int
        KEYUIN_FIELD_NUMBER: int
        A1SIG_FIELD_NUMBER: int
        maskUin: str
        nick: str
        imageUrl: str
        encryptUin: bytes
        keyUin: str
        a1Sig: bytes
        def __init__(
            self,
            *,
            maskUin: str | None = ...,
            nick: str | None = ...,
            imageUrl: str | None = ...,
            encryptUin: bytes | None = ...,
            keyUin: str | None = ...,
            a1Sig: bytes | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["a1Sig", b"a1Sig", "encryptUin", b"encryptUin", "imageUrl", b"imageUrl", "keyUin", b"keyUin", "maskUin", b"maskUin", "nick", b"nick"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["a1Sig", b"a1Sig", "encryptUin", b"encryptUin", "imageUrl", b"imageUrl", "keyUin", b"keyUin", "maskUin", b"maskUin", "nick", b"nick"]) -> None: ...

    def __init__(
        self,
    ) -> None: ...
