import type { MastraModelConfig } from '@mastra/core/llm';
import type { ScorerRunInputForLLMJudge, ScorerRunOutputForLLMJudge } from '../../utils.js';
export interface AnswerSimilarityOptions {
    requireGroundTruth?: boolean;
    semanticThreshold?: number;
    exactMatchBonus?: number;
    missingPenalty?: number;
    contradictionPenalty?: number;
    extraInfoPenalty?: number;
    scale?: number;
}
export declare const ANSWER_SIMILARITY_DEFAULT_OPTIONS: Required<AnswerSimilarityOptions>;
export declare const ANSWER_SIMILARITY_INSTRUCTIONS = "\nYou are a precise answer similarity evaluator for CI/CD testing. Your role is to compare agent outputs against ground truth answers to ensure consistency and accuracy in automated testing.\n\nKey Principles:\n1. Focus on semantic equivalence, not just string matching\n2. Recognize that different phrasings can convey the same information\n3. Identify missing critical information from the ground truth\n4. Detect contradictions between output and ground truth\n5. Provide actionable feedback for improving answer accuracy\n6. Be strict but fair - partial credit for partial matches\n";
export declare function createAnswerSimilarityScorer({ model, options, }: {
    model: MastraModelConfig;
    options?: AnswerSimilarityOptions;
}): import("@mastra/core/evals").MastraScorer<string, ScorerRunInputForLLMJudge, ScorerRunOutputForLLMJudge, Record<"preprocessStepResult", {
    outputUnits: string[];
    groundTruthUnits: string[];
}> & Record<"analyzeStepResult", {
    matches: {
        groundTruthUnit: string;
        outputUnit: string | null;
        matchType: "exact" | "partial" | "semantic" | "missing";
        explanation: string;
    }[];
    extraInOutput: string[];
    contradictions: {
        outputUnit: string;
        groundTruthUnit: string;
        explanation: string;
    }[];
}> & Record<"generateScoreStepResult", number> & Record<"generateReasonStepResult", string>>;
//# sourceMappingURL=index.d.ts.map