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

from __future__ import annotations
from .activitytaskcompletedrequest import (
    ActivityTaskCompletedRequest,
    ActivityTaskCompletedRequestTypedDict,
)
from .activitytaskfailedrequest import (
    ActivityTaskFailedRequest,
    ActivityTaskFailedRequestTypedDict,
)
from .activitytaskretryingrequest import (
    ActivityTaskRetryingRequest,
    ActivityTaskRetryingRequestTypedDict,
)
from .activitytaskstartedrequest import (
    ActivityTaskStartedRequest,
    ActivityTaskStartedRequestTypedDict,
)
from .customtaskcanceledrequest import (
    CustomTaskCanceledRequest,
    CustomTaskCanceledRequestTypedDict,
)
from .customtaskcompletedrequest import (
    CustomTaskCompletedRequest,
    CustomTaskCompletedRequestTypedDict,
)
from .customtaskfailedrequest import (
    CustomTaskFailedRequest,
    CustomTaskFailedRequestTypedDict,
)
from .customtaskinprogressrequest import (
    CustomTaskInProgressRequest,
    CustomTaskInProgressRequestTypedDict,
)
from .customtaskstartedrequest import (
    CustomTaskStartedRequest,
    CustomTaskStartedRequestTypedDict,
)
from .customtasktimedoutrequest import (
    CustomTaskTimedOutRequest,
    CustomTaskTimedOutRequestTypedDict,
)
from .workflowexecutioncanceledrequest import (
    WorkflowExecutionCanceledRequest,
    WorkflowExecutionCanceledRequestTypedDict,
)
from .workflowexecutioncompletedrequest import (
    WorkflowExecutionCompletedRequest,
    WorkflowExecutionCompletedRequestTypedDict,
)
from .workflowexecutioncontinuedasnewrequest import (
    WorkflowExecutionContinuedAsNewRequest,
    WorkflowExecutionContinuedAsNewRequestTypedDict,
)
from .workflowexecutionfailedrequest import (
    WorkflowExecutionFailedRequest,
    WorkflowExecutionFailedRequestTypedDict,
)
from .workflowexecutionstartedrequest import (
    WorkflowExecutionStartedRequest,
    WorkflowExecutionStartedRequestTypedDict,
)
from .workflowtaskfailedrequest import (
    WorkflowTaskFailedRequest,
    WorkflowTaskFailedRequestTypedDict,
)
from .workflowtasktimedoutrequest import (
    WorkflowTaskTimedOutRequest,
    WorkflowTaskTimedOutRequestTypedDict,
)
from mistralai.client.types import BaseModel
from typing import List, Union
from typing_extensions import TypeAliasType, TypedDict


WorkflowEventBatchRequestEventTypedDict = TypeAliasType(
    "WorkflowEventBatchRequestEventTypedDict",
    Union[
        WorkflowExecutionStartedRequestTypedDict,
        WorkflowExecutionCompletedRequestTypedDict,
        WorkflowExecutionFailedRequestTypedDict,
        WorkflowExecutionCanceledRequestTypedDict,
        WorkflowExecutionContinuedAsNewRequestTypedDict,
        WorkflowTaskTimedOutRequestTypedDict,
        WorkflowTaskFailedRequestTypedDict,
        CustomTaskStartedRequestTypedDict,
        CustomTaskInProgressRequestTypedDict,
        CustomTaskCompletedRequestTypedDict,
        CustomTaskFailedRequestTypedDict,
        CustomTaskTimedOutRequestTypedDict,
        CustomTaskCanceledRequestTypedDict,
        ActivityTaskStartedRequestTypedDict,
        ActivityTaskCompletedRequestTypedDict,
        ActivityTaskRetryingRequestTypedDict,
        ActivityTaskFailedRequestTypedDict,
    ],
)


WorkflowEventBatchRequestEvent = TypeAliasType(
    "WorkflowEventBatchRequestEvent",
    Union[
        WorkflowExecutionStartedRequest,
        WorkflowExecutionCompletedRequest,
        WorkflowExecutionFailedRequest,
        WorkflowExecutionCanceledRequest,
        WorkflowExecutionContinuedAsNewRequest,
        WorkflowTaskTimedOutRequest,
        WorkflowTaskFailedRequest,
        CustomTaskStartedRequest,
        CustomTaskInProgressRequest,
        CustomTaskCompletedRequest,
        CustomTaskFailedRequest,
        CustomTaskTimedOutRequest,
        CustomTaskCanceledRequest,
        ActivityTaskStartedRequest,
        ActivityTaskCompletedRequest,
        ActivityTaskRetryingRequest,
        ActivityTaskFailedRequest,
    ],
)


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."""
