"""
@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 qwak.administration.v0.users.user_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

global___UsernamePasswordMethod = UsernamePasswordMethod

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

    QWAK_API_KEY_FIELD_NUMBER: builtins.int
    qwak_api_key: builtins.str
    """API key"""
    def __init__(
        self,
        *,
        qwak_api_key: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["qwak_api_key", b"qwak_api_key"]) -> None: ...

global___QwakApiKeyMethod = QwakApiKeyMethod

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

    USER_FIELD_NUMBER: builtins.int
    @property
    def user(self) -> global___AuthenticatedUnifiedUserContext:
        """Backward compatible after unifying all kinds of user to one."""
    def __init__(
        self,
        *,
        user: global___AuthenticatedUnifiedUserContext | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["user", b"user"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["user", b"user"]) -> None: ...

global___AuthenticatedUserContext = AuthenticatedUserContext

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

    USER_ID_FIELD_NUMBER: builtins.int
    ACCOUNT_DETAILS_FIELD_NUMBER: builtins.int
    ACCOUNT_ROLE_FIELD_NUMBER: builtins.int
    ENVIRONMENT_DETAILS_FIELD_NUMBER: builtins.int
    user_id: builtins.str
    """User id"""
    @property
    def account_details(self) -> global___UserContextAccountDetails:
        """The account the user authenticate with"""
    account_role: qwak.administration.v0.users.user_pb2.QwakAccountRole.ValueType
    """Account role"""
    @property
    def environment_details(self) -> global___EnvironmentDetails:
        """User current environment details"""
    def __init__(
        self,
        *,
        user_id: builtins.str = ...,
        account_details: global___UserContextAccountDetails | None = ...,
        account_role: qwak.administration.v0.users.user_pb2.QwakAccountRole.ValueType = ...,
        environment_details: global___EnvironmentDetails | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["account_details", b"account_details", "environment_details", b"environment_details"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["account_details", b"account_details", "account_role", b"account_role", "environment_details", b"environment_details", "user_id", b"user_id"]) -> None: ...

global___AuthenticatedUnifiedUserContext = AuthenticatedUnifiedUserContext

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

    class EnvironmentByIdEntry(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: ...

    class UserContextEnvironmentByIdEntry(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___UserContextEnvironmentDetails: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___UserContextEnvironmentDetails | 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: ...

    ID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DEFAULT_ENVIRONMENT_ID_FIELD_NUMBER: builtins.int
    PREFERENCES_FIELD_NUMBER: builtins.int
    ENVIRONMENT_BY_ID_FIELD_NUMBER: builtins.int
    USER_CONTEXT_ENVIRONMENT_BY_ID_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    TIER_FIELD_NUMBER: builtins.int
    ACCEPTED_TERMS_FIELD_NUMBER: builtins.int
    id: builtins.str
    """Account id"""
    name: builtins.str
    """Account name"""
    default_environment_id: builtins.str
    """The default environment id configured for the user in the account"""
    @property
    def preferences(self) -> qwak.administration.account.v1.preferences_pb2.AccountPreferences:
        """Account preferences"""
    @property
    def environment_by_id(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___EnvironmentDetails]:
        """Map of environment by environment id"""
    @property
    def user_context_environment_by_id(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___UserContextEnvironmentDetails]:
        """Map of user context environment by the environment 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 accepted_terms(self) -> qwak.administration.account.v1.terms_pb2.AccountAcceptedTerms:
        """The accepted terms of the account"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        default_environment_id: builtins.str = ...,
        preferences: qwak.administration.account.v1.preferences_pb2.AccountPreferences | None = ...,
        environment_by_id: collections.abc.Mapping[builtins.str, global___EnvironmentDetails] | None = ...,
        user_context_environment_by_id: collections.abc.Mapping[builtins.str, global___UserContextEnvironmentDetails] | None = ...,
        type: qwak.administration.account.v1.account_pb2.AccountType.ValueType = ...,
        tier: qwak.administration.account.v1.account_pb2.AccountTier.ValueType = ...,
        accepted_terms: qwak.administration.account.v1.terms_pb2.AccountAcceptedTerms | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["accepted_terms", b"accepted_terms", "preferences", b"preferences"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["accepted_terms", b"accepted_terms", "default_environment_id", b"default_environment_id", "environment_by_id", b"environment_by_id", "id", b"id", "name", b"name", "preferences", b"preferences", "tier", b"tier", "type", b"type", "user_context_environment_by_id", b"user_context_environment_by_id"]) -> None: ...

global___UserContextAccountDetails = UserContextAccountDetails

class UserContextEnvironmentDetails(google.protobuf.message.Message):
    """roles / permissions"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___UserContextEnvironmentDetails = UserContextEnvironmentDetails

class AccountDetails(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: ...

    ID_FIELD_NUMBER: builtins.int
    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
    ACCEPTED_TERMS_FIELD_NUMBER: builtins.int
    JFROG_TENANT_DETAILS_FIELD_NUMBER: builtins.int
    id: builtins.str
    """Account id"""
    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 accepted_terms(self) -> qwak.administration.account.v1.terms_pb2.AccountAcceptedTerms:
        """The accepted terms of the account"""
    @property
    def jfrog_tenant_details(self) -> qwak.administration.account.v1.jfrog_tenant_details_pb2.JfrogTenantDetails:
        """The JFrog tenant details"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        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 = ...,
        accepted_terms: qwak.administration.account.v1.terms_pb2.AccountAcceptedTerms | None = ...,
        jfrog_tenant_details: qwak.administration.account.v1.jfrog_tenant_details_pb2.JfrogTenantDetails | 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", "default_environment_id", b"default_environment_id", "environments_by_id", b"environments_by_id", "id", b"id", "jfrog_tenant_details", b"jfrog_tenant_details", "name", b"name", "preferences", b"preferences", "tier", b"tier", "type", b"type"]) -> None: ...

global___AccountDetails = AccountDetails

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
    id: builtins.str
    """Environment id"""
    name: builtins.str
    """Environment name"""
    @property
    def configuration(self) -> qwak.administration.v0.environments.configuration_pb2.QwakEnvironmentConfiguration:
        """Environment configuration"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        name: builtins.str = ...,
        configuration: qwak.administration.v0.environments.configuration_pb2.QwakEnvironmentConfiguration | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["configuration", b"configuration"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["configuration", b"configuration", "id", b"id", "name", b"name"]) -> None: ...

global___EnvironmentDetails = EnvironmentDetails

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

    class AccountsByIdEntry(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___UserContextAccountDetails: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___UserContextAccountDetails | 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: ...

    DEFAULT_ACCOUNT_ID_FIELD_NUMBER: builtins.int
    ACCOUNTS_BY_ID_FIELD_NUMBER: builtins.int
    default_account_id: builtins.str
    """The default account id configured for the user"""
    @property
    def accounts_by_id(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___UserContextAccountDetails]:
        """Map of account defined by the id"""
    def __init__(
        self,
        *,
        default_account_id: builtins.str = ...,
        accounts_by_id: collections.abc.Mapping[builtins.str, global___UserContextAccountDetails] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["accounts_by_id", b"accounts_by_id", "default_account_id", b"default_account_id"]) -> None: ...

global___UserAccountList = UserAccountList
