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

from __future__ import annotations
from .rankingsdailyitem import RankingsDailyItem, RankingsDailyItemTypedDict
from .rankingsdailymeta import RankingsDailyMeta, RankingsDailyMetaTypedDict
from openrouter.types import BaseModel
from typing import List
from typing_extensions import TypedDict


class RankingsDailyResponseTypedDict(TypedDict):
    data: List[RankingsDailyItemTypedDict]
    r"""Up to 51 rows per day — the top 50 public models by `total_tokens` for each UTC calendar date in the window, plus one aggregated `other` row summing every model outside that top 50 (omitted when the long tail is empty). Rows are sorted by `date` ascending, then by `total_tokens` descending, with `other` pinned last within its date. Ties between real models break alphabetically on `model_permaslug` so the order is stable across requests."""
    meta: RankingsDailyMetaTypedDict


class RankingsDailyResponse(BaseModel):
    data: List[RankingsDailyItem]
    r"""Up to 51 rows per day — the top 50 public models by `total_tokens` for each UTC calendar date in the window, plus one aggregated `other` row summing every model outside that top 50 (omitted when the long tail is empty). Rows are sorted by `date` ascending, then by `total_tokens` descending, with `other` pinned last within its date. Ties between real models break alphabetically on `model_permaslug` so the order is stable across requests."""

    meta: RankingsDailyMeta
