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

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


V3WorkflowsSqMarkIncidentSLOAffectingUpdateName = Literal[
    "sq_mark_incident_slo_affecting",
]


class V3WorkflowsSqMarkIncidentSLOAffectingUpdateDataTypedDict(TypedDict):
    slis: NotRequired[List[str]]
    slo: NotRequired[int]


class V3WorkflowsSqMarkIncidentSLOAffectingUpdateData(BaseModel):
    slis: Optional[List[str]] = None

    slo: Optional[int] = None


class V3WorkflowsSqMarkIncidentSLOAffectingUpdateTypedDict(TypedDict):
    name: V3WorkflowsSqMarkIncidentSLOAffectingUpdateName
    data: NotRequired[V3WorkflowsSqMarkIncidentSLOAffectingUpdateDataTypedDict]


class V3WorkflowsSqMarkIncidentSLOAffectingUpdate(BaseModel):
    name: V3WorkflowsSqMarkIncidentSLOAffectingUpdateName

    data: Optional[V3WorkflowsSqMarkIncidentSLOAffectingUpdateData] = None
