import type { LlmClient } from "./llm.js";
import { type McpDependency } from "./mcp-detector.js";
export type ComparisonProgressCallback = (phase: string, message: string) => void;
export interface ComparisonOutput {
    skillOutput: string;
    skillDurationMs: number;
    skillTokens: number | null;
    baselineOutput: string;
    baselineDurationMs: number;
    baselineTokens: number | null;
}
export interface ComparisonScore {
    contentScoreA: number;
    structureScoreA: number;
    contentScoreB: number;
    structureScoreB: number;
    winner: "first" | "second" | "tie";
}
export interface ComparisonResult {
    prompt: string;
    skillOutput: string;
    skillDurationMs: number;
    skillTokens: number | null;
    baselineOutput: string;
    baselineDurationMs: number;
    baselineTokens: number | null;
    skillContentScore: number;
    skillStructureScore: number;
    baselineContentScore: number;
    baselineStructureScore: number;
    winner: "skill" | "baseline" | "tie";
}
export declare function generateComparisonOutputs(prompt: string, skillContent: string, client: LlmClient, onProgress?: ComparisonProgressCallback, options?: {
    parallel?: boolean;
}): Promise<ComparisonOutput>;
export declare function scoreComparison(outputA: string, outputB: string, prompt: string, client: LlmClient, mcpDeps?: McpDependency[]): Promise<ComparisonScore>;
export declare function runComparison(prompt: string, skillContent: string, client: LlmClient, onProgress?: ComparisonProgressCallback): Promise<ComparisonResult>;
