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

from __future__ import annotations
from .common_v3_entityowner import CommonV3EntityOwner, CommonV3EntityOwnerTypedDict
from .common_v3_rbacowner import CommonV3RBACOwner, CommonV3RBACOwnerTypedDict
from .v3_runbooks_step import V3RunbooksStep, V3RunbooksStepTypedDict
from .v3_runbooks_updationinfo import (
    V3RunbooksUpdationInfo,
    V3RunbooksUpdationInfoTypedDict,
)
from squadcast_sdk.types import BaseModel
from typing import List
from typing_extensions import TypedDict


class V3RunbooksRunbookResponseTypedDict(TypedDict):
    r"""Represents a Runbook in the system."""

    id: str
    r"""The unique identifier for the runbook."""
    name: str
    r"""The name of the runbook."""
    created: V3RunbooksUpdationInfoTypedDict
    r"""Information about when the runbook was created."""
    updated: V3RunbooksUpdationInfoTypedDict
    r"""Information about when the runbook was last updated."""
    used_count: int
    r"""The number of times this runbook has been used."""
    steps: List[V3RunbooksStepTypedDict]
    r"""The steps that make up the runbook."""
    entity_owner: CommonV3EntityOwnerTypedDict
    r"""The owner of the entity."""
    organization_id: str
    r"""The ID of the organization this runbook belongs to."""
    owner: CommonV3RBACOwnerTypedDict
    r"""The RBAC owner of the runbook (typically a team)."""


class V3RunbooksRunbookResponse(BaseModel):
    r"""Represents a Runbook in the system."""

    id: str
    r"""The unique identifier for the runbook."""

    name: str
    r"""The name of the runbook."""

    created: V3RunbooksUpdationInfo
    r"""Information about when the runbook was created."""

    updated: V3RunbooksUpdationInfo
    r"""Information about when the runbook was last updated."""

    used_count: int
    r"""The number of times this runbook has been used."""

    steps: List[V3RunbooksStep]
    r"""The steps that make up the runbook."""

    entity_owner: CommonV3EntityOwner
    r"""The owner of the entity."""

    organization_id: str
    r"""The ID of the organization this runbook belongs to."""

    owner: CommonV3RBACOwner
    r"""The RBAC owner of the runbook (typically a team)."""
