"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from .v3_workflows_jiracreateticket import (
    V3WorkflowsJiraCreateTicket,
    V3WorkflowsJiraCreateTicketTypedDict,
)
from .v3_workflows_msteamscreatemeetinglink import (
    V3WorkflowsMsTeamsCreateMeetingLink,
    V3WorkflowsMsTeamsCreateMeetingLinkTypedDict,
)
from .v3_workflows_msteamsmessagechannel import (
    V3WorkflowsMsTeamsMessageChannel,
    V3WorkflowsMsTeamsMessageChannelTypedDict,
)
from .v3_workflows_msteamsmessageuser import (
    V3WorkflowsMsTeamsMessageUser,
    V3WorkflowsMsTeamsMessageUserTypedDict,
)
from .v3_workflows_runbookresponse import (
    V3WorkflowsRunbookResponse,
    V3WorkflowsRunbookResponseTypedDict,
)
from .v3_workflows_slackarchivechannel import (
    V3WorkflowsSlackArchiveChannel,
    V3WorkflowsSlackArchiveChannelTypedDict,
)
from .v3_workflows_slackcreateincidentchannel import (
    V3WorkflowsSlackCreateIncidentChannel,
    V3WorkflowsSlackCreateIncidentChannelTypedDict,
)
from .v3_workflows_slackmessagechannel import (
    V3WorkflowsSlackMessageChannel,
    V3WorkflowsSlackMessageChannelTypedDict,
)
from .v3_workflows_slackmessageuser import (
    V3WorkflowsSlackMessageUser,
    V3WorkflowsSlackMessageUserTypedDict,
)
from .v3_workflows_sqaddcommunicationchannel import (
    V3WorkflowsSqAddCommunicationChannel,
    V3WorkflowsSqAddCommunicationChannelTypedDict,
)
from .v3_workflows_sqaddincidentnote import (
    V3WorkflowsSqAddIncidentNote,
    V3WorkflowsSqAddIncidentNoteTypedDict,
)
from .v3_workflows_sqcreatestatuspageissue import (
    V3WorkflowsSqCreateStatusPageIssue,
    V3WorkflowsSqCreateStatusPageIssueTypedDict,
)
from .v3_workflows_sqmakehttpcall import (
    V3WorkflowsSqMakeHTTPCall,
    V3WorkflowsSqMakeHTTPCallTypedDict,
)
from .v3_workflows_sqmarkincidentsloaffecting import (
    V3WorkflowsSqMarkIncidentSLOAffecting,
    V3WorkflowsSqMarkIncidentSLOAffectingTypedDict,
)
from .v3_workflows_sqsendemail import (
    V3WorkflowsSqSendEmail,
    V3WorkflowsSqSendEmailTypedDict,
)
from .v3_workflows_sqtriggermanualwebhook import (
    V3WorkflowsSqTriggerManualWebhook,
    V3WorkflowsSqTriggerManualWebhookTypedDict,
)
from .v3_workflows_updateincidentpriority import (
    V3WorkflowsUpdateIncidentPriority,
    V3WorkflowsUpdateIncidentPriorityTypedDict,
)
from squadcast_sdk.types import BaseModel
from typing import Any, List, Literal, Union
from typing_extensions import TypeAliasType, TypedDict


V3WorkflowsActionResponseName = Literal["sq_attach_runbooks",]


class V3WorkflowsActionResponseDataTypedDict(TypedDict):
    runbooks: List[V3WorkflowsRunbookResponseTypedDict]


class V3WorkflowsActionResponseData(BaseModel):
    runbooks: List[V3WorkflowsRunbookResponse]


class V3WorkflowsActionResponseSqAttachRunbooksTypedDict(TypedDict):
    name: V3WorkflowsActionResponseName
    data: V3WorkflowsActionResponseDataTypedDict


class V3WorkflowsActionResponseSqAttachRunbooks(BaseModel):
    name: V3WorkflowsActionResponseName

    data: V3WorkflowsActionResponseData


V3WorkflowsActionResponseTypedDict = TypeAliasType(
    "V3WorkflowsActionResponseTypedDict",
    Union[
        V3WorkflowsSlackArchiveChannelTypedDict,
        V3WorkflowsMsTeamsCreateMeetingLinkTypedDict,
        V3WorkflowsSlackMessageChannelTypedDict,
        V3WorkflowsSlackMessageUserTypedDict,
        V3WorkflowsSqCreateStatusPageIssueTypedDict,
        V3WorkflowsSqAddIncidentNoteTypedDict,
        V3WorkflowsSqTriggerManualWebhookTypedDict,
        V3WorkflowsSqAddCommunicationChannelTypedDict,
        V3WorkflowsActionResponseSqAttachRunbooksTypedDict,
        V3WorkflowsUpdateIncidentPriorityTypedDict,
        V3WorkflowsSqMakeHTTPCallTypedDict,
        V3WorkflowsSlackCreateIncidentChannelTypedDict,
        V3WorkflowsJiraCreateTicketTypedDict,
        V3WorkflowsMsTeamsMessageChannelTypedDict,
        V3WorkflowsMsTeamsMessageUserTypedDict,
        V3WorkflowsSqSendEmailTypedDict,
        V3WorkflowsSqMarkIncidentSLOAffectingTypedDict,
        Any,
    ],
)


V3WorkflowsActionResponse = TypeAliasType(
    "V3WorkflowsActionResponse",
    Union[
        V3WorkflowsSlackArchiveChannel,
        V3WorkflowsMsTeamsCreateMeetingLink,
        V3WorkflowsSlackMessageChannel,
        V3WorkflowsSlackMessageUser,
        V3WorkflowsSqCreateStatusPageIssue,
        V3WorkflowsSqAddIncidentNote,
        V3WorkflowsSqTriggerManualWebhook,
        V3WorkflowsSqAddCommunicationChannel,
        V3WorkflowsActionResponseSqAttachRunbooks,
        V3WorkflowsUpdateIncidentPriority,
        V3WorkflowsSqMakeHTTPCall,
        V3WorkflowsSlackCreateIncidentChannel,
        V3WorkflowsJiraCreateTicket,
        V3WorkflowsMsTeamsMessageChannel,
        V3WorkflowsMsTeamsMessageUser,
        V3WorkflowsSqSendEmail,
        V3WorkflowsSqMarkIncidentSLOAffecting,
        Any,
    ],
)
