/**
 * Evaluation Metrics
 *
 * Calculates precision, recall, F1 score, and other metrics
 * from evaluation results.
 *
 * @module eval/metrics
 */
import type { FixtureResult, EvaluationMetrics, StabilityMetrics } from "./types.js";
/**
 * Calculate precision from true positives and false positives
 * Precision = TP / (TP + FP)
 */
export declare function calculatePrecision(truePositives: number, falsePositives: number): number;
/**
 * Calculate recall from true positives and false negatives
 * Recall = TP / (TP + FN)
 */
export declare function calculateRecall(truePositives: number, falseNegatives: number): number;
/**
 * Calculate F1 score from precision and recall
 * F1 = 2 * (precision * recall) / (precision + recall)
 */
export declare function calculateF1Score(precision: number, recall: number): number;
/**
 * Calculate aggregate metrics from fixture results
 */
export declare function calculateMetrics(results: FixtureResult[]): EvaluationMetrics;
/**
 * Calculate stability metrics from multiple runs
 */
export declare function calculateStabilityMetrics(allRuns: FixtureResult[][]): StabilityMetrics;
/**
 * Check if metrics meet target thresholds
 */
export declare function meetsTargets(metrics: EvaluationMetrics, targets?: {
    precision?: number;
    recall?: number;
    f1Score?: number;
}): {
    meetsAll: boolean;
    results: Record<string, {
        target: number;
        actual: number;
        met: boolean;
    }>;
};
/**
 * Format percentage for display
 */
export declare function formatPercent(value: number, decimals?: number): string;
/**
 * Get grade based on score
 */
export declare function getGrade(score: number): string;
//# sourceMappingURL=metrics.d.ts.map