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

import api_pb2
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import google.protobuf.wrappers_pb2
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class _ContributeOption:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _ContributeOptionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ContributeOption.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    CONTRIBUTE_OPTION_UNSPECIFIED: _ContributeOption.ValueType  # 0
    CONTRIBUTE_OPTION_YES: _ContributeOption.ValueType  # 1
    CONTRIBUTE_OPTION_MAYBE: _ContributeOption.ValueType  # 2
    CONTRIBUTE_OPTION_NO: _ContributeOption.ValueType  # 3

class ContributeOption(_ContributeOption, metaclass=_ContributeOptionEnumTypeWrapper): ...

CONTRIBUTE_OPTION_UNSPECIFIED: ContributeOption.ValueType  # 0
CONTRIBUTE_OPTION_YES: ContributeOption.ValueType  # 1
CONTRIBUTE_OPTION_MAYBE: ContributeOption.ValueType  # 2
CONTRIBUTE_OPTION_NO: ContributeOption.ValueType  # 3
Global___ContributeOption: typing_extensions.TypeAlias = ContributeOption

@typing.final
class SignupFlowReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FLOW_TOKEN_FIELD_NUMBER: builtins.int
    BASIC_FIELD_NUMBER: builtins.int
    ACCOUNT_FIELD_NUMBER: builtins.int
    FEEDBACK_FIELD_NUMBER: builtins.int
    MOTIVATIONS_FIELD_NUMBER: builtins.int
    EMAIL_TOKEN_FIELD_NUMBER: builtins.int
    ACCEPT_COMMUNITY_GUIDELINES_FIELD_NUMBER: builtins.int
    RESEND_VERIFICATION_EMAIL_FIELD_NUMBER: builtins.int
    flow_token: builtins.str
    """a token used to link the user's information across the signup flow
    required if basic is empty, otherwise the backend generates a new signup
    """
    email_token: builtins.str
    """email token is reused for both verifying a signup's email, but also for continuing a signup"""
    resend_verification_email: builtins.bool
    @property
    def basic(self) -> Global___SignupBasic: ...
    @property
    def account(self) -> Global___SignupAccount: ...
    @property
    def feedback(self) -> Global___ContributorForm: ...
    @property
    def motivations(self) -> Global___SignupMotivations: ...
    @property
    def accept_community_guidelines(self) -> google.protobuf.wrappers_pb2.BoolValue: ...
    def __init__(
        self,
        *,
        flow_token: builtins.str | None = ...,
        basic: Global___SignupBasic | None = ...,
        account: Global___SignupAccount | None = ...,
        feedback: Global___ContributorForm | None = ...,
        motivations: Global___SignupMotivations | None = ...,
        email_token: builtins.str | None = ...,
        accept_community_guidelines: google.protobuf.wrappers_pb2.BoolValue | None = ...,
        resend_verification_email: builtins.bool | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["accept_community_guidelines", b"accept_community_guidelines", "account", b"account", "basic", b"basic", "feedback", b"feedback", "motivations", b"motivations"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["accept_community_guidelines", b"accept_community_guidelines", "account", b"account", "basic", b"basic", "email_token", b"email_token", "feedback", b"feedback", "flow_token", b"flow_token", "motivations", b"motivations", "resend_verification_email", b"resend_verification_email"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SignupFlowReq: typing_extensions.TypeAlias = SignupFlowReq

@typing.final
class SignupFlowRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FLOW_TOKEN_FIELD_NUMBER: builtins.int
    AUTH_RES_FIELD_NUMBER: builtins.int
    NEED_BASIC_FIELD_NUMBER: builtins.int
    NEED_ACCOUNT_FIELD_NUMBER: builtins.int
    NEED_FEEDBACK_FIELD_NUMBER: builtins.int
    NEED_MOTIVATIONS_FIELD_NUMBER: builtins.int
    NEED_VERIFY_EMAIL_FIELD_NUMBER: builtins.int
    NEED_ACCEPT_COMMUNITY_GUIDELINES_FIELD_NUMBER: builtins.int
    flow_token: builtins.str
    """a token used to link the user's information across the signup flow"""
    need_basic: builtins.bool
    """which parts are missing?"""
    need_account: builtins.bool
    need_feedback: builtins.bool
    need_motivations: builtins.bool
    need_verify_email: builtins.bool
    """user needs to verify their email"""
    need_accept_community_guidelines: builtins.bool
    @property
    def auth_res(self) -> Global___AuthRes:
        """auth_res is included if and only if signup is successful"""

    def __init__(
        self,
        *,
        flow_token: builtins.str | None = ...,
        auth_res: Global___AuthRes | None = ...,
        need_basic: builtins.bool | None = ...,
        need_account: builtins.bool | None = ...,
        need_feedback: builtins.bool | None = ...,
        need_motivations: builtins.bool | None = ...,
        need_verify_email: builtins.bool | None = ...,
        need_accept_community_guidelines: builtins.bool | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["auth_res", b"auth_res"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["auth_res", b"auth_res", "flow_token", b"flow_token", "need_accept_community_guidelines", b"need_accept_community_guidelines", "need_account", b"need_account", "need_basic", b"need_basic", "need_feedback", b"need_feedback", "need_motivations", b"need_motivations", "need_verify_email", b"need_verify_email"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SignupFlowRes: typing_extensions.TypeAlias = SignupFlowRes

@typing.final
class SignupBasic(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    INVITE_CODE_FIELD_NUMBER: builtins.int
    name: builtins.str
    email: builtins.str
    invite_code: builtins.str
    """TODO: UTM parameters, attribution"""
    def __init__(
        self,
        *,
        name: builtins.str | None = ...,
        email: builtins.str | None = ...,
        invite_code: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["email", b"email", "invite_code", b"invite_code", "name", b"name"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SignupBasic: typing_extensions.TypeAlias = SignupBasic

@typing.final
class SignupTokenInfoReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SIGNUP_TOKEN_FIELD_NUMBER: builtins.int
    signup_token: builtins.str
    def __init__(
        self,
        *,
        signup_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["signup_token", b"signup_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SignupTokenInfoReq: typing_extensions.TypeAlias = SignupTokenInfoReq

@typing.final
class SignupAccount(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USERNAME_FIELD_NUMBER: builtins.int
    PASSWORD_FIELD_NUMBER: builtins.int
    CITY_FIELD_NUMBER: builtins.int
    LAT_FIELD_NUMBER: builtins.int
    LNG_FIELD_NUMBER: builtins.int
    RADIUS_FIELD_NUMBER: builtins.int
    BIRTHDATE_FIELD_NUMBER: builtins.int
    GENDER_FIELD_NUMBER: builtins.int
    HOSTING_STATUS_FIELD_NUMBER: builtins.int
    ACCEPT_TOS_FIELD_NUMBER: builtins.int
    OPT_OUT_OF_NEWSLETTER_FIELD_NUMBER: builtins.int
    username: builtins.str
    """Should be lowercase ascii, matching regex [a-z][0-9a-z_]*[a-z0-9]"""
    password: builtins.str
    city: builtins.str
    lat: builtins.float
    lng: builtins.float
    radius: builtins.float
    """meters"""
    birthdate: builtins.str
    """in YYYY-MM-DD format"""
    gender: builtins.str
    hosting_status: api_pb2.HostingStatus.ValueType
    accept_tos: builtins.bool
    opt_out_of_newsletter: builtins.bool
    def __init__(
        self,
        *,
        username: builtins.str | None = ...,
        password: builtins.str | None = ...,
        city: builtins.str | None = ...,
        lat: builtins.float | None = ...,
        lng: builtins.float | None = ...,
        radius: builtins.float | None = ...,
        birthdate: builtins.str | None = ...,
        gender: builtins.str | None = ...,
        hosting_status: api_pb2.HostingStatus.ValueType | None = ...,
        accept_tos: builtins.bool | None = ...,
        opt_out_of_newsletter: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["accept_tos", b"accept_tos", "birthdate", b"birthdate", "city", b"city", "gender", b"gender", "hosting_status", b"hosting_status", "lat", b"lat", "lng", b"lng", "opt_out_of_newsletter", b"opt_out_of_newsletter", "password", b"password", "radius", b"radius", "username", b"username"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SignupAccount: typing_extensions.TypeAlias = SignupAccount

@typing.final
class SignupMotivations(google.protobuf.message.Message):
    """Information about how the user heard about Couchers and what they want to do"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    HEARD_ABOUT_COUCHERS_FIELD_NUMBER: builtins.int
    MOTIVATIONS_FIELD_NUMBER: builtins.int
    heard_about_couchers: builtins.str
    """How they heard about Couchers (free text, e.g., "friend", "social_media", "former_cs_member", "other")"""
    @property
    def motivations(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
        """What they're looking to do - can select multiple (e.g., "surfing", "hosting", "events", "community_organizing", "something_else")"""

    def __init__(
        self,
        *,
        heard_about_couchers: builtins.str | None = ...,
        motivations: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["heard_about_couchers", b"heard_about_couchers", "motivations", b"motivations"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SignupMotivations: typing_extensions.TypeAlias = SignupMotivations

@typing.final
class UsernameValidReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USERNAME_FIELD_NUMBER: builtins.int
    username: builtins.str
    def __init__(
        self,
        *,
        username: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["username", b"username"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___UsernameValidReq: typing_extensions.TypeAlias = UsernameValidReq

@typing.final
class UsernameValidRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALID_FIELD_NUMBER: builtins.int
    valid: builtins.bool
    def __init__(
        self,
        *,
        valid: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["valid", b"valid"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___UsernameValidRes: typing_extensions.TypeAlias = UsernameValidRes

@typing.final
class AuthReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USER_FIELD_NUMBER: builtins.int
    PASSWORD_FIELD_NUMBER: builtins.int
    REMEMBER_DEVICE_FIELD_NUMBER: builtins.int
    user: builtins.str
    password: builtins.str
    remember_device: builtins.bool
    """whether to remember the browser or not
    if false, the session will time out after 7 days of inactivity (no API calls)
    if true, the session is valid from creation until expiry, with no need to be used in between
    """
    def __init__(
        self,
        *,
        user: builtins.str | None = ...,
        password: builtins.str | None = ...,
        remember_device: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["password", b"password", "remember_device", b"remember_device", "user", b"user"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AuthReq: typing_extensions.TypeAlias = AuthReq

@typing.final
class AuthRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USER_ID_FIELD_NUMBER: builtins.int
    JAILED_FIELD_NUMBER: builtins.int
    user_id: builtins.int
    """user_id of the user"""
    jailed: builtins.bool
    """whether the user has to complete some additional steps to continue to the
    platform
    """
    def __init__(
        self,
        *,
        user_id: builtins.int | None = ...,
        jailed: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["jailed", b"jailed", "user_id", b"user_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AuthRes: typing_extensions.TypeAlias = AuthRes

@typing.final
class GetAuthStateRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    LOGGED_IN_FIELD_NUMBER: builtins.int
    AUTH_RES_FIELD_NUMBER: builtins.int
    logged_in: builtins.bool
    @property
    def auth_res(self) -> Global___AuthRes:
        """only filled out if logged_in is true"""

    def __init__(
        self,
        *,
        logged_in: builtins.bool | None = ...,
        auth_res: Global___AuthRes | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["auth_res", b"auth_res"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["auth_res", b"auth_res", "logged_in", b"logged_in"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetAuthStateRes: typing_extensions.TypeAlias = GetAuthStateRes

@typing.final
class ResetPasswordReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    USER_FIELD_NUMBER: builtins.int
    user: builtins.str
    def __init__(
        self,
        *,
        user: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["user", b"user"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ResetPasswordReq: typing_extensions.TypeAlias = ResetPasswordReq

@typing.final
class CompletePasswordResetV2Req(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PASSWORD_RESET_TOKEN_FIELD_NUMBER: builtins.int
    NEW_PASSWORD_FIELD_NUMBER: builtins.int
    password_reset_token: builtins.str
    new_password: builtins.str
    """the frontend should ask for the password twice and whatnot"""
    def __init__(
        self,
        *,
        password_reset_token: builtins.str | None = ...,
        new_password: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["new_password", b"new_password", "password_reset_token", b"password_reset_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___CompletePasswordResetV2Req: typing_extensions.TypeAlias = CompletePasswordResetV2Req

@typing.final
class ConfirmChangeEmailV2Req(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CHANGE_EMAIL_TOKEN_FIELD_NUMBER: builtins.int
    change_email_token: builtins.str
    def __init__(
        self,
        *,
        change_email_token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["change_email_token", b"change_email_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ConfirmChangeEmailV2Req: typing_extensions.TypeAlias = ConfirmChangeEmailV2Req

@typing.final
class ContributorForm(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    IDEAS_FIELD_NUMBER: builtins.int
    FEATURES_FIELD_NUMBER: builtins.int
    EXPERIENCE_FIELD_NUMBER: builtins.int
    CONTRIBUTE_FIELD_NUMBER: builtins.int
    CONTRIBUTE_WAYS_FIELD_NUMBER: builtins.int
    EXPERTISE_FIELD_NUMBER: builtins.int
    ideas: builtins.str
    """all fields are optional"""
    features: builtins.str
    experience: builtins.str
    contribute: Global___ContributeOption.ValueType
    """if contribute is set to yes or maybe, then contribute, contribute_ways and expertise are required."""
    expertise: builtins.str
    @property
    def contribute_ways(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        ideas: builtins.str | None = ...,
        features: builtins.str | None = ...,
        experience: builtins.str | None = ...,
        contribute: Global___ContributeOption.ValueType | None = ...,
        contribute_ways: collections.abc.Iterable[builtins.str] | None = ...,
        expertise: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["contribute", b"contribute", "contribute_ways", b"contribute_ways", "experience", b"experience", "expertise", b"expertise", "features", b"features", "ideas", b"ideas"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ContributorForm: typing_extensions.TypeAlias = ContributorForm

@typing.final
class ConfirmDeleteAccountReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOKEN_FIELD_NUMBER: builtins.int
    token: builtins.str
    def __init__(
        self,
        *,
        token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["token", b"token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ConfirmDeleteAccountReq: typing_extensions.TypeAlias = ConfirmDeleteAccountReq

@typing.final
class RecoverAccountReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOKEN_FIELD_NUMBER: builtins.int
    token: builtins.str
    def __init__(
        self,
        *,
        token: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["token", b"token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___RecoverAccountReq: typing_extensions.TypeAlias = RecoverAccountReq

@typing.final
class UnsubscribeReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAYLOAD_FIELD_NUMBER: builtins.int
    SIG_FIELD_NUMBER: builtins.int
    payload: builtins.bytes
    """frontend should decode the base64 in urls and send raw bytes"""
    sig: builtins.bytes
    def __init__(
        self,
        *,
        payload: builtins.bytes | None = ...,
        sig: builtins.bytes | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["payload", b"payload", "sig", b"sig"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___UnsubscribeReq: typing_extensions.TypeAlias = UnsubscribeReq

@typing.final
class UnsubscribeRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    RESPONSE_FIELD_NUMBER: builtins.int
    response: builtins.str
    """returned only on success, otherwise errors out the RPC"""
    def __init__(
        self,
        *,
        response: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["response", b"response"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___UnsubscribeRes: typing_extensions.TypeAlias = UnsubscribeRes

@typing.final
class AntiBotReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    TOKEN_FIELD_NUMBER: builtins.int
    ACTION_FIELD_NUMBER: builtins.int
    token: builtins.str
    action: builtins.str
    def __init__(
        self,
        *,
        token: builtins.str | None = ...,
        action: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["action", b"action", "token", b"token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AntiBotReq: typing_extensions.TypeAlias = AntiBotReq

@typing.final
class AntiBotRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

Global___AntiBotRes: typing_extensions.TypeAlias = AntiBotRes

@typing.final
class AntiBotPolicyReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

Global___AntiBotPolicyReq: typing_extensions.TypeAlias = AntiBotPolicyReq

@typing.final
class AntiBotPolicyRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SHOULD_ANTIBOT_FIELD_NUMBER: builtins.int
    should_antibot: builtins.bool
    def __init__(
        self,
        *,
        should_antibot: builtins.bool | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["should_antibot", b"should_antibot"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___AntiBotPolicyRes: typing_extensions.TypeAlias = AntiBotPolicyRes

@typing.final
class GetInviteCodeInfoReq(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CODE_FIELD_NUMBER: builtins.int
    code: builtins.str
    def __init__(
        self,
        *,
        code: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["code", b"code"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetInviteCodeInfoReq: typing_extensions.TypeAlias = GetInviteCodeInfoReq

@typing.final
class GetInviteCodeInfoRes(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    AVATAR_URL_FIELD_NUMBER: builtins.int
    URL_FIELD_NUMBER: builtins.int
    name: builtins.str
    username: builtins.str
    avatar_url: builtins.str
    url: builtins.str
    def __init__(
        self,
        *,
        name: builtins.str | None = ...,
        username: builtins.str | None = ...,
        avatar_url: builtins.str | None = ...,
        url: builtins.str | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["avatar_url", b"avatar_url", "name", b"name", "url", b"url", "username", b"username"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetInviteCodeInfoRes: typing_extensions.TypeAlias = GetInviteCodeInfoRes
