"""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, QueryParamMetadata
from typing_extensions import Annotated, TypedDict


class UnitRemoveChildRequestTypedDict(TypedDict):
    serial_number: str
    r"""Serial number of the parent unit"""
    child_serial_number: str
    r"""Serial number of the sub-unit to remove"""


class UnitRemoveChildRequest(BaseModel):
    serial_number: Annotated[
        str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
    ]
    r"""Serial number of the parent unit"""

    child_serial_number: Annotated[
        str, FieldMetadata(query=QueryParamMetadata(style="form", explode=True))
    ]
    r"""Serial number of the sub-unit to remove"""


class UnitRemoveChildResponseTypedDict(TypedDict):
    r"""Child unit removed successfully"""

    id: str
    r"""ID of the updated unit"""


class UnitRemoveChildResponse(BaseModel):
    r"""Child unit removed successfully"""

    id: str
    r"""ID of the updated unit"""
