"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import attestation_pb2
import builtins
import collections.abc
import data_room_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
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 _CreateDcrPurpose:
    ValueType = typing.NewType("ValueType", builtins.int)
    V: typing_extensions.TypeAlias = ValueType

class _CreateDcrPurposeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CreateDcrPurpose.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    STANDARD: _CreateDcrPurpose.ValueType  # 0
    VALIDATION: _CreateDcrPurpose.ValueType  # 1
    DATA_IMPORT: _CreateDcrPurpose.ValueType  # 2
    DATA_EXPORT: _CreateDcrPurpose.ValueType  # 3
    DATA_LAB: _CreateDcrPurpose.ValueType  # 4

class CreateDcrPurpose(_CreateDcrPurpose, metaclass=_CreateDcrPurposeEnumTypeWrapper): ...

STANDARD: CreateDcrPurpose.ValueType  # 0
VALIDATION: CreateDcrPurpose.ValueType  # 1
DATA_IMPORT: CreateDcrPurpose.ValueType  # 2
DATA_EXPORT: CreateDcrPurpose.ValueType  # 3
DATA_LAB: CreateDcrPurpose.ValueType  # 4
global___CreateDcrPurpose = CreateDcrPurpose

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

class _CreateDcrKindEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CreateDcrKind.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    EXPERT: _CreateDcrKind.ValueType  # 0
    DATASCIENCE: _CreateDcrKind.ValueType  # 1
    MEDIA: _CreateDcrKind.ValueType  # 2
    LOOKALIKE_MEDIA: _CreateDcrKind.ValueType  # 3

class CreateDcrKind(_CreateDcrKind, metaclass=_CreateDcrKindEnumTypeWrapper): ...

EXPERT: CreateDcrKind.ValueType  # 0
DATASCIENCE: CreateDcrKind.ValueType  # 1
MEDIA: CreateDcrKind.ValueType  # 2
LOOKALIKE_MEDIA: CreateDcrKind.ValueType  # 3
global___CreateDcrKind = CreateDcrKind

