/**
 * Maps Bedrock model IDs to their capabilities.
 */
import { ModelPricing } from "../../models/types.js";
type ModelFamily = "claude3_opus" | "claude3_sonnet" | "claude3_haiku" | "claude3_5_haiku" | "claude2" | "claude_instant" | "claude4" | "nova" | "nova2" | "other";
export declare class Capabilities {
    static getModelFamily(modelId: string): ModelFamily;
    static getContextWindow(modelId: string): number | null;
    static getMaxOutputTokens(modelId: string): number | null;
    static supportsChat(modelId: string): boolean;
    static supportsStreaming(modelId: string): boolean;
    static supportsVision(modelId: string): boolean;
    static supportsTools(modelId: string): boolean;
    static supportsJsonMode(modelId: string): boolean;
    static supportsExtendedThinking(modelId: string): boolean;
    static supportsEmbeddings(modelId: string): boolean;
    static supportsImageGeneration(modelId: string): boolean;
    /**
     * Check if a model supports audio input.
     */
    static supportsAudio(_modelId: string): boolean;
    /**
     * Get input modalities for a model.
     */
    static getInputModalities(modelId: string): string[];
    /**
     * Get output modalities for a model.
     */
    static getOutputModalities(_modelId: string): string[];
    /**
     * Get all capabilities for a model.
     */
    static getCapabilities(modelId: string): string[];
    static getPricing(modelId: string): ModelPricing | undefined;
    /**
     * Get input price per million tokens.
     */
    static getInputPrice(modelId: string): number;
    /**
     * Get output price per million tokens.
     */
    static getOutputPrice(modelId: string): number;
    /**
     * Format model ID as display name.
     */
    static formatDisplayName(modelId: string): string;
    private static findModel;
}
export {};
//# sourceMappingURL=Capabilities.d.ts.map