/**
 * OpenRouter Model Catalog
 *
 * Fetches the current list of models from OpenRouter's public `/api/v1/models`
 * endpoint. Results are cached in-process with a short TTL so repeated UI
 * lookups don't hammer the API.
 *
 * OpenRouter allows anonymous access to the catalog — a token is optional but
 * still passed along when available so the response honours the caller's
 * organisation filters.
 *
 * API docs: https://openrouter.ai/docs/api-reference/list-available-models
 */
import type { AgentModelListing } from '../../../../../application/ports/output/agents/agent-executor-factory.interface.js';
type FetchFn = typeof fetch;
export declare class OpenRouterModelCatalogService {
    private readonly fetchFn;
    private cache;
    constructor(fetchFn?: FetchFn);
    listModels(apiKey?: string): Promise<AgentModelListing[]>;
}
export {};
//# sourceMappingURL=openrouter-model-catalog.service.d.ts.map