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

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.timestamp_pb2
import protos.v1.models.AccountModels_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 _SystemRoles:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _SystemRolesEnumTypeWrapper(
    google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SystemRoles.ValueType],
    builtins.type,
):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    SystemRolesHostDevice: _SystemRoles.ValueType  # 0
    SystemRolesApp: _SystemRoles.ValueType  # 1
    SystemRolesOrc: _SystemRoles.ValueType  # 2
    SystemRolesUser: _SystemRoles.ValueType  # 3

class SystemRoles(_SystemRoles, metaclass=_SystemRolesEnumTypeWrapper): ...

SystemRolesHostDevice: SystemRoles.ValueType  # 0
SystemRolesApp: SystemRoles.ValueType  # 1
SystemRolesOrc: SystemRoles.ValueType  # 2
SystemRolesUser: SystemRoles.ValueType  # 3
Global___SystemRoles: typing_extensions.TypeAlias = SystemRoles

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

    SECRETKEY_FIELD_NUMBER: builtins.int
    OWNERID_FIELD_NUMBER: builtins.int
    OWNERNAME_FIELD_NUMBER: builtins.int
    OWNERROLE_FIELD_NUMBER: builtins.int
    ACCESSTOIDS_FIELD_NUMBER: builtins.int
    SecretKey: builtins.str
    OwnerId: builtins.str
    OwnerName: builtins.str
    OwnerRole: Global___SystemRoles.ValueType
    @property
    def AccessToIds(
        self,
    ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
        builtins.str
    ]: ...
    def __init__(
        self,
        *,
        SecretKey: builtins.str = ...,
        OwnerId: builtins.str = ...,
        OwnerName: builtins.str = ...,
        OwnerRole: Global___SystemRoles.ValueType = ...,
        AccessToIds: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "AccessToIds",
            b"AccessToIds",
            "OwnerId",
            b"OwnerId",
            "OwnerName",
            b"OwnerName",
            "OwnerRole",
            b"OwnerRole",
            "SecretKey",
            b"SecretKey",
        ],
    ) -> None: ...

Global___CreateClientKeyRequest: typing_extensions.TypeAlias = CreateClientKeyRequest

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

    CLIENTKEY_FIELD_NUMBER: builtins.int
    KEYEXPIRATION_FIELD_NUMBER: builtins.int
    OWNERID_FIELD_NUMBER: builtins.int
    ClientKey: builtins.str
    OwnerId: builtins.str
    @property
    def KeyExpiration(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        ClientKey: builtins.str = ...,
        KeyExpiration: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        OwnerId: builtins.str = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing.Literal["KeyExpiration", b"KeyExpiration"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "ClientKey",
            b"ClientKey",
            "KeyExpiration",
            b"KeyExpiration",
            "OwnerId",
            b"OwnerId",
        ],
    ) -> None: ...

Global___CreateClientKeyResponse: typing_extensions.TypeAlias = CreateClientKeyResponse

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

    SECRETKEY_FIELD_NUMBER: builtins.int
    CLIENTKEY_FIELD_NUMBER: builtins.int
    SecretKey: builtins.str
    ClientKey: builtins.str
    def __init__(
        self,
        *,
        SecretKey: builtins.str = ...,
        ClientKey: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "ClientKey", b"ClientKey", "SecretKey", b"SecretKey"
        ],
    ) -> None: ...

Global___ValidateClientKeyRequest: typing_extensions.TypeAlias = (
    ValidateClientKeyRequest
)

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

    ISVALID_FIELD_NUMBER: builtins.int
    KEYEXPIRATION_FIELD_NUMBER: builtins.int
    FAILUREREASON_FIELD_NUMBER: builtins.int
    USERID_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    USERROLE_FIELD_NUMBER: builtins.int
    USERACCOUNTID_FIELD_NUMBER: builtins.int
    IsValid: builtins.bool
    FailureReason: builtins.str
    UserId: builtins.str
    UserName: builtins.str
    UserRole: protos.v1.models.AccountModels_pb2.UserRoles.ValueType
    UserAccountId: builtins.str
    @property
    def KeyExpiration(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        IsValid: builtins.bool = ...,
        KeyExpiration: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        FailureReason: builtins.str = ...,
        UserId: builtins.str | None = ...,
        UserName: builtins.str | None = ...,
        UserRole: protos.v1.models.AccountModels_pb2.UserRoles.ValueType | None = ...,
        UserAccountId: builtins.str | None = ...,
    ) -> None: ...
    def HasField(
        self,
        field_name: typing.Literal[
            "KeyExpiration",
            b"KeyExpiration",
            "UserAccountId",
            b"UserAccountId",
            "UserId",
            b"UserId",
            "UserName",
            b"UserName",
            "UserRole",
            b"UserRole",
            "_UserAccountId",
            b"_UserAccountId",
            "_UserId",
            b"_UserId",
            "_UserName",
            b"_UserName",
            "_UserRole",
            b"_UserRole",
        ],
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "FailureReason",
            b"FailureReason",
            "IsValid",
            b"IsValid",
            "KeyExpiration",
            b"KeyExpiration",
            "UserAccountId",
            b"UserAccountId",
            "UserId",
            b"UserId",
            "UserName",
            b"UserName",
            "UserRole",
            b"UserRole",
            "_UserAccountId",
            b"_UserAccountId",
            "_UserId",
            b"_UserId",
            "_UserName",
            b"_UserName",
            "_UserRole",
            b"_UserRole",
        ],
    ) -> None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_UserAccountId", b"_UserAccountId"]
    ) -> typing.Literal["UserAccountId"] | None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_UserId", b"_UserId"]
    ) -> typing.Literal["UserId"] | None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_UserName", b"_UserName"]
    ) -> typing.Literal["UserName"] | None: ...
    @typing.overload
    def WhichOneof(
        self, oneof_group: typing.Literal["_UserRole", b"_UserRole"]
    ) -> typing.Literal["UserRole"] | None: ...

