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

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


class PartDeleteRequestTypedDict(TypedDict):
    number: str
    r"""Part number to delete."""


class PartDeleteRequest(BaseModel):
    number: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]
    r"""Part number to delete."""


class PartDeleteResponseTypedDict(TypedDict):
    r"""Part deleted successfully"""

    id: str
    r"""Unique identifier of the deleted part."""
    deleted_revision_ids: List[str]
    r"""IDs of all revisions that were deleted with the part."""


class PartDeleteResponse(BaseModel):
    r"""Part deleted successfully"""

    id: str
    r"""Unique identifier of the deleted part."""

    deleted_revision_ids: Annotated[
        List[str], pydantic.Field(alias="deletedRevisionIds")
    ]
    r"""IDs of all revisions that were deleted with the part."""
