"""
@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.message
import qwak.administration.account.v1.account_pb2
import qwak.administration.account.v1.jfrog_tenant_details_pb2
import qwak.administration.account.v1.preferences_pb2
import qwak.administration.account.v1.terms_pb2
import qwak.administration.v0.environments.configuration_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class AccountStatus(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACCOUNT_CREATION_IN_PROGRESS_FIELD_NUMBER: builtins.int
    ACCOUNT_READY_FIELD_NUMBER: builtins.int
    ACCOUNT_DOESNT_EXIST_FIELD_NUMBER: builtins.int
    @property
    def account_creation_in_progress(self) -> global___AccountCreationInProgress: ...
    @property
    def account_ready(self) -> global___AccountReady: ...
    @property
    def account_doesnt_exist(self) -> global___AccountDoesntExist: ...
    def __init__(
        self,
        *,
        account_creation_in_progress: global___AccountCreationInProgress | None = ...,
        account_ready: global___AccountReady | None = ...,
        account_doesnt_exist: global___AccountDoesntExist | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["account_creation_in_progress", b"account_creation_in_progress", "account_doesnt_exist", b"account_doesnt_exist", "account_ready", b"account_ready", "status", b"status"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_creation_in_progress", b"account_creation_in_progress", "account_doesnt_exist", b"account_doesnt_exist", "account_ready", b"account_ready", "status", b"status"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["status", b"status"]) -> typing_extensions.Literal["account_creation_in_progress", "account_ready", "account_doesnt_exist"] | None: ...

global___AccountStatus = AccountStatus

class AccountCreationInProgress(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___AccountCreationInProgress = AccountCreationInProgress

class AccountReady(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class EnvironmentsByIdEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor

        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: builtins.str
        @property
        def value(self) -> global___EnvironmentDetails: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___EnvironmentDetails | None = ...,
        ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...

    ACCOUNT_ID_FIELD_NUMBER: builtins.int
    ACCOUNT_NAME_FIELD_NUMBER: builtins.int
    PREFERENCES_FIELD_NUMBER: builtins.int
    DEFAULT_ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    ENVIRONMENTS_BY_ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    TIER_FIELD_NUMBER: builtins.int
    JFROG_TENANT_DETAILS_FIELD_NUMBER: builtins.int
    ACCEPTED_TERMS_FIELD_NUMBER: builtins.int
    account_id: builtins.str
    """The account id"""
    account_name: builtins.str
    """Account name"""
    @property
    def preferences(self) -> qwak.administration.account.v1.preferences_pb2.AccountPreferences:
        """Account preferences"""
    default_environment_id: builtins.str
    """default environment id"""
    @property
    def environments_by_id(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___EnvironmentDetails]:
        """Map of environments by the id"""
    type: qwak.administration.account.v1.account_pb2.AccountType.ValueType
    """The type of the account"""
    tier: qwak.administration.account.v1.account_pb2.AccountTier.ValueType
    """The tier of the account"""
    @property
    def jfrog_tenant_details(self) -> qwak.administration.account.v1.jfrog_tenant_details_pb2.JfrogTenantDetails:
        """The JFrog tenant details"""
    @property
    def accepted_terms(self) -> qwak.administration.account.v1.terms_pb2.AccountAcceptedTerms:
        """The accepted terms of the account"""
    def __init__(
        self,
        *,
        account_id: builtins.str = ...,
        account_name: builtins.str = ...,
        preferences: qwak.administration.account.v1.preferences_pb2.AccountPreferences | None = ...,
        default_environment_id: builtins.str = ...,
        environments_by_id: collections.abc.Mapping[builtins.str, global___EnvironmentDetails] | None = ...,
        type: qwak.administration.account.v1.account_pb2.AccountType.ValueType = ...,
        tier: qwak.administration.account.v1.account_pb2.AccountTier.ValueType = ...,
        jfrog_tenant_details: qwak.administration.account.v1.jfrog_tenant_details_pb2.JfrogTenantDetails | None = ...,
        accepted_terms: qwak.administration.account.v1.terms_pb2.AccountAcceptedTerms | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["accepted_terms", b"accepted_terms", "jfrog_tenant_details", b"jfrog_tenant_details", "preferences", b"preferences"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["accepted_terms", b"accepted_terms", "account_id", b"account_id", "account_name", b"account_name", "default_environment_id", b"default_environment_id", "environments_by_id", b"environments_by_id", "jfrog_tenant_details", b"jfrog_tenant_details", "preferences", b"preferences", "tier", b"tier", "type", b"type"]) -> None: ...

global___AccountReady = AccountReady

class AccountDoesntExist(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    IS_ENTITLED_TO_JFROG_ML_FIELD_NUMBER: builtins.int
    HAS_CREATE_ACCOUNT_PERMISSION_FIELD_NUMBER: builtins.int
    is_entitled_to_jfrog_ml: builtins.bool
    """Defines if the tenant is entitled to JFrog ML"""
    has_create_account_permission: builtins.bool
    """Defines if the user has create account permission"""
    def __init__(
        self,
        *,
        is_entitled_to_jfrog_ml: builtins.bool = ...,
        has_create_account_permission: builtins.bool = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["has_create_account_permission", b"has_create_account_permission", "is_entitled_to_jfrog_ml", b"is_entitled_to_jfrog_ml"]) -> None: ...

global___AccountDoesntExist = AccountDoesntExist

class EnvironmentDetails(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    CONFIGURATION_FIELD_NUMBER: builtins.int
    CLUSTER_ID_FIELD_NUMBER: builtins.int
    id: builtins.str
    """Environment id"""
    name: builtins.str
    """Environment name"""
    @property
    def configuration(self) -> qwak.administration.v0.environments.configuration_pb2.QwakEnvironmentConfiguration:
        """Environment configuration"""
    cluster_id: builtins.str
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        configuration: qwak.administration.v0.environments.configuration_pb2.QwakEnvironmentConfiguration | None = ...,
        cluster_id: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["configuration", b"configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["cluster_id", b"cluster_id", "configuration", b"configuration", "id", b"id", "name", b"name"]) -> None: ...

global___EnvironmentDetails = EnvironmentDetails
