import { BaseGrader } from "../baseGrader.js"; import type { Grade, GraderInput, GraderOptions } from "../types.js"; export type Scale = { min: number; max: number; }; export type HumanReviewRequest = { prompt: string; artifact: string; scale?: Scale; }; export type HumanReviewResponse = { rating?: number; pass?: boolean; note?: string; }; export type HumanRead = (request: HumanReviewRequest) => Promise; type HumanGraderOptions = GraderOptions & { prompt?: string; scale?: Scale; read?: HumanRead; }; /** A grader that pauses for a human rating. Configured entirely by constructor settings. */ export declare class HumanGrader extends BaseGrader { protected readonly defaultName = "human"; private readonly humanOptions; constructor(options?: HumanGraderOptions); protected _run({ run }: GraderInput): Promise; } /** Parse a scalar answer: leading number is the rating, the rest is a note. Non-numeric → note only. */ export declare function parseScalarAnswer(answer: string): HumanReviewResponse; /** Parse a binary answer: leading y/n is the verdict, the rest is a note. Otherwise → note only. */ export declare function parseBinaryAnswer(answer: string): HumanReviewResponse; /** Default reader: prompt on the terminal and read one line. Fails fast with no TTY (e.g. CI). */ export declare const terminalRead: HumanRead; export {};