"""
Generated by Sideko (sideko.dev)
"""

import typing
import typing_extensions
import pydantic

from .post_v1_lip_sync_body_assets import (
    PostV1LipSyncBodyAssets,
    _SerializerPostV1LipSyncBodyAssets,
)


class PostV1LipSyncBody(typing_extensions.TypedDict):
    """ """

    assets: typing_extensions.Required[PostV1LipSyncBodyAssets]
    end_seconds: typing_extensions.Required[float]
    height: typing_extensions.Required[float]
    name: typing.Optional[str]
    start_seconds: typing_extensions.Required[float]
    width: typing_extensions.Required[float]


class _SerializerPostV1LipSyncBody(pydantic.BaseModel):
    """
    Serializer for PostV1LipSyncBody handling case conversions
    and file omitions as dictated by the API
    """

    model_config = pydantic.ConfigDict(
        populate_by_name=True,
    )

    assets: _SerializerPostV1LipSyncBodyAssets = pydantic.Field(alias="assets")
    end_seconds: float = pydantic.Field(alias="end_seconds")
    height: float = pydantic.Field(alias="height")
    name: typing.Optional[str] = pydantic.Field(alias="name")
    start_seconds: float = pydantic.Field(alias="start_seconds")
    width: float = pydantic.Field(alias="width")