Global___ValidateClientKeyResponse: typing_extensions.TypeAlias = (
    ValidateClientKeyResponse
)

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

    EMAILORPHONE_FIELD_NUMBER: builtins.int
    EmailOrPhone: builtins.str
    def __init__(
        self,
        *,
        EmailOrPhone: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self, field_name: typing.Literal["EmailOrPhone", b"EmailOrPhone"]
    ) -> None: ...

Global___SendAuthCodeRequest: typing_extensions.TypeAlias = SendAuthCodeRequest

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

    SUCCESS_FIELD_NUMBER: builtins.int
    ERRORMESSAGE_FIELD_NUMBER: builtins.int
    Success: builtins.bool
    ErrorMessage: builtins.str
    def __init__(
        self,
        *,
        Success: builtins.bool = ...,
        ErrorMessage: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "ErrorMessage", b"ErrorMessage", "Success", b"Success"
        ],
    ) -> None: ...

Global___SendAuthCodeResponse: typing_extensions.TypeAlias = SendAuthCodeResponse

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

    SECRETKEY_FIELD_NUMBER: builtins.int
    EMAILORPHONE_FIELD_NUMBER: builtins.int
    AUTHCODE_FIELD_NUMBER: builtins.int
    APPID_FIELD_NUMBER: builtins.int
    SecretKey: builtins.str
    EmailOrPhone: builtins.str
    AuthCode: builtins.str
    AppId: builtins.str
    def __init__(
        self,
        *,
        SecretKey: builtins.str = ...,
        EmailOrPhone: builtins.str = ...,
        AuthCode: builtins.str = ...,
        AppId: builtins.str = ...,
    ) -> None: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "AppId",
            b"AppId",
            "AuthCode",
            b"AuthCode",
            "EmailOrPhone",
            b"EmailOrPhone",
            "SecretKey",
            b"SecretKey",
        ],
    ) -> None: ...

Global___ValidateAuthCodeRequest: typing_extensions.TypeAlias = ValidateAuthCodeRequest

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

    SUCCESS_FIELD_NUMBER: builtins.int
    ERRORMESSAGE_FIELD_NUMBER: builtins.int
    CLIENTKEY_FIELD_NUMBER: builtins.int
    KEYEXPIRATION_FIELD_NUMBER: builtins.int
    USERNAME_FIELD_NUMBER: builtins.int
    ACCOUNTNAME_FIELD_NUMBER: builtins.int
    ACCOUNTID_FIELD_NUMBER: builtins.int
    USERROLE_FIELD_NUMBER: builtins.int
    Success: builtins.bool
    ErrorMessage: builtins.str
    ClientKey: builtins.str
    UserName: builtins.str
    AccountName: builtins.str
    AccountId: builtins.str
    UserRole: protos.v1.models.AccountModels_pb2.UserRoles.ValueType
    @property
    def KeyExpiration(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        Success: builtins.bool = ...,
        ErrorMessage: builtins.str = ...,
        ClientKey: builtins.str = ...,
        KeyExpiration: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        UserName: builtins.str = ...,
        AccountName: builtins.str = ...,
        AccountId: builtins.str = ...,
        UserRole: protos.v1.models.AccountModels_pb2.UserRoles.ValueType = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing.Literal["KeyExpiration", b"KeyExpiration"]
    ) -> builtins.bool: ...
    def ClearField(
        self,
        field_name: typing.Literal[
            "AccountId",
            b"AccountId",
            "AccountName",
            b"AccountName",
            "ClientKey",
            b"ClientKey",
            "ErrorMessage",
            b"ErrorMessage",
            "KeyExpiration",
            b"KeyExpiration",
            "Success",
            b"Success",
            "UserName",
            b"UserName",
            "UserRole",
            b"UserRole",
        ],
    ) -> None: ...

Global___ValidateAuthCodeResponse: typing_extensions.TypeAlias = (
    ValidateAuthCodeResponse
)

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

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

Global___GetAuthenticatedUserRequest: typing_extensions.TypeAlias = (
    GetAuthenticatedUserRequest
)

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

    USER_FIELD_NUMBER: builtins.int
    @property
    def User(self) -> protos.v1.models.AccountModels_pb2.User: ...
    def __init__(
        self,
        *,
        User: protos.v1.models.AccountModels_pb2.User | None = ...,
    ) -> None: ...
    def HasField(
        self, field_name: typing.Literal["User", b"User"]
    ) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["User", b"User"]) -> None: ...

Global___GetAuthenticatedUserResponse: typing_extensions.TypeAlias = (
    GetAuthenticatedUserResponse
)
