"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class Status(google.protobuf.message.Message):
    """Current form of the dataset"""
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class TaskStagesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text = ...
        @property
        def value(self) -> global___Status.Stage: ...
        def __init__(self,
            *,
            key : typing.Text = ...,
            value : typing.Optional[global___Status.Stage] = ...,
            ) -> 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 PropertiesEntry(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        KEY_FIELD_NUMBER: builtins.int
        VALUE_FIELD_NUMBER: builtins.int
        key: typing.Text = ...
        value: typing.Text = ...
        def __init__(self,
            *,
            key : typing.Text = ...,
            value : typing.Text = ...,
            ) -> None: ...
        def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

    class Stage(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        class PropertiesEntry(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            KEY_FIELD_NUMBER: builtins.int
            VALUE_FIELD_NUMBER: builtins.int
            key: typing.Text = ...
            value: typing.Text = ...
            def __init__(self,
                *,
                key : typing.Text = ...,
                value : typing.Text = ...,
                ) -> None: ...
            def ClearField(self, field_name: typing_extensions.Literal["key",b"key","value",b"value"]) -> None: ...

        class Pending(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            def __init__(self,
                ) -> None: ...

        class Processing(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            def __init__(self,
                ) -> None: ...

        class Ready(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            def __init__(self,
                ) -> None: ...

        class Error(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            def __init__(self,
                ) -> None: ...

        PENDING_FIELD_NUMBER: builtins.int
        PROCESSING_FIELD_NUMBER: builtins.int
        READY_FIELD_NUMBER: builtins.int
        ERROR_FIELD_NUMBER: builtins.int
        PROPERTIES_FIELD_NUMBER: builtins.int
        @property
        def pending(self) -> global___Status.Stage.Pending: ...
        @property
        def processing(self) -> global___Status.Stage.Processing: ...
        @property
        def ready(self) -> global___Status.Stage.Ready: ...
        @property
        def error(self) -> global___Status.Stage.Error: ...
        @property
        def properties(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]: ...
        def __init__(self,
            *,
            pending : typing.Optional[global___Status.Stage.Pending] = ...,
            processing : typing.Optional[global___Status.Stage.Processing] = ...,
            ready : typing.Optional[global___Status.Stage.Ready] = ...,
            error : typing.Optional[global___Status.Stage.Error] = ...,
            properties : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal["error",b"error","pending",b"pending","processing",b"processing","ready",b"ready","stage",b"stage"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal["error",b"error","pending",b"pending","processing",b"processing","properties",b"properties","ready",b"ready","stage",b"stage"]) -> None: ...
        def WhichOneof(self, oneof_group: typing_extensions.Literal["stage",b"stage"]) -> typing.Optional[typing_extensions.Literal["pending","processing","ready","error"]]: ...

    UUID_FIELD_NUMBER: builtins.int
    DATASPEC_FIELD_NUMBER: builtins.int
    MANAGER_FIELD_NUMBER: builtins.int
    DATETIME_FIELD_NUMBER: builtins.int
    TASK_STAGES_FIELD_NUMBER: builtins.int
    PROPERTIES_FIELD_NUMBER: builtins.int
    uuid: typing.Text = ...
    dataspec: typing.Text = ...
    manager: typing.Text = ...
    datetime: typing.Text = ...
    """ISO 8601 datetime"""

    @property
    def task_stages(self) -> google.protobuf.internal.containers.MessageMap[typing.Text, global___Status.Stage]:
        """Various tasks handled by the manager"""
        pass
    @property
    def properties(self) -> google.protobuf.internal.containers.ScalarMap[typing.Text, typing.Text]:
        """Other properties"""
        pass
    def __init__(self,
        *,
        uuid : typing.Text = ...,
        dataspec : typing.Text = ...,
        manager : typing.Text = ...,
        datetime : typing.Text = ...,
        task_stages : typing.Optional[typing.Mapping[typing.Text, global___Status.Stage]] = ...,
        properties : typing.Optional[typing.Mapping[typing.Text, typing.Text]] = ...,
        ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["dataspec",b"dataspec","datetime",b"datetime","manager",b"manager","properties",b"properties","task_stages",b"task_stages","uuid",b"uuid"]) -> None: ...
global___Status = Status
