"""Pydantic models for the T API (generated by clientsmith, do not edit)."""

from __future__ import annotations

from typing import Annotated

from pydantic import BaseModel, ConfigDict, Field


class Limits(BaseModel):
    model_config = ConfigDict(populate_by_name=True, protected_namespaces=())

    count: int | None = Field(default=None, ge=1, le=10)
    score: float | None = Field(default=None, gt=0, lt=100)
    ratio: float | None = Field(default=None, gt=0, multiple_of=0.5)
    code: str | None = Field(
        default=None, min_length=2, max_length=4, pattern="^[A-Z]+$"
    )
    tags: list[str] | None = Field(default=None, min_length=1, max_length=3)


ShortName = Annotated[str, Field(max_length=8)]

Limits.model_rebuild()

__all__ = [
    "Limits",
    "ShortName",
]
