export type OpenRouterModelEntry = {
    id: string;
    contextLength: number | null;
    maxCompletionTokens: number | null;
    supportedParametersCount: number;
    modality: string | null;
    inferredParamB: number | null;
    createdAtMs: number | null;
};
export type FilteredOpenRouterCatalog = {
    freeModelsAll: OpenRouterModelEntry[];
    freeModelsAgeFiltered: OpenRouterModelEntry[];
    freeModels: OpenRouterModelEntry[];
    ageFilteredIds: string[];
    smallFilteredIds: string[];
};
export declare function fetchOpenRouterCatalog(fetchImpl: typeof fetch): Promise<OpenRouterModelEntry[]>;
export declare function inferParamBFromIdOrName(text: string): number | null;
export declare function parseOpenRouterCatalog(payload: unknown): OpenRouterModelEntry[];
export declare function filterOpenRouterFreeModels(catalog: OpenRouterModelEntry[], { maxAgeDays, minParamB, nowMs, }: {
    maxAgeDays: number;
    minParamB: number;
    nowMs?: number;
}): FilteredOpenRouterCatalog;
export declare function rankOpenRouterModelsForBenchmark(models: OpenRouterModelEntry[]): OpenRouterModelEntry[];
