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

from __future__ import annotations
from .v3_incidents_postmortems_postmortemattachmentrequest import (
    V3IncidentsPostmortemsPostmortemAttachmentRequest,
    V3IncidentsPostmortemsPostmortemAttachmentRequestTypedDict,
)
from .v3_incidents_postmortems_postmortemfollowup import (
    V3IncidentsPostmortemsPostmortemFollowUp,
    V3IncidentsPostmortemsPostmortemFollowUpTypedDict,
)
from .v3_incidents_postmortems_postmortemstatus import (
    V3IncidentsPostmortemsPostmortemStatus,
)
from squadcast_sdk.types import BaseModel
from typing import List
from typing_extensions import TypedDict


class V3IncidentsPostmortemsCreatePostmortemRequestTypedDict(TypedDict):
    r"""Request body for creating a new postmortem."""

    owner_id: str
    title: str
    postmortem: str
    status: V3IncidentsPostmortemsPostmortemStatus
    r"""Represents the status of a postmortem."""
    follow_ups: List[V3IncidentsPostmortemsPostmortemFollowUpTypedDict]
    attachments: List[V3IncidentsPostmortemsPostmortemAttachmentRequestTypedDict]


class V3IncidentsPostmortemsCreatePostmortemRequest(BaseModel):
    r"""Request body for creating a new postmortem."""

    owner_id: str

    title: str

    postmortem: str

    status: V3IncidentsPostmortemsPostmortemStatus
    r"""Represents the status of a postmortem."""

    follow_ups: List[V3IncidentsPostmortemsPostmortemFollowUp]

    attachments: List[V3IncidentsPostmortemsPostmortemAttachmentRequest]
