"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
# @generated-id: c87f55498958

from __future__ import annotations
from .activitytaskcompleted_input import (
    ActivityTaskCompletedInput,
    ActivityTaskCompletedInputTypedDict,
)
from .activitytaskfailed_input import (
    ActivityTaskFailedInput,
    ActivityTaskFailedInputTypedDict,
)
from .activitytaskretrying_input import (
    ActivityTaskRetryingInput,
    ActivityTaskRetryingInputTypedDict,
)
from .activitytaskstarted_input import (
    ActivityTaskStartedInput,
    ActivityTaskStartedInputTypedDict,
)
from .customtaskcanceled_input import (
    CustomTaskCanceledInput,
    CustomTaskCanceledInputTypedDict,
)
from .customtaskcompleted_input import (
    CustomTaskCompletedInput,
    CustomTaskCompletedInputTypedDict,
)
from .customtaskfailed_input import (
    CustomTaskFailedInput,
    CustomTaskFailedInputTypedDict,
)
from .customtaskinprogress_input import (
    CustomTaskInProgressInput,
    CustomTaskInProgressInputTypedDict,
)
from .customtaskstarted_input import (
    CustomTaskStartedInput,
    CustomTaskStartedInputTypedDict,
)
from .customtasktimedout_input import (
    CustomTaskTimedOutInput,
    CustomTaskTimedOutInputTypedDict,
)
from .workflowexecutioncanceled_input import (
    WorkflowExecutionCanceledInput,
    WorkflowExecutionCanceledInputTypedDict,
)
from .workflowexecutioncompleted_input import (
    WorkflowExecutionCompletedInput,
    WorkflowExecutionCompletedInputTypedDict,
)
from .workflowexecutioncontinuedasnew_input import (
    WorkflowExecutionContinuedAsNewInput,
    WorkflowExecutionContinuedAsNewInputTypedDict,
)
from .workflowexecutionfailed_input import (
    WorkflowExecutionFailedInput,
    WorkflowExecutionFailedInputTypedDict,
)
from .workflowexecutionstarted_input import (
    WorkflowExecutionStartedInput,
    WorkflowExecutionStartedInputTypedDict,
)
from .workflowtaskfailed_input import (
    WorkflowTaskFailedInput,
    WorkflowTaskFailedInputTypedDict,
)
from .workflowtasktimedout_input import (
    WorkflowTaskTimedOutInput,
    WorkflowTaskTimedOutInputTypedDict,
)
from mistralai.workflows.worker_client.types import BaseModel
from typing import List, Union
from typing_extensions import TypeAliasType, TypedDict


WorkflowEventBatchRequestEventTypedDict = TypeAliasType(
    "WorkflowEventBatchRequestEventTypedDict",
    Union[
        WorkflowExecutionStartedInputTypedDict,
        WorkflowExecutionCompletedInputTypedDict,
        WorkflowExecutionFailedInputTypedDict,
        WorkflowExecutionCanceledInputTypedDict,
        WorkflowExecutionContinuedAsNewInputTypedDict,
        WorkflowTaskTimedOutInputTypedDict,
        WorkflowTaskFailedInputTypedDict,
        CustomTaskStartedInputTypedDict,
        CustomTaskInProgressInputTypedDict,
        CustomTaskCompletedInputTypedDict,
        CustomTaskFailedInputTypedDict,
        CustomTaskTimedOutInputTypedDict,
        CustomTaskCanceledInputTypedDict,
        ActivityTaskStartedInputTypedDict,
        ActivityTaskCompletedInputTypedDict,
        ActivityTaskRetryingInputTypedDict,
        ActivityTaskFailedInputTypedDict,
    ],
)


WorkflowEventBatchRequestEvent = TypeAliasType(
    "WorkflowEventBatchRequestEvent",
    Union[
        WorkflowExecutionStartedInput,
        WorkflowExecutionCompletedInput,
        WorkflowExecutionFailedInput,
        WorkflowExecutionCanceledInput,
        WorkflowExecutionContinuedAsNewInput,
        WorkflowTaskTimedOutInput,
        WorkflowTaskFailedInput,
        CustomTaskStartedInput,
        CustomTaskInProgressInput,
        CustomTaskCompletedInput,
        CustomTaskFailedInput,
        CustomTaskTimedOutInput,
        CustomTaskCanceledInput,
        ActivityTaskStartedInput,
        ActivityTaskCompletedInput,
        ActivityTaskRetryingInput,
        ActivityTaskFailedInput,
    ],
)


class WorkflowEventBatchRequestTypedDict(TypedDict):
    r"""Request model containing multiple workflow events."""

    events: List[WorkflowEventBatchRequestEventTypedDict]
    r"""List of workflow events to send."""


class WorkflowEventBatchRequest(BaseModel):
    r"""Request model containing multiple workflow events."""

    events: List[WorkflowEventBatchRequestEvent]
    r"""List of workflow events to send."""
