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

from __future__ import annotations
from .v3_workflows_jiracreateticketupdate import (
    V3WorkflowsJiraCreateTicketUpdate,
    V3WorkflowsJiraCreateTicketUpdateTypedDict,
)
from .v3_workflows_msteamscreatemeetinglinkupdate import (
    V3WorkflowsMsTeamsCreateMeetingLinkUpdate,
    V3WorkflowsMsTeamsCreateMeetingLinkUpdateTypedDict,
)
from .v3_workflows_msteamsmessagechannelupdate import (
    V3WorkflowsMsTeamsMessageChannelUpdate,
    V3WorkflowsMsTeamsMessageChannelUpdateTypedDict,
)
from .v3_workflows_msteamsmessageuserupdate import (
    V3WorkflowsMsTeamsMessageUserUpdate,
    V3WorkflowsMsTeamsMessageUserUpdateTypedDict,
)
from .v3_workflows_slackarchivechannelupdate import (
    V3WorkflowsSlackArchiveChannelUpdate,
    V3WorkflowsSlackArchiveChannelUpdateTypedDict,
)
from .v3_workflows_slackcreateincidentchannelupdate import (
    V3WorkflowsSlackCreateIncidentChannelUpdate,
    V3WorkflowsSlackCreateIncidentChannelUpdateTypedDict,
)
from .v3_workflows_slackmessagechannelupdate import (
    V3WorkflowsSlackMessageChannelUpdate,
    V3WorkflowsSlackMessageChannelUpdateTypedDict,
)
from .v3_workflows_slackmessageuserupdate import (
    V3WorkflowsSlackMessageUserUpdate,
    V3WorkflowsSlackMessageUserUpdateTypedDict,
)
from .v3_workflows_sqaddcommunicationchannelupdate import (
    V3WorkflowsSqAddCommunicationChannelUpdate,
    V3WorkflowsSqAddCommunicationChannelUpdateTypedDict,
)
from .v3_workflows_sqaddincidentnoteupdate import (
    V3WorkflowsSqAddIncidentNoteUpdate,
    V3WorkflowsSqAddIncidentNoteUpdateTypedDict,
)
from .v3_workflows_sqcreatestatuspageissueupdate import (
    V3WorkflowsSqCreateStatusPageIssueUpdate,
    V3WorkflowsSqCreateStatusPageIssueUpdateTypedDict,
)
from .v3_workflows_sqmakehttpcallupdate import (
    V3WorkflowsSqMakeHTTPCallUpdate,
    V3WorkflowsSqMakeHTTPCallUpdateTypedDict,
)
from .v3_workflows_sqmarkincidentsloaffectingupdate import (
    V3WorkflowsSqMarkIncidentSLOAffectingUpdate,
    V3WorkflowsSqMarkIncidentSLOAffectingUpdateTypedDict,
)
from .v3_workflows_sqsendemailupdate import (
    V3WorkflowsSqSendEmailUpdate,
    V3WorkflowsSqSendEmailUpdateTypedDict,
)
from .v3_workflows_sqtriggermanualwebhookupdate import (
    V3WorkflowsSqTriggerManualWebhookUpdate,
    V3WorkflowsSqTriggerManualWebhookUpdateTypedDict,
)
from .v3_workflows_updateincidentpriorityupdate import (
    V3WorkflowsUpdateIncidentPriorityUpdate,
    V3WorkflowsUpdateIncidentPriorityUpdateTypedDict,
)
from squadcast_sdk.types import BaseModel
from typing import Any, List, Literal, Optional, Union
from typing_extensions import NotRequired, TypeAliasType, TypedDict


V3WorkflowsActionRequestUpdateName = Literal["sq_attach_runbooks",]


class V3WorkflowsActionRequestUpdateDataTypedDict(TypedDict):
    runbooks: NotRequired[List[str]]


class V3WorkflowsActionRequestUpdateData(BaseModel):
    runbooks: Optional[List[str]] = None


class V3WorkflowsActionRequestUpdateSqAttachRunbooksTypedDict(TypedDict):
    name: V3WorkflowsActionRequestUpdateName
    data: NotRequired[V3WorkflowsActionRequestUpdateDataTypedDict]


class V3WorkflowsActionRequestUpdateSqAttachRunbooks(BaseModel):
    name: V3WorkflowsActionRequestUpdateName

    data: Optional[V3WorkflowsActionRequestUpdateData] = None


V3WorkflowsActionRequestUpdateTypedDict = TypeAliasType(
    "V3WorkflowsActionRequestUpdateTypedDict",
    Union[
        V3WorkflowsSlackArchiveChannelUpdateTypedDict,
        V3WorkflowsMsTeamsCreateMeetingLinkUpdateTypedDict,
        V3WorkflowsSlackMessageChannelUpdateTypedDict,
        V3WorkflowsSlackMessageUserUpdateTypedDict,
        V3WorkflowsSqCreateStatusPageIssueUpdateTypedDict,
        V3WorkflowsSqAddIncidentNoteUpdateTypedDict,
        V3WorkflowsSqTriggerManualWebhookUpdateTypedDict,
        V3WorkflowsSqAddCommunicationChannelUpdateTypedDict,
        V3WorkflowsActionRequestUpdateSqAttachRunbooksTypedDict,
        V3WorkflowsUpdateIncidentPriorityUpdateTypedDict,
        V3WorkflowsSqMakeHTTPCallUpdateTypedDict,
        V3WorkflowsSlackCreateIncidentChannelUpdateTypedDict,
        V3WorkflowsJiraCreateTicketUpdateTypedDict,
        V3WorkflowsMsTeamsMessageChannelUpdateTypedDict,
        V3WorkflowsMsTeamsMessageUserUpdateTypedDict,
        V3WorkflowsSqSendEmailUpdateTypedDict,
        V3WorkflowsSqMarkIncidentSLOAffectingUpdateTypedDict,
        Any,
    ],
)


V3WorkflowsActionRequestUpdate = TypeAliasType(
    "V3WorkflowsActionRequestUpdate",
    Union[
        V3WorkflowsSlackArchiveChannelUpdate,
        V3WorkflowsMsTeamsCreateMeetingLinkUpdate,
        V3WorkflowsSlackMessageChannelUpdate,
        V3WorkflowsSlackMessageUserUpdate,
        V3WorkflowsSqCreateStatusPageIssueUpdate,
        V3WorkflowsSqAddIncidentNoteUpdate,
        V3WorkflowsSqTriggerManualWebhookUpdate,
        V3WorkflowsSqAddCommunicationChannelUpdate,
        V3WorkflowsActionRequestUpdateSqAttachRunbooks,
        V3WorkflowsUpdateIncidentPriorityUpdate,
        V3WorkflowsSqMakeHTTPCallUpdate,
        V3WorkflowsSlackCreateIncidentChannelUpdate,
        V3WorkflowsJiraCreateTicketUpdate,
        V3WorkflowsMsTeamsMessageChannelUpdate,
        V3WorkflowsMsTeamsMessageUserUpdate,
        V3WorkflowsSqSendEmailUpdate,
        V3WorkflowsSqMarkIncidentSLOAffectingUpdate,
        Any,
    ],
)
