import { BaseGrader } from "../baseGrader.js"; import type { Grade, GraderInput, GraderOptions, Input, JSONPath } from "../types.js"; /** Graders that compare the agent output against a value read from the input. * `matchOn` defaults to the first-class `expected` field. */ type MatchOptions = GraderOptions & { matchOn?: JSONPath; }; /** Shared base for graders that compare the output against a value read from the * input via a `matchOn` JSONPath. Centralizes the constructor, the resolved * match path (default `["expected"]`), the description, and the pre-flight check. */ declare abstract class MatchGrader extends BaseGrader { protected readonly options: MatchOptions; constructor(options: MatchOptions); protected matchPath(): JSONPath; describe(): string; validateInput(input: Input): void; } /** Binary: the agent output deep-equals the referenced value. */ export declare class ExactMatchGrader extends MatchGrader { protected readonly defaultName = "exact-match"; protected _run({ input, run }: GraderInput): Promise; private reference; } /** Binary: the stringified agent output contains the referenced needle. */ export declare class ContainsGrader extends MatchGrader { protected readonly defaultName = "contains"; protected _run({ input, run }: GraderInput): Promise; } /** Scalar: normalized Levenshtein similarity between output and the referenced value. */ export declare class SimilarityGrader extends MatchGrader { protected readonly defaultName = "similarity"; protected _run({ input, run }: GraderInput): Promise; } export {};