"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import avikom.assistance.task_step_pb2
import avikom.generic.key_value_pair_pb2
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class Task(google.protobuf.message.Message):
    """*
    This message describes a specific Task which can include several task steps.
    A task may be conducted in several locations (scenes). 
    @author: Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    NAME_FIELD_NUMBER: builtins.int
    STEPS_FIELD_NUMBER: builtins.int
    SUMMARY_FIELD_NUMBER: builtins.int
    DESCRIPTION_FIELD_NUMBER: builtins.int
    PROCESS_FIELD_NUMBER: builtins.int
    PROCESS_PARAMETERS_FIELD_NUMBER: builtins.int
    name: builtins.str
    """/ globally unique name of the task"""
    @property
    def steps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[avikom.assistance.task_step_pb2.TaskStep]:
        """/ steps assigned to this task; steps do not need to be exclusive to a task; steps do not need to be mentioned here to be triggered by tge BPM engine"""
    summary: builtins.str
    """/ a brief description of the current task (roughly 1-3 sentences max)."""
    description: builtins.str
    """/ a more detailled description of the task at hand"""
    process: builtins.str
    """/ name of the BPM process that describes this task"""
    @property
    def process_parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[avikom.generic.key_value_pair_pb2.KeyValuePair]:
        """/ variables passed to the process"""
    def __init__(
        self,
        *,
        name: builtins.str = ...,
        steps: collections.abc.Iterable[avikom.assistance.task_step_pb2.TaskStep] | None = ...,
        summary: builtins.str = ...,
        description: builtins.str = ...,
        process: builtins.str = ...,
        process_parameters: collections.abc.Iterable[avikom.generic.key_value_pair_pb2.KeyValuePair] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["description", b"description", "name", b"name", "process", b"process", "process_parameters", b"process_parameters", "steps", b"steps", "summary", b"summary"]) -> None: ...

global___Task = Task
