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

import builtins
import google.protobuf.descriptor
import google.protobuf.message
import sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

Global___RegisterRequest: typing_extensions.TypeAlias = RegisterRequest

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

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

Global___RegisterResponse: typing_extensions.TypeAlias = RegisterResponse

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

    EMAIL_FIELD_NUMBER: builtins.int
    PASSWORD_FIELD_NUMBER: builtins.int
    email: builtins.str
    password: builtins.str
    def __init__(
        self,
        *,
        email: builtins.str = ...,
        password: builtins.str = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["email", b"email", "password", b"password"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___LoginRequest: typing_extensions.TypeAlias = LoginRequest

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

    ACCESS_TOKEN_FIELD_NUMBER: builtins.int
    REFRESH_TOKEN_FIELD_NUMBER: builtins.int
    access_token: builtins.str
    refresh_token: builtins.str
    def __init__(
        self,
        *,
        access_token: builtins.str = ...,
        refresh_token: builtins.str = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["access_token", b"access_token", "refresh_token", b"refresh_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___LoginResponse: typing_extensions.TypeAlias = LoginResponse

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

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

Global___RefreshTokensRequest: typing_extensions.TypeAlias = RefreshTokensRequest

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

    ACCESS_TOKEN_FIELD_NUMBER: builtins.int
    REFRESH_TOKEN_FIELD_NUMBER: builtins.int
    access_token: builtins.str
    refresh_token: builtins.str
    def __init__(
        self,
        *,
        access_token: builtins.str = ...,
        refresh_token: builtins.str = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["access_token", b"access_token", "refresh_token", b"refresh_token"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___RefreshTokensResponse: typing_extensions.TypeAlias = RefreshTokensResponse

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

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

Global___LogoutRequest: typing_extensions.TypeAlias = LogoutRequest

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

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

Global___LogoutResponse: typing_extensions.TypeAlias = LogoutResponse

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

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

Global___GetMeRequest: typing_extensions.TypeAlias = GetMeRequest

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

    USER_ID_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    IS_VERIFIED_FIELD_NUMBER: builtins.int
    user_id: builtins.str
    username: builtins.str
    email: builtins.str
    is_verified: builtins.bool
    def __init__(
        self,
        *,
        user_id: builtins.str = ...,
        username: builtins.str = ...,
        email: builtins.str = ...,
        is_verified: builtins.bool = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["email", b"email", "is_verified", b"is_verified", "user_id", b"user_id", "username", b"username"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetMeResponse: typing_extensions.TypeAlias = GetMeResponse

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

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

Global___GetUserByEmailRequest: typing_extensions.TypeAlias = GetUserByEmailRequest

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

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

Global___GetUserByEmailResponse: typing_extensions.TypeAlias = GetUserByEmailResponse

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

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

Global___ValidateTokenRequest: typing_extensions.TypeAlias = ValidateTokenRequest

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

    VALID_FIELD_NUMBER: builtins.int
    USER_ID_FIELD_NUMBER: builtins.int
    EMAIL_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    valid: builtins.bool
    user_id: builtins.str
    email: builtins.str
    username: builtins.str
    def __init__(
        self,
        *,
        valid: builtins.bool = ...,
        user_id: builtins.str = ...,
        email: builtins.str = ...,
        username: builtins.str = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["email", b"email", "user_id", b"user_id", "username", b"username", "valid", b"valid"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___ValidateTokenResponse: typing_extensions.TypeAlias = ValidateTokenResponse

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

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

Global___SendOtpRequest: typing_extensions.TypeAlias = SendOtpRequest

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

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

Global___SendOtpResponse: typing_extensions.TypeAlias = SendOtpResponse

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

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

Global___VerifyOtpRequest: typing_extensions.TypeAlias = VerifyOtpRequest

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

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

Global___VerifyOtpResponse: typing_extensions.TypeAlias = VerifyOtpResponse
