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

from __future__ import annotations

import pydantic
from typing_extensions import Annotated, TypedDict

from friendli_core.types import BaseModel


class FileInitUploadRequestTypedDict(TypedDict):
    r"""Initiate file upload request."""

    digest: str
    r"""Digest of the file."""
    name: str
    r"""Name of the file."""
    project_id: str
    r"""ID of the project the file belongs to."""
    size: int
    r"""Size of the file in bytes."""


class FileInitUploadRequest(BaseModel):
    r"""Initiate file upload request."""

    digest: str
    r"""Digest of the file."""

    name: str
    r"""Name of the file."""

    project_id: Annotated[str, pydantic.Field(alias="projectId")]
    r"""ID of the project the file belongs to."""

    size: int
    r"""Size of the file in bytes."""
