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

import builtins
import google.protobuf.descriptor
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    V0_FIELD_NUMBER: builtins.int
    @property
    def v0(self) -> global___ReleasePolicyV0: ...
    def __init__(
        self,
        *,
        v0: global___ReleasePolicyV0 | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["v0", b"v0", "version", b"version"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["v0", b"v0", "version", b"version"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["version", b"version"]) -> typing.Literal["v0"] | None: ...

global___ReleasePolicy = ReleasePolicy

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

    SECRETSOURCE_FIELD_NUMBER: builtins.int
    ALLOWEDCOMPUTECONTEXT_FIELD_NUMBER: builtins.int
    @property
    def secretSource(self) -> global___SecretSource:
        """Identifies the source of a secret.
        The policy creator must own this secret.
        """

    @property
    def allowedComputeContext(self) -> global___AllowedComputeContext:
        """/ Determines in which computation context a secret can be released."""

    def __init__(
        self,
        *,
        secretSource: global___SecretSource | None = ...,
        allowedComputeContext: global___AllowedComputeContext | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["allowedComputeContext", b"allowedComputeContext", "secretSource", b"secretSource"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["allowedComputeContext", b"allowedComputeContext", "secretSource", b"secretSource"]) -> None: ...

global___ReleasePolicyV0 = ReleasePolicyV0

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

    DCR_FIELD_NUMBER: builtins.int
    @property
    def dcr(self) -> global___DcrComputeContext: ...
    def __init__(
        self,
        *,
        dcr: global___DcrComputeContext | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["dcr", b"dcr", "kind", b"kind"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["dcr", b"dcr", "kind", b"kind"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["dcr"] | None: ...

global___AllowedComputeContext = AllowedComputeContext

@typing.final
class DcrComputeContext(google.protobuf.message.Message):
    """/ Identifies a particular leaf in a particular DCR"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DcrComputeContext = DcrComputeContext

@typing.final
class SecretSource(google.protobuf.message.Message):
    """/ Informs the enclave on how and where to get a particular secret
    / (such as an encryption key) from.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SECRETSTORE_FIELD_NUMBER: builtins.int
    @property
    def secretStore(self) -> global___SecretStoreSource: ...
    def __init__(
        self,
        *,
        secretStore: global___SecretStoreSource | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["kind", b"kind", "secretStore", b"secretStore"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["kind", b"kind", "secretStore", b"secretStore"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["kind", b"kind"]) -> typing.Literal["secretStore"] | None: ...

global___SecretSource = SecretSource

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

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

global___SecretStoreSource = SecretStoreSource
