import { Model } from "./types.js";
export declare class ModelRegistry {
    private static models;
    static find(modelId: string, provider?: string): Model | undefined;
    /**
     * Add or update models in the registry.
     */
    static save(models: Model | Model[]): void;
    /**
     * Get all available models.
     */
    static all(): Model[];
    /**
     * Get output tokens limit for a model.
     */
    static getMaxOutputTokens(modelId: string, provider: string): number | undefined;
    /**
     * Check if a model supports a capability.
     */
    static supports(modelId: string, capability: string, provider: string): boolean;
    /**
     * Get context window size.
     */
    static getContextWindow(modelId: string, provider: string): number | undefined;
    /**
     * Calculate cost for usage.
     */
    static calculateCost(usage: {
        input_tokens: number;
        output_tokens: number;
        total_tokens: number;
        cached_tokens?: number;
        reasoning_tokens?: number;
    }, modelId: string, provider: string): {
        input_tokens: number;
        output_tokens: number;
        total_tokens: number;
        cached_tokens?: number;
        reasoning_tokens?: number;
    } | {
        input_cost: number;
        output_cost: number;
        cost: number;
        input_tokens: number;
        output_tokens: number;
        total_tokens: number;
        cached_tokens?: number;
        reasoning_tokens?: number;
    };
}
//# sourceMappingURL=ModelRegistry.d.ts.map