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

from __future__ import annotations
from squadcast_sdk.types import BaseModel
from typing import Literal, Optional
from typing_extensions import NotRequired, TypedDict


V3WorkflowsUpdateIncidentPriorityUpdateName = Literal["sq_update_incident_priority",]


V3WorkflowsUpdateIncidentPriorityUpdatePriority = Literal[
    "P1",
    "P2",
    "P3",
    "P4",
    "P5",
    "UNSET",
]


class V3WorkflowsUpdateIncidentPriorityUpdateDataTypedDict(TypedDict):
    priority: NotRequired[V3WorkflowsUpdateIncidentPriorityUpdatePriority]


class V3WorkflowsUpdateIncidentPriorityUpdateData(BaseModel):
    priority: Optional[V3WorkflowsUpdateIncidentPriorityUpdatePriority] = None


class V3WorkflowsUpdateIncidentPriorityUpdateTypedDict(TypedDict):
    name: V3WorkflowsUpdateIncidentPriorityUpdateName
    data: NotRequired[V3WorkflowsUpdateIncidentPriorityUpdateDataTypedDict]


class V3WorkflowsUpdateIncidentPriorityUpdate(BaseModel):
    name: V3WorkflowsUpdateIncidentPriorityUpdateName

    data: Optional[V3WorkflowsUpdateIncidentPriorityUpdateData] = None
