"""
@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 google.protobuf.timestamp_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

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

global___AuthToken = AuthToken

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

    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    EXPIRES_TIMESTAMP_FIELD_NUMBER: builtins.int
    CREATION_TIMESTAMP_FIELD_NUMBER: builtins.int
    name: builtins.str
    description: builtins.str
    @property
    def expires_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    @property
    def creation_timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        description: builtins.str = ...,
        expires_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        creation_timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["creation_timestamp", b"creation_timestamp", "expires_timestamp", b"expires_timestamp"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["creation_timestamp", b"creation_timestamp", "description", b"description", "expires_timestamp", b"expires_timestamp", "name", b"name"]) -> None: ...

global___ApiTokenInfo = ApiTokenInfo

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

    AUTH_TOKEN_FIELD_NUMBER: builtins.int
    API_TOKEN_FIELD_NUMBER: builtins.int
    ADDR_FIELD_NUMBER: builtins.int
    @property
    def auth_token(self) -> global___AuthToken: ...
    api_token: builtins.str
    addr: builtins.str
    def __init__(
        self,
        *,
        auth_token: global___AuthToken | None = ...,
        api_token: builtins.str = ...,
        addr: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auth_token", b"auth_token"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["addr", b"addr", "api_token", b"api_token", "auth_token", b"auth_token"]) -> None: ...

global___AuthContext = AuthContext

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

    class ContextsEntry(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___AuthContext: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___AuthContext | 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 AdminContextsEntry(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___AuthContext: ...
        def __init__(
            self,
            *,
            key: builtins.str = ...,
            value: global___AuthContext | 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: ...

    CONTEXTS_FIELD_NUMBER: builtins.int
    CURRENT_CONTEXT_FIELD_NUMBER: builtins.int
    ADMIN_CONTEXTS_FIELD_NUMBER: builtins.int
    CURRENT_ADMIN_CONTEXT_FIELD_NUMBER: builtins.int
    @property
    def contexts(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___AuthContext]: ...
    current_context: builtins.str
    @property
    def admin_contexts(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___AuthContext]: ...
    current_admin_context: builtins.str
    def __init__(
        self,
        *,
        contexts: collections.abc.Mapping[builtins.str, global___AuthContext] | None = ...,
        current_context: builtins.str = ...,
        admin_contexts: collections.abc.Mapping[builtins.str, global___AuthContext] | None = ...,
        current_admin_context: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["admin_contexts", b"admin_contexts", "contexts", b"contexts", "current_admin_context", b"current_admin_context", "current_context", b"current_context"]) -> None: ...

global___Session = Session
