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

from __future__ import annotations
from tofupilot.v2.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class PartCreateRequestTypedDict(TypedDict):
    number: str
    r"""Unique identifier number for the part."""
    name: NotRequired[str]
    r"""Human-readable name for the part. If not provided, a default name will be used."""
    revision_number: NotRequired[str]
    r"""Revision identifier for the part version. If not provided, default revision identifier will be used."""


class PartCreateRequest(BaseModel):
    number: str
    r"""Unique identifier number for the part."""

    name: Optional[str] = None
    r"""Human-readable name for the part. If not provided, a default name will be used."""

    revision_number: Optional[str] = None
    r"""Revision identifier for the part version. If not provided, default revision identifier will be used."""


class PartCreateResponseTypedDict(TypedDict):
    r"""Part created successfully"""

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


class PartCreateResponse(BaseModel):
    r"""Part created successfully"""

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