export declare const MODEL_RATE_LIMIT_FIELDS: readonly ["tpm", "rpm"]; export type ModelRateLimitField = (typeof MODEL_RATE_LIMIT_FIELDS)[number]; export declare const MODEL_RATE_LIMIT_WINDOW_MS = 60000; export type ModelRateLimitInvalidReason = "not-a-number" | "not-finite" | "not-an-integer" | "negative" | "unsafe-integer" | "missing-model-id"; export type ModelRateLimitInvalidFieldReason = Exclude; export interface ModelRateLimitValues { tpm?: number; rpm?: number; } export type ModelRateLimitFieldParse = { ok: true; value: number | undefined; } | { ok: false; reason: ModelRateLimitInvalidFieldReason; }; /** Validates one stored `tpm`/`rpm` value from models.json. */ export declare function parseModelRateLimitStoredValue(value: unknown): ModelRateLimitFieldParse; /** Validates raw dialog input text. Blank clears the field. */ export declare function parseModelRateLimitDraftText(text: string): ModelRateLimitFieldParse; /** Returns only enabled (positive) dimensions; omitted and 0 are absent. */ export declare function modelRateLimitValuesFromEntry(entry: Record): { ok: true; values: ModelRateLimitValues; } | { ok: false; field: ModelRateLimitField; reason: ModelRateLimitInvalidFieldReason; }; /** Stable user-facing message shared by API errors and dialog field errors. */ export declare function modelRateLimitFieldMessage(field: ModelRateLimitField, reason: ModelRateLimitInvalidReason): string; /** Sums terminal usage counters; invalid or missing counters contribute zero. */ export declare function sumModelTerminalTokens(usage: unknown): number;