/**
 * LLM Evaluation (eval) test runner for LLM interaction testing
 */
import type { EvalsConfig, EvalResult, ServerConfig } from '../../shared/core/types.js';
import type { DisplayManager } from '../../shared/display/DisplayManager.js';
export interface EvalSummary {
    total: number;
    passed: number;
    failed: number;
    duration: number;
    results: EvalResult[];
}
interface EvalServerOptions {
    serverConfig: ServerConfig;
    timeout?: number;
    debug?: boolean;
}
export declare class EvalTestRunner {
    private mcpClient;
    private config;
    private serverOptions;
    private models;
    private llmProvider;
    private displayManager?;
    constructor(config: EvalsConfig, serverOptions: EvalServerOptions, displayManager?: DisplayManager);
    run(): Promise<EvalSummary>;
    private runTest;
    private validateToolCalls;
    private validateToolCallSuccess;
    private hasToolError;
    private getErrorMessage;
    private runResponseScorers;
    private runRegexScorer;
}
export {};
