import type { ModelChatOptions, ModelChatResult } from "./types.js";
export declare const defaultOpenRouterModel = "openrouter/auto";
export declare const defaultOpenRouterBaseUrl = "https://openrouter.ai/api/v1";
type OpenRouterRuntimeOptions = {
    maxTokens: number;
    temperature: number;
};
export type OpenRouterTokenRates = {
    inputPerToken: number;
    cachedInputPerToken: number;
    cacheWritePerToken: number;
    outputPerToken: number;
};
export declare class OpenRouterClient {
    private readonly apiKey;
    private readonly baseUrl;
    private readonly runtimeOptions;
    constructor(apiKey?: string, baseUrl?: string, runtimeOptions?: OpenRouterRuntimeOptions);
    chat(options: ModelChatOptions): Promise<ModelChatResult>;
    listModels(): Promise<string[]>;
    private supportsJson;
    private supportsReasoning;
    private fetchOpenRouter;
    private assertConfigured;
}
export declare function readOpenRouterApiKey(env?: NodeJS.ProcessEnv): string;
export declare function isOpenRouterFreeModel(model: string): boolean;
export declare function getOpenRouterModelRates(model: string): Promise<OpenRouterTokenRates | null>;
export {};
