import { OpenRouterCore } from "../core.js";
import { RequestOptions } from "../lib/sdks.js";
import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
import * as errors from "../models/errors/index.js";
import { OpenRouterError } from "../models/errors/openroutererror.js";
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
import * as models from "../models/index.js";
import * as operations from "../models/operations/index.js";
import { APIPromise } from "../types/async.js";
import { Result } from "../types/fp.js";
/**
 * Daily token totals for top 50 models
 *
 * @remarks
 * Returns the top 50 public models per day by total token usage on OpenRouter, plus a
 * single aggregated `other` row per day that sums every model outside that top 50.
 * Token totals are `prompt_tokens + completion_tokens`, matching the public rankings
 * chart on openrouter.ai/rankings.
 *
 * Each row is a distinct `(date, model_permaslug)` pair. The `other` row uses the
 * reserved permaslug `other` and is always returned last within its date, so callers
 * can compute `top-50 traffic / total daily traffic` without a second request.
 *
 * Optional filters slice the dataset. `period` (`day`/`week`/`month`) sets the time
 * grain. `modality` and `context_bucket` narrow the exact dataset by output/input
 * modality (or tool-calling activity) and request context length. `category` and
 * `language_type` instead read a sampled, upsampled dataset whose `total_tokens` are
 * weekly-grain estimates — they cannot be combined with each other or with the exact
 * filters, and reject `period=day` with a 400.
 *
 * Authenticate with any valid OpenRouter API key (same key used for inference).
 * Rate-limited to 30 requests/minute per key and 500 requests/day per account.
 *
 * When republishing or quoting this dataset, OpenRouter must be cited as:
 * "Source: OpenRouter (openrouter.ai/rankings), as of {as_of}."
 *
 * Token counts come from each upstream provider's own tokenizer (Anthropic counts
 * are as reported by Anthropic, OpenAI counts are as reported by OpenAI, etc.), so
 * a token in one row is not directly comparable to a token in another row from a
 * different provider.
 *
 * Licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/): reuse and republish with attribution to OpenRouter.
 */
export declare function datasetsGetRankingsDaily(client: OpenRouterCore, request?: operations.GetRankingsDailyRequest | undefined, options?: RequestOptions): APIPromise<Result<models.RankingsDailyResponse, errors.BadRequestResponseError | errors.UnauthorizedResponseError | errors.TooManyRequestsResponseError | errors.InternalServerResponseError | OpenRouterError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=datasetsGetRankingsDaily.d.ts.map