/**
 * Model Router for NeuroLink Orchestration
 * Routes tasks to optimal models based on classification and requirements
 */
import type { ModelRoute, ModelRoutingOptions } from "../types/index.js";
/**
 * Model configurations for different task types and providers
 */
declare const MODEL_CONFIGS: {
    readonly fast: {
        readonly primary: {
            readonly provider: "vertex";
            readonly model: "gemini-2.5-flash";
            readonly capabilities: readonly ["speed", "general", "code", "basic-reasoning"];
            readonly avgResponseTime: 800;
            readonly costPerToken: 0.0001;
            readonly reasoning: "Optimized for speed and efficiency via Vertex AI";
        };
        readonly fallback: {
            readonly provider: "vertex";
            readonly model: "claude-haiku-4-5@20251001";
            readonly capabilities: readonly ["speed", "general", "basic-reasoning"];
            readonly avgResponseTime: 1200;
            readonly costPerToken: 0.0002;
            readonly reasoning: "Vertex AI Claude Haiku fallback";
        };
    };
    readonly reasoning: {
        readonly primary: {
            readonly provider: "vertex";
            readonly model: "claude-sonnet-4-5@20250929";
            readonly capabilities: readonly ["reasoning", "analysis", "complex-logic", "code", "creativity"];
            readonly avgResponseTime: 3000;
            readonly costPerToken: 0.003;
            readonly reasoning: "Advanced reasoning and analysis via Claude Sonnet 4-5 on Vertex AI";
        };
        readonly fallback: {
            readonly provider: "vertex";
            readonly model: "claude-opus-4-5@20251101";
            readonly capabilities: readonly ["reasoning", "analysis", "complex-logic", "code", "creativity", "agentic"];
            readonly avgResponseTime: 4000;
            readonly costPerToken: 0.005;
            readonly reasoning: "Claude Opus 4-5 fallback on Vertex AI for most complex tasks";
        };
    };
};
/**
 * Model Router
 * Intelligently routes tasks to optimal models based on classification
 */
export declare class ModelRouter {
    /**
     * Route a prompt to the optimal model configuration
     */
    static route(prompt: string, options?: ModelRoutingOptions): ModelRoute;
    /**
     * Get fallback route if primary route fails
     */
    static getFallbackRoute(prompt: string, primaryRoute: ModelRoute, options?: ModelRoutingOptions): ModelRoute;
    /**
     * Determine task type from a model route
     */
    private static getTaskTypeFromRoute;
    /**
     * Get all available model configurations
     */
    static getAvailableModels(): typeof MODEL_CONFIGS;
    /**
     * Validate model availability for a given route
     */
    static validateRoute(route: ModelRoute): Promise<boolean>;
    /**
     * Get routing statistics for multiple prompts
     */
    static getRoutingStats(prompts: string[]): {
        total: number;
        fastRoutes: number;
        reasoningRoutes: number;
        averageConfidence: number;
        providerDistribution: Record<string, number>;
    };
    /**
     * Estimate cost and performance for a route
     */
    static getRouteEstimates(route: ModelRoute, estimatedTokens?: number): {
        estimatedCost: number;
        estimatedResponseTime: number;
        capabilities: string[];
    };
}
export {};
