import type { ServiceContext } from "../ServiceContext.js";
import { PromptMixin } from "../prompts/Mixin.js";
import type { CorrectnessSystemPrompt } from "./prompts.js";
import type { BaseEvaluator, EvaluationResult, EvaluatorParams, EvaluatorResponseParams } from "./types.js";
type CorrectnessParams = {
    serviceContext?: ServiceContext;
    scoreThreshold?: number;
    parserFunction?: (str: string) => [number, string];
};
/** Correctness Evaluator */
export declare class CorrectnessEvaluator extends PromptMixin implements BaseEvaluator {
    private scoreThreshold;
    private parserFunction;
    private llm;
    private correctnessPrompt;
    constructor(params?: CorrectnessParams);
    _updatePrompts(prompts: {
        correctnessPrompt: CorrectnessSystemPrompt;
    }): void;
    /**
     *
     * @param query Query to evaluate
     * @param response  Response to evaluate
     * @param contexts Array of contexts
     * @param reference  Reference response
     */
    evaluate({ query, response, contexts, reference, }: EvaluatorParams): Promise<EvaluationResult>;
    /**
     * @param query Query to evaluate
     * @param response  Response to evaluate
     */
    evaluateResponse({ query, response, }: EvaluatorResponseParams): Promise<EvaluationResult>;
}
export {};
