import type { MastraModelConfig } from '@mastra/core/llm';
import type { TracingContext } from '@mastra/core/observability';
import type { ScorerRunInputForLLMJudge, ScorerRunOutputForLLMJudge } from '../../utils.js';
export interface GetContextRun {
    input?: ScorerRunInputForLLMJudge;
    output: ScorerRunOutputForLLMJudge;
    runId?: string;
    requestContext?: Record<string, any>;
    tracingContext?: TracingContext;
}
export interface GetContextParams {
    run: GetContextRun;
    results: Record<string, any>;
    score?: number;
    step: 'analyze' | 'generateReason';
}
export type GetContextFn = (params: GetContextParams) => string[] | Promise<string[]>;
export interface HallucinationMetricOptions {
    scale?: number;
    context?: string[];
    getContext?: GetContextFn;
}
export declare function createHallucinationScorer({ model, options, }: {
    model: MastraModelConfig;
    options?: HallucinationMetricOptions;
}): import("@mastra/core/evals").MastraScorer<string, ScorerRunInputForLLMJudge, ScorerRunOutputForLLMJudge, Record<"preprocessStepResult", {
    claims: string[];
}> & Record<"analyzeStepResult", {
    verdicts: {
        statement: string;
        verdict: string;
        reason: string;
    }[];
}> & Record<"generateScoreStepResult", number> & Record<"generateReasonStepResult", string>>;
//# sourceMappingURL=index.d.ts.map