"""
@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 sys
import typing

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

class _SystemEventEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SystemEvent.ValueType], builtins.type):
    DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
    EVENT_UNKNOWN: _SystemEvent.ValueType  # 0
    """/ Unknown event and default value. Should not actively be used."""
    EVENT_TASK_DONE: _SystemEvent.ValueType  # 1
    """/ Current RuntimeTask should be considered done; It is recommended to use  `SessionService.CompleteTaskStep` where possible."""
    EVENT_TASK_FAILED: _SystemEvent.ValueType  # 2
    """/ Current RuntimeTask should be considered failed; It is recommended to use  `SessionService.FailTaskStep` where possible."""

class SystemEvent(_SystemEvent, metaclass=_SystemEventEnumTypeWrapper):
    """*
    An enum representing an event hat has been triggered by some (parallel) activity of the system.
    Event handling should be done by a SessionService and should be converted into a string beforehand.
    Note that custom and task-specific events are defined as strings right away. This enum shall only be used for 
    reoccuring task-independent events.
    @author Alexander Neumann <alneuman@techfak.uni-bielefeld.de>
    """

EVENT_UNKNOWN: SystemEvent.ValueType  # 0
"""/ Unknown event and default value. Should not actively be used."""
EVENT_TASK_DONE: SystemEvent.ValueType  # 1
"""/ Current RuntimeTask should be considered done; It is recommended to use  `SessionService.CompleteTaskStep` where possible."""
EVENT_TASK_FAILED: SystemEvent.ValueType  # 2
"""/ Current RuntimeTask should be considered failed; It is recommended to use  `SessionService.FailTaskStep` where possible."""
global___SystemEvent = SystemEvent
