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

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


class StepTypedDict(TypedDict):
    content: str
    completed: bool
    completed_at: NotRequired[datetime]


class Step(BaseModel):
    content: str

    completed: bool

    completed_at: Optional[datetime] = None


class V3IncidentsRunbooksRunbookResponseTypedDict(TypedDict):
    incident_id: str
    runbook_id: str
    name: str
    steps: List[StepTypedDict]
    id: NotRequired[str]
    deleted: NotRequired[bool]
    deleted_at: NotRequired[datetime]


class V3IncidentsRunbooksRunbookResponse(BaseModel):
    incident_id: str

    runbook_id: str

    name: str

    steps: List[Step]

    id: Optional[str] = None

    deleted: Optional[bool] = None

    deleted_at: Optional[datetime] = None
