import type { EvalAnswerGroundednessMetricOptions, EvalKnowledgeCitationMetricOptions, EvalKnowledgeMrrMetricOptions, EvalKnowledgeRetrievalMetricOptions, EvalMetric, EvalToolCallCountOptions, EvalToolCallMatchOptions } from "./types.js"; type JudgeRubricInput = { rubric: string; judge?: (input: { rubric: string; input: unknown; output: Record; reference?: unknown; metadata: Record; }) => Promise<{ score: number; pass?: boolean; explanation?: string; }>; }; declare function getOutputText(output: unknown): string; declare function stableStringify(value: unknown): string; /** Metric factories for deterministic answers, agent behavior, operations, and judges. */ export declare const metrics: { readonly answer: { readonly exactMatch: () => EvalMetric; readonly contains: (options: { text: string; caseSensitive?: boolean; }) => EvalMetric; readonly regex: (options: { pattern: string; flags?: string; }) => EvalMetric; readonly jsonMatch: (options?: { expected?: unknown; }) => EvalMetric; readonly groundedness: (options?: EvalAnswerGroundednessMetricOptions) => EvalMetric; }; readonly agent: { readonly noFailedTools: () => EvalMetric; readonly calledTool: (name: string, options?: EvalToolCallMatchOptions) => EvalMetric; readonly notCalledTool: (name: string) => EvalMetric; readonly toolCallCount: (name: string, options: EvalToolCallCountOptions) => EvalMetric; }; readonly knowledge: { readonly recallAtK: (options: EvalKnowledgeRetrievalMetricOptions) => EvalMetric; readonly precisionAtK: (options: EvalKnowledgeRetrievalMetricOptions) => EvalMetric; readonly mrr: (options: EvalKnowledgeMrrMetricOptions) => EvalMetric; readonly citationPrecision: (options?: EvalKnowledgeCitationMetricOptions) => EvalMetric; readonly citationRecall: (options?: EvalKnowledgeCitationMetricOptions) => EvalMetric; }; readonly ops: { readonly latency: (options: { maxMs: number; }) => EvalMetric; readonly tokens: (options: { maxTotal?: number; maxInput?: number; maxOutput?: number; }) => EvalMetric; readonly cost: (options: { maxUsd: number; }) => EvalMetric; }; readonly judge: { readonly rubric: (options: JudgeRubricInput) => EvalMetric; }; }; export { getOutputText, stableStringify }; //# sourceMappingURL=metrics.d.ts.map