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

from __future__ import annotations
from .status import Status
from lambdadb.types import BaseModel
import pydantic
from typing import Optional
from typing_extensions import Annotated, NotRequired, TypedDict


class ProjectResponseTypedDict(TypedDict):
    id: NotRequired[str]
    r"""Project ID."""
    project_name: NotRequired[str]
    r"""Project name."""
    api_key: NotRequired[str]
    r"""Project API key."""
    rate_limit: NotRequired[float]
    r"""Rate limit."""
    status: NotRequired[Status]
    r"""Status"""


class ProjectResponse(BaseModel):
    id: Optional[str] = None
    r"""Project ID."""

    project_name: Annotated[Optional[str], pydantic.Field(alias="projectName")] = None
    r"""Project name."""

    api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None
    r"""Project API key."""

    rate_limit: Annotated[Optional[float], pydantic.Field(alias="rateLimit")] = None
    r"""Rate limit."""

    status: Optional[Status] = None
    r"""Status"""