@typing_extensions.final
class EnclaveInfo(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ATTESTATIONSPECHASHHEX_FIELD_NUMBER: builtins.int
    TASKQUEUENAME_FIELD_NUMBER: builtins.int
    attestationSpecHashHex: builtins.str
    taskQueueName: builtins.str
    def __init__(
        self,
        *,
        attestationSpecHashHex: builtins.str = ...,
        taskQueueName: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_taskQueueName", b"_taskQueueName", "taskQueueName", b"taskQueueName"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_taskQueueName", b"_taskQueueName", "attestationSpecHashHex", b"attestationSpecHashHex", "taskQueueName", b"taskQueueName"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_taskQueueName", b"_taskQueueName"]) -> typing_extensions.Literal["taskQueueName"] | None: ...

global___EnclaveInfo = EnclaveInfo

@typing_extensions.final
class MeteringRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CREATEDCR_FIELD_NUMBER: builtins.int
    CREATEDCRCOMMIT_FIELD_NUMBER: builtins.int
    STOPDCR_FIELD_NUMBER: builtins.int
    PUBLISHDATASET_FIELD_NUMBER: builtins.int
    UNPUBLISHDATASET_FIELD_NUMBER: builtins.int
    WORKERMETADATA_FIELD_NUMBER: builtins.int
    SUBMITWORKEREXECUTIONTIME_FIELD_NUMBER: builtins.int
    DCRINTERACTION_FIELD_NUMBER: builtins.int
    CREATEDATASET_FIELD_NUMBER: builtins.int
    GETORCREATEDATASETSCOPE_FIELD_NUMBER: builtins.int
    MERGEDCRCOMMIT_FIELD_NUMBER: builtins.int
    @property
    def createDcr(self) -> global___CreateDcrRequest: ...
    @property
    def createDcrCommit(self) -> global___CreateDcrCommitRequest: ...
    @property
    def stopDcr(self) -> global___StopDcrRequest: ...
    @property
    def publishDataset(self) -> global___PublishDatasetRequest: ...
    @property
    def unpublishDataset(self) -> global___UnpublishDatasetRequest: ...
    @property
    def workerMetadata(self) -> global___WorkerMetadataRequest: ...
    @property
    def submitWorkerExecutionTime(self) -> global___SubmitWorkerExecutionTimeRequest: ...
    @property
    def dcrInteraction(self) -> global___DcrInteractionRequest: ...
    @property
    def createDataset(self) -> global___CreateDatasetRequest: ...
    @property
    def getOrCreateDatasetScope(self) -> global___GetOrCreateDatasetScopeRequest: ...
    @property
    def mergeDcrCommit(self) -> global___MergeDcrCommitRequest: ...
    def __init__(
        self,
        *,
        createDcr: global___CreateDcrRequest | None = ...,
        createDcrCommit: global___CreateDcrCommitRequest | None = ...,
        stopDcr: global___StopDcrRequest | None = ...,
        publishDataset: global___PublishDatasetRequest | None = ...,
        unpublishDataset: global___UnpublishDatasetRequest | None = ...,
        workerMetadata: global___WorkerMetadataRequest | None = ...,
        submitWorkerExecutionTime: global___SubmitWorkerExecutionTimeRequest | None = ...,
        dcrInteraction: global___DcrInteractionRequest | None = ...,
        createDataset: global___CreateDatasetRequest | None = ...,
        getOrCreateDatasetScope: global___GetOrCreateDatasetScopeRequest | None = ...,
        mergeDcrCommit: global___MergeDcrCommitRequest | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["createDataset", b"createDataset", "createDcr", b"createDcr", "createDcrCommit", b"createDcrCommit", "dcrInteraction", b"dcrInteraction", "getOrCreateDatasetScope", b"getOrCreateDatasetScope", "mergeDcrCommit", b"mergeDcrCommit", "publishDataset", b"publishDataset", "request", b"request", "stopDcr", b"stopDcr", "submitWorkerExecutionTime", b"submitWorkerExecutionTime", "unpublishDataset", b"unpublishDataset", "workerMetadata", b"workerMetadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["createDataset", b"createDataset", "createDcr", b"createDcr", "createDcrCommit", b"createDcrCommit", "dcrInteraction", b"dcrInteraction", "getOrCreateDatasetScope", b"getOrCreateDatasetScope", "mergeDcrCommit", b"mergeDcrCommit", "publishDataset", b"publishDataset", "request", b"request", "stopDcr", b"stopDcr", "submitWorkerExecutionTime", b"submitWorkerExecutionTime", "unpublishDataset", b"unpublishDataset", "workerMetadata", b"workerMetadata"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["request", b"request"]) -> typing_extensions.Literal["createDcr", "createDcrCommit", "stopDcr", "publishDataset", "unpublishDataset", "workerMetadata", "submitWorkerExecutionTime", "dcrInteraction", "createDataset", "getOrCreateDatasetScope", "mergeDcrCommit"] | None: ...

global___MeteringRequest = MeteringRequest

@typing_extensions.final
class MeteringSuccessResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CREATEDCR_FIELD_NUMBER: builtins.int
    CREATEDCRCOMMIT_FIELD_NUMBER: builtins.int
    STOPDCR_FIELD_NUMBER: builtins.int
    PUBLISHDATASET_FIELD_NUMBER: builtins.int
    UNPUBLISHDATASET_FIELD_NUMBER: builtins.int
    WORKERMETADATA_FIELD_NUMBER: builtins.int
    SUBMITWORKEREXECUTIONTIME_FIELD_NUMBER: builtins.int
    DCRINTERACTION_FIELD_NUMBER: builtins.int
    CREATEDATASET_FIELD_NUMBER: builtins.int
    GETORCREATEDATASETSCOPE_FIELD_NUMBER: builtins.int
    MERGEDCRCOMMIT_FIELD_NUMBER: builtins.int
    @property
    def createDcr(self) -> global___CreateDcrResponse: ...
    @property
    def createDcrCommit(self) -> global___CreateDcrCommitResponse: ...
    @property
    def stopDcr(self) -> global___StopDcrResponse: ...
    @property
    def publishDataset(self) -> global___PublishDatasetResponse: ...
    @property
    def unpublishDataset(self) -> global___UnpublishDatasetResponse: ...
    @property
    def workerMetadata(self) -> global___WorkerMetadataResponse: ...
    @property
    def submitWorkerExecutionTime(self) -> global___SubmitWorkerExecutionTimeResponse: ...
    @property
    def dcrInteraction(self) -> global___DcrInteractionResponse: ...
    @property
    def createDataset(self) -> global___CreateDatasetResponse: ...
    @property
    def getOrCreateDatasetScope(self) -> global___GetOrCreateDatasetScopeResponse: ...
    @property
    def mergeDcrCommit(self) -> global___MergeDcrCommitResponse: ...
    def __init__(
        self,
        *,
        createDcr: global___CreateDcrResponse | None = ...,
        createDcrCommit: global___CreateDcrCommitResponse | None = ...,
        stopDcr: global___StopDcrResponse | None = ...,
        publishDataset: global___PublishDatasetResponse | None = ...,
        unpublishDataset: global___UnpublishDatasetResponse | None = ...,
        workerMetadata: global___WorkerMetadataResponse | None = ...,
        submitWorkerExecutionTime: global___SubmitWorkerExecutionTimeResponse | None = ...,
        dcrInteraction: global___DcrInteractionResponse | None = ...,
        createDataset: global___CreateDatasetResponse | None = ...,
        getOrCreateDatasetScope: global___GetOrCreateDatasetScopeResponse | None = ...,
        mergeDcrCommit: global___MergeDcrCommitResponse | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["createDataset", b"createDataset", "createDcr", b"createDcr", "createDcrCommit", b"createDcrCommit", "dcrInteraction", b"dcrInteraction", "getOrCreateDatasetScope", b"getOrCreateDatasetScope", "mergeDcrCommit", b"mergeDcrCommit", "publishDataset", b"publishDataset", "response", b"response", "stopDcr", b"stopDcr", "submitWorkerExecutionTime", b"submitWorkerExecutionTime", "unpublishDataset", b"unpublishDataset", "workerMetadata", b"workerMetadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["createDataset", b"createDataset", "createDcr", b"createDcr", "createDcrCommit", b"createDcrCommit", "dcrInteraction", b"dcrInteraction", "getOrCreateDatasetScope", b"getOrCreateDatasetScope", "mergeDcrCommit", b"mergeDcrCommit", "publishDataset", b"publishDataset", "response", b"response", "stopDcr", b"stopDcr", "submitWorkerExecutionTime", b"submitWorkerExecutionTime", "unpublishDataset", b"unpublishDataset", "workerMetadata", b"workerMetadata"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["response", b"response"]) -> typing_extensions.Literal["createDcr", "createDcrCommit", "stopDcr", "publishDataset", "unpublishDataset", "workerMetadata", "submitWorkerExecutionTime", "dcrInteraction", "createDataset", "getOrCreateDatasetScope", "mergeDcrCommit"] | None: ...

global___MeteringSuccessResponse = MeteringSuccessResponse

@typing_extensions.final
class MeteringResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUCCESS_FIELD_NUMBER: builtins.int
    FAILURE_FIELD_NUMBER: builtins.int
    @property
    def success(self) -> global___MeteringSuccessResponse: ...
    failure: builtins.str
    def __init__(
        self,
        *,
        success: global___MeteringSuccessResponse | None = ...,
        failure: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["failure", b"failure", "response", b"response", "success", b"success"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["failure", b"failure", "response", b"response", "success", b"success"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["response", b"response"]) -> typing_extensions.Literal["success", "failure"] | None: ...

global___MeteringResponse = MeteringResponse

@typing_extensions.final
class DcrMetadata(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PURPOSE_FIELD_NUMBER: builtins.int
    SHOWORGANIZATIONLOGO_FIELD_NUMBER: builtins.int
    REQUIREPASSWORD_FIELD_NUMBER: builtins.int
    KIND_FIELD_NUMBER: builtins.int
    purpose: global___CreateDcrPurpose.ValueType
    """/ Why this data room is being created (allows for purpose-based filtering of data rooms)"""
    showOrganizationLogo: builtins.bool
    """/ Whether to show the organization logo"""
    requirePassword: builtins.bool
    """/ Whether the DCR requires a password"""
    kind: global___CreateDcrKind.ValueType
    """/ The dcr type"""
    def __init__(
        self,
        *,
        purpose: global___CreateDcrPurpose.ValueType = ...,
        showOrganizationLogo: builtins.bool = ...,
        requirePassword: builtins.bool = ...,
        kind: global___CreateDcrKind.ValueType = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["kind", b"kind", "purpose", b"purpose", "requirePassword", b"requirePassword", "showOrganizationLogo", b"showOrganizationLogo"]) -> None: ...

global___DcrMetadata = DcrMetadata

@typing_extensions.final
class CreateDcrRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    IDHEX_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DRIVERATTESTATIONHASH_FIELD_NUMBER: builtins.int
    PARTICIPANTEMAILS_FIELD_NUMBER: builtins.int
    METADATA_FIELD_NUMBER: builtins.int
    ENCLAVEINFO_FIELD_NUMBER: builtins.int
    idHex: builtins.str
    """/ The DCR hash to be used for the published data room"""
    name: builtins.str
    driverAttestationHash: builtins.str
    """/ The driver attestation hash"""
    @property
    def participantEmails(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    metadata: builtins.bytes
    """/ Optional metadata that will be persisted to the database"""
    @property
    def enclaveInfo(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EnclaveInfo]:
        """/ Information about the enclaves used in this DCR"""
    def __init__(
        self,
        *,
        idHex: builtins.str = ...,
        name: builtins.str = ...,
        driverAttestationHash: builtins.str = ...,
        participantEmails: collections.abc.Iterable[builtins.str] | None = ...,
        metadata: builtins.bytes | None = ...,
        enclaveInfo: collections.abc.Iterable[global___EnclaveInfo] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_metadata", b"_metadata", "metadata", b"metadata"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_metadata", b"_metadata", "driverAttestationHash", b"driverAttestationHash", "enclaveInfo", b"enclaveInfo", "idHex", b"idHex", "metadata", b"metadata", "name", b"name", "participantEmails", b"participantEmails"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_metadata", b"_metadata"]) -> typing_extensions.Literal["metadata"] | None: ...

global___CreateDcrRequest = CreateDcrRequest

@typing_extensions.final
class ExecuteComputationNodeInteraction(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NODEID_FIELD_NUMBER: builtins.int
    RATELIMITING_FIELD_NUMBER: builtins.int
    nodeId: builtins.str
    @property
    def rateLimiting(self) -> data_room_pb2.RateLimitingConfig:
        """The rate limiting config that was defined within the DCR for this node (if any)"""
    def __init__(
        self,
        *,
        nodeId: builtins.str = ...,
        rateLimiting: data_room_pb2.RateLimitingConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_rateLimiting", b"_rateLimiting", "rateLimiting", b"rateLimiting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_rateLimiting", b"_rateLimiting", "nodeId", b"nodeId", "rateLimiting", b"rateLimiting"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_rateLimiting", b"_rateLimiting"]) -> typing_extensions.Literal["rateLimiting"] | None: ...

global___ExecuteComputationNodeInteraction = ExecuteComputationNodeInteraction

@typing_extensions.final
class ExecuteComputationInteraction(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NODES_FIELD_NUMBER: builtins.int
    @property
    def nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ExecuteComputationNodeInteraction]: ...
    def __init__(
        self,
        *,
        nodes: collections.abc.Iterable[global___ExecuteComputationNodeInteraction] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["nodes", b"nodes"]) -> None: ...

global___ExecuteComputationInteraction = ExecuteComputationInteraction

@typing_extensions.final
class PublishDatasetInteraction(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NODEID_FIELD_NUMBER: builtins.int
    RATELIMITING_FIELD_NUMBER: builtins.int
    nodeId: builtins.str
    @property
    def rateLimiting(self) -> data_room_pb2.RateLimitingConfig:
        """The rate limiting config that was defined within the DCR for this node (if any)"""
    def __init__(
        self,
        *,
        nodeId: builtins.str = ...,
        rateLimiting: data_room_pb2.RateLimitingConfig | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_rateLimiting", b"_rateLimiting", "rateLimiting", b"rateLimiting"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_rateLimiting", b"_rateLimiting", "nodeId", b"nodeId", "rateLimiting", b"rateLimiting"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_rateLimiting", b"_rateLimiting"]) -> typing_extensions.Literal["rateLimiting"] | None: ...

global___PublishDatasetInteraction = PublishDatasetInteraction

@typing_extensions.final
class DcrInteractionKind(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXECUTECOMPUTATION_FIELD_NUMBER: builtins.int
    PUBLISHDATASET_FIELD_NUMBER: builtins.int
    @property
    def executeComputation(self) -> global___ExecuteComputationInteraction: ...
    @property
    def publishDataset(self) -> global___PublishDatasetInteraction: ...
    def __init__(
        self,
        *,
        executeComputation: global___ExecuteComputationInteraction | None = ...,
        publishDataset: global___PublishDatasetInteraction | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["executeComputation", b"executeComputation", "kind", b"kind", "publishDataset", b"publishDataset"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["executeComputation", b"executeComputation", "kind", b"kind", "publishDataset", b"publishDataset"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["kind", b"kind"]) -> typing_extensions.Literal["executeComputation", "publishDataset"] | None: ...

global___DcrInteractionKind = DcrInteractionKind

@typing_extensions.final
class DcrInteractionRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATAROOMHASH_FIELD_NUMBER: builtins.int
    DRIVERATTESTATIONHASH_FIELD_NUMBER: builtins.int
    SCOPEID_FIELD_NUMBER: builtins.int
    INTERACTION_FIELD_NUMBER: builtins.int
    dataRoomHash: builtins.str
    """/ The hex-encoded hash of the data room"""
    driverAttestationHash: builtins.str
    """/ The driver attestation hash"""
    scopeId: builtins.str
    """Id of the scope to check"""
    @property
    def interaction(self) -> global___DcrInteractionKind:
        """The type of interactions the user wants to perform"""
    def __init__(
        self,
        *,
        dataRoomHash: builtins.str = ...,
        driverAttestationHash: builtins.str = ...,
        scopeId: builtins.str = ...,
        interaction: global___DcrInteractionKind | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["interaction", b"interaction"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["dataRoomHash", b"dataRoomHash", "driverAttestationHash", b"driverAttestationHash", "interaction", b"interaction", "scopeId", b"scopeId"]) -> None: ...

global___DcrInteractionRequest = DcrInteractionRequest

@typing_extensions.final
class PublishDatasetRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COMPUTENODEID_FIELD_NUMBER: builtins.int
    MANIFESTHASH_FIELD_NUMBER: builtins.int
    DATAROOMHASH_FIELD_NUMBER: builtins.int
    DRIVERATTESTATIONHASH_FIELD_NUMBER: builtins.int
    computeNodeId: builtins.str
    """/ The UUID of the compute node to which this dataset is being published"""
    manifestHash: builtins.str
    """/ The hex-encoded manifest hash of the dataset"""
    dataRoomHash: builtins.str
    """/ The hex-encoded hash of the data room"""
    driverAttestationHash: builtins.str
    """/ The driver attestation hash"""
    def __init__(
        self,
        *,
        computeNodeId: builtins.str = ...,
        manifestHash: builtins.str = ...,
        dataRoomHash: builtins.str = ...,
        driverAttestationHash: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["computeNodeId", b"computeNodeId", "dataRoomHash", b"dataRoomHash", "driverAttestationHash", b"driverAttestationHash", "manifestHash", b"manifestHash"]) -> None: ...

global___PublishDatasetRequest = PublishDatasetRequest

@typing_extensions.final
class CreateDatasetRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MANIFESTHASH_FIELD_NUMBER: builtins.int
    MANIFEST_FIELD_NUMBER: builtins.int
    SCOPEID_FIELD_NUMBER: builtins.int
    NAME_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    SIZEBYTES_FIELD_NUMBER: builtins.int
    STATISTICS_FIELD_NUMBER: builtins.int
    DATASETIMPORTID_FIELD_NUMBER: builtins.int
    manifestHash: builtins.str
    """/ The hex-encoded manifest hash of the dataset"""
    manifest: builtins.str
    """/ The hex-encoded manifest of the dataset"""
    scopeId: builtins.str
    """/ The id scope of the scope to which this dataset should be linked"""
    name: builtins.str
    """/ A human-readable name of the dataset that helps to identify it"""
    description: builtins.str
    """/ A human-readable description of the dataset that helps to identify it"""
    sizeBytes: builtins.int
    """/ The size of this dataset in bytes"""
    statistics: builtins.str
    """/ Statistics associated with this dataset as a serialized JSON object"""
    datasetImportId: builtins.str
    """/ An id identifying the dataset import as part of which this dataset was created"""
    def __init__(
        self,
        *,
        manifestHash: builtins.str = ...,
        manifest: builtins.str | None = ...,
        scopeId: builtins.str = ...,
        name: builtins.str = ...,
        description: builtins.str | None = ...,
        sizeBytes: builtins.int | None = ...,
        statistics: builtins.str | None = ...,
        datasetImportId: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_datasetImportId", b"_datasetImportId", "_description", b"_description", "_manifest", b"_manifest", "_sizeBytes", b"_sizeBytes", "_statistics", b"_statistics", "datasetImportId", b"datasetImportId", "description", b"description", "manifest", b"manifest", "sizeBytes", b"sizeBytes", "statistics", b"statistics"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_datasetImportId", b"_datasetImportId", "_description", b"_description", "_manifest", b"_manifest", "_sizeBytes", b"_sizeBytes", "_statistics", b"_statistics", "datasetImportId", b"datasetImportId", "description", b"description", "manifest", b"manifest", "manifestHash", b"manifestHash", "name", b"name", "scopeId", b"scopeId", "sizeBytes", b"sizeBytes", "statistics", b"statistics"]) -> None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_datasetImportId", b"_datasetImportId"]) -> typing_extensions.Literal["datasetImportId"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_description", b"_description"]) -> typing_extensions.Literal["description"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_manifest", b"_manifest"]) -> typing_extensions.Literal["manifest"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_sizeBytes", b"_sizeBytes"]) -> typing_extensions.Literal["sizeBytes"] | None: ...
    @typing.overload
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_statistics", b"_statistics"]) -> typing_extensions.Literal["statistics"] | None: ...

global___CreateDatasetRequest = CreateDatasetRequest

@typing_extensions.final
class GetOrCreateDatasetScopeRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MANIFESTHASH_FIELD_NUMBER: builtins.int
    manifestHash: builtins.str
    def __init__(
        self,
        *,
        manifestHash: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["_manifestHash", b"_manifestHash", "manifestHash", b"manifestHash"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["_manifestHash", b"_manifestHash", "manifestHash", b"manifestHash"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["_manifestHash", b"_manifestHash"]) -> typing_extensions.Literal["manifestHash"] | None: ...

global___GetOrCreateDatasetScopeRequest = GetOrCreateDatasetScopeRequest

@typing_extensions.final
class UnpublishDatasetRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    COMPUTENODEID_FIELD_NUMBER: builtins.int
    DATAROOMHASH_FIELD_NUMBER: builtins.int
    DRIVERATTESTATIONHASH_FIELD_NUMBER: builtins.int
    computeNodeId: builtins.str
    """/ The UUID of the compute node to which this dataset is being published"""
    dataRoomHash: builtins.str
    """/ The hex-encoded hash of the data room"""
    driverAttestationHash: builtins.str
    """/ The driver attestation hash"""
    def __init__(
        self,
        *,
        computeNodeId: builtins.str = ...,
        dataRoomHash: builtins.str = ...,
        driverAttestationHash: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["computeNodeId", b"computeNodeId", "dataRoomHash", b"dataRoomHash", "driverAttestationHash", b"driverAttestationHash"]) -> None: ...

global___UnpublishDatasetRequest = UnpublishDatasetRequest

@typing_extensions.final
class StopDcrRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DATAROOMHASH_FIELD_NUMBER: builtins.int
    DRIVERATTESTATIONHASH_FIELD_NUMBER: builtins.int
    dataRoomHash: builtins.str
    """/ The hex-encoded data room hash"""
    driverAttestationHash: builtins.str
    """/ The driver attestation hash"""
    def __init__(
        self,
        *,
        dataRoomHash: builtins.str = ...,
        driverAttestationHash: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["dataRoomHash", b"dataRoomHash", "driverAttestationHash", b"driverAttestationHash"]) -> None: ...

global___StopDcrRequest = StopDcrRequest

@typing_extensions.final
class CreateDcrCommitRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    DCRIDHEX_FIELD_NUMBER: builtins.int
    DRIVERATTESTATIONHASH_FIELD_NUMBER: builtins.int
    ENCLAVEINFO_FIELD_NUMBER: builtins.int
    id: builtins.str
    """/ The commit id"""
    dcrIdHex: builtins.str
    """/ The DCR hash the commit refers to"""
    driverAttestationHash: builtins.str
    """/ The driver attestation hash"""
    @property
    def enclaveInfo(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EnclaveInfo]:
        """/ Information about the enclaves used in this commit"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        dcrIdHex: builtins.str = ...,
        driverAttestationHash: builtins.str = ...,
        enclaveInfo: collections.abc.Iterable[global___EnclaveInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["dcrIdHex", b"dcrIdHex", "driverAttestationHash", b"driverAttestationHash", "enclaveInfo", b"enclaveInfo", "id", b"id"]) -> None: ...

global___CreateDcrCommitRequest = CreateDcrCommitRequest

@typing_extensions.final
class MergeDcrCommitRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    DCRIDHEX_FIELD_NUMBER: builtins.int
    DRIVERATTESTATIONHASH_FIELD_NUMBER: builtins.int
    ENCLAVEINFO_FIELD_NUMBER: builtins.int
    id: builtins.str
    """/ The commit id"""
    dcrIdHex: builtins.str
    """/ The DCR hash the commit refers to"""
    driverAttestationHash: builtins.str
    """/ The driver attestation hash"""
    @property
    def enclaveInfo(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EnclaveInfo]:
        """/ Information about the enclaves that were added to the DCR"""
    def __init__(
        self,
        *,
        id: builtins.str = ...,
        dcrIdHex: builtins.str = ...,
        driverAttestationHash: builtins.str = ...,
        enclaveInfo: collections.abc.Iterable[global___EnclaveInfo] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["dcrIdHex", b"dcrIdHex", "driverAttestationHash", b"driverAttestationHash", "enclaveInfo", b"enclaveInfo", "id", b"id"]) -> None: ...

global___MergeDcrCommitRequest = MergeDcrCommitRequest

@typing_extensions.final
class CreateDcrResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___CreateDcrResponse = CreateDcrResponse

@typing_extensions.final
class GetOrCreateDatasetScopeResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___GetOrCreateDatasetScopeResponse = GetOrCreateDatasetScopeResponse

@typing_extensions.final
class DcrInteractionResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___DcrInteractionResponse = DcrInteractionResponse

@typing_extensions.final
class CreateDcrCommitResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___CreateDcrCommitResponse = CreateDcrCommitResponse

@typing_extensions.final
class MergeDcrCommitResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___MergeDcrCommitResponse = MergeDcrCommitResponse

@typing_extensions.final
class StopDcrResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___StopDcrResponse = StopDcrResponse

@typing_extensions.final
class PublishDatasetResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___PublishDatasetResponse = PublishDatasetResponse

@typing_extensions.final
class CreateDatasetResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___CreateDatasetResponse = CreateDatasetResponse

@typing_extensions.final
class UnpublishDatasetResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___UnpublishDatasetResponse = UnpublishDatasetResponse

@typing_extensions.final
class WorkerMetadataRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ATTESTATIONSPEC_FIELD_NUMBER: builtins.int
    SCOPEID_FIELD_NUMBER: builtins.int
    @property
    def attestationSpec(self) -> attestation_pb2.AttestationSpecification:
        """/ Attestation spec of the worker for which to perform the metadata lookup"""
    scopeId: builtins.str
    """/ Id of the scope in the context of which a computation is performed"""
    def __init__(
        self,
        *,
        attestationSpec: attestation_pb2.AttestationSpecification | None = ...,
        scopeId: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["attestationSpec", b"attestationSpec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attestationSpec", b"attestationSpec", "scopeId", b"scopeId"]) -> None: ...

global___WorkerMetadataRequest = WorkerMetadataRequest

@typing_extensions.final
class WorkerMetadataResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___WorkerMetadataResponse = WorkerMetadataResponse

@typing_extensions.final
class SubmitWorkerExecutionTimeRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    EXECUTIONTIMESECONDS_FIELD_NUMBER: builtins.int
    ATTESTATIONSPEC_FIELD_NUMBER: builtins.int
    SCOPEID_FIELD_NUMBER: builtins.int
    executionTimeSeconds: builtins.int
    @property
    def attestationSpec(self) -> attestation_pb2.AttestationSpecification: ...
    scopeId: builtins.str
    """/ Id of the scope in the context of which a computation is performed"""
    def __init__(
        self,
        *,
        executionTimeSeconds: builtins.int = ...,
        attestationSpec: attestation_pb2.AttestationSpecification | None = ...,
        scopeId: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["attestationSpec", b"attestationSpec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["attestationSpec", b"attestationSpec", "executionTimeSeconds", b"executionTimeSeconds", "scopeId", b"scopeId"]) -> None: ...

global___SubmitWorkerExecutionTimeRequest = SubmitWorkerExecutionTimeRequest

@typing_extensions.final
class SubmitWorkerExecutionTimeResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

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

global___SubmitWorkerExecutionTimeResponse = SubmitWorkerExecutionTimeResponse
