from typing import Optional, Any

from ....enums.general.workflows import WorkflowStatus


class WorkflowState[T: Any]:
  ref: str
  name: Optional[str]
  status: WorkflowStatus
  value: Optional[T]


# ----------------------------------------
# Data Transfer Object Interface
# ----------------------------------------


class WorkflowStateDto[T: Any]:
  ref: str
  name: Optional[str]
  status: WorkflowStatus
  value: Optional[T]
