import { type EvalCase, type EvalCheck, type EvalRun, type EvalRunStatus } from '../schemas.js'; import type { IdContext } from '../eval-gen/writer.js'; import { type LoopDriver } from './replay.js'; export declare const EVAL_RUN_RUNNER_VERSION = "eval-run@v1"; export declare function generateEvalRunId(cardSlug: string, ctx?: IdContext): string; export interface RunEvalCaseContext { evalRunId: string; now?: () => Date; clockMs?: () => number; resolveFixtureAbsPath?: (relativeFixturePath: string) => string; driveLoop?: LoopDriver; } export declare function runEvalCase(evalCase: EvalCase, ctx: RunEvalCaseContext): Promise; export declare function decideStatus(args: { hasContract: boolean; contractThrew: boolean; checks: EvalCheck[]; replayInconclusive?: boolean; }): EvalRunStatus; export interface WriteEvalRunOutcome { evalRunId: string; jsonPath: string; markdownPath: string; } export declare function writeEvalRun(evalRun: EvalRun): WriteEvalRunOutcome; export declare function renderEvalRunMarkdown(run: EvalRun): string; export interface EvalRunListEntry { evalRunId: string; evalCaseId: string; cardSlug: string; patternId: EvalRun['patternId']; contract: string | null; status: EvalRunStatus; createdAt: string; } export declare function listEvalRuns(): EvalRunListEntry[]; export declare function getEvalRun(evalRunId: string): EvalRun | undefined;