"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.enum_type_wrapper
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

class _IdentityType:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _IdentityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_IdentityType.ValueType], builtins.type):  # noqa: F821
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    IDENTITY_TYPE_UNKNOWN: _IdentityType.ValueType  # 0
    """Unknown, value not set, requests will fail with identity type not set error."""
    IDENTITY_TYPE_NONE: _IdentityType.ValueType  # 1
    """None, no explicit identity context set, equals anonymous."""
    IDENTITY_TYPE_SUB: _IdentityType.ValueType  # 2
    """Sub(ject), identity field contains an oAUTH subject."""
    IDENTITY_TYPE_JWT: _IdentityType.ValueType  # 3
    """JWT, identity field contains a JWT access token."""

class IdentityType(_IdentityType, metaclass=_IdentityTypeEnumTypeWrapper):
    """Identity types, describes the payload type of the identity field inside the IdentityContext message."""

IDENTITY_TYPE_UNKNOWN: IdentityType.ValueType  # 0
"""Unknown, value not set, requests will fail with identity type not set error."""
IDENTITY_TYPE_NONE: IdentityType.ValueType  # 1
"""None, no explicit identity context set, equals anonymous."""
IDENTITY_TYPE_SUB: IdentityType.ValueType  # 2
"""Sub(ject), identity field contains an oAUTH subject."""
IDENTITY_TYPE_JWT: IdentityType.ValueType  # 3
"""JWT, identity field contains a JWT access token."""
global___IdentityType = IdentityType

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

    IDENTITY_FIELD_NUMBER: builtins.int
    TYPE_FIELD_NUMBER: builtins.int
    identity: builtins.str
    type: global___IdentityType.ValueType
    def __init__(
        self,
        *,
        identity: builtins.str = ...,
        type: global___IdentityType.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["identity", b"identity", "type", b"type"]) -> None: ...

global___IdentityContext = IdentityContext
