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

from __future__ import annotations
from tofupilot.v2.types import BaseModel
from tofupilot.v2.utils import FieldMetadata, PathParamMetadata, RequestMetadata
from typing_extensions import Annotated, TypedDict


class ProcedureCreateVersionRequestBodyTypedDict(TypedDict):
    tag: str
    r"""The version tag"""


class ProcedureCreateVersionRequestBody(BaseModel):
    tag: str
    r"""The version tag"""


class ProcedureCreateVersionRequestTypedDict(TypedDict):
    procedure_id: str
    r"""The ID of the procedure this version belongs to"""
    request_body: ProcedureCreateVersionRequestBodyTypedDict


class ProcedureCreateVersionRequest(BaseModel):
    procedure_id: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]
    r"""The ID of the procedure this version belongs to"""

    request_body: Annotated[
        ProcedureCreateVersionRequestBody,
        FieldMetadata(request=RequestMetadata(media_type="application/json")),
    ]


class ProcedureCreateVersionResponseTypedDict(TypedDict):
    r"""Procedure version created successfully"""

    id: str
    r"""Unique identifier for the created procedure version"""


class ProcedureCreateVersionResponse(BaseModel):
    r"""Procedure version created successfully"""

    id: str
    r"""Unique identifier for the created procedure version"""
