import type { DiscoveredEval } from "./discovery.js"; import type { EvalModelComparison, EvalModelComparisonOptions, EvalReport, EvalReportComparison, EvalReportComparisonPolicy, EvalReportExportConfig, EvalRunProvenance } from "./types.js"; type CliEvalSummary = { runId: string; evalId: string; target: string; records: number; passed: number; failed: number; passRate: number; metrics: EvalReport["summary"]["metrics"]; }; type EvalArtifactPaths = { directory: string; summary: string; results: string; reportMarkdown: string; }; type EvalModelArtifactPaths = EvalArtifactPaths & { junit: string; }; type EvalModelComparisonArtifactPaths = { directory: string; comparisonJson: string; comparisonMarkdown: string; models: Record; }; type EvalRunReportOutputHints = { reportDirectory: string; reportMarkdown: string; report?: string; junit?: string; baselineWritten?: string; children?: EvalRunReportChildOutputHint[]; models?: EvalRunReportModelOutputHint[]; comparisonJson?: string; comparisonMarkdown?: string; recommendation?: EvalModelComparison["recommendation"]; }; type EvalRunReportChildOutputHint = { kind: "report"; evalId: string; /** Definition name, for CLI headers that read better than the generated eval id. */ name: string; reportDirectory: string; report: EvalReport; } | { kind: "error"; evalId: string; error: string; }; type EvalRunReportModelOutputHint = { model: string; report: EvalReport; }; type EvalRunReportSingleInput = { kind: "single"; projectDir: string; frameworkVersion: string; datasetBase?: string; reportDir?: string; report?: string; junit?: string; baseline?: string; writeBaseline?: string; baselinePolicy?: EvalReportComparisonPolicy; exportConfig?: EvalReportExportConfig; provenance?: EvalRunProvenance; evalItem: DiscoveredEval; targetKind: EvalReport["targetKind"]; target: string; targetAdapter: unknown; selectedModel?: string; maxOutputTokens?: number; }; type EvalRunReportSuiteInput = { kind: "suite"; projectDir: string; frameworkVersion: string; datasetBase?: string; reportDir?: string; junit?: string; exportConfig?: EvalReportExportConfig; provenance?: EvalRunProvenance; evalItems: DiscoveredEval[]; }; type EvalRunReportModelComparisonPolicy = Omit; type EvalRunReportModelComparisonInput = { kind: "model-comparison"; projectDir: string; frameworkVersion: string; datasetBase?: string; reportDir?: string; report?: string; exportConfig?: EvalReportExportConfig; provenance?: EvalRunProvenance; evalItem: DiscoveredEval; target: string; baselineModel: string; candidateModels: string[]; comparisonPolicy?: EvalRunReportModelComparisonPolicy; maxOutputTokens?: number; }; type EvalRunReportInput = EvalRunReportSingleInput | EvalRunReportSuiteInput | EvalRunReportModelComparisonInput; type EvalRunTargetOptions = { baseDir: string; runId: string; frameworkVersion: string; targetKind: EvalReport["targetKind"]; target: string; targetAdapter: unknown; selectedModel?: string; maxOutputTokens?: number; metadata: EvalReport["metadata"]; }; type EvalRunReportTargetAdapters = { runEval(evalItem: DiscoveredEval, options: EvalRunTargetOptions): Promise; createModelTargetAdapter?(model: string): unknown | Promise; resolveTarget?(evalItem: DiscoveredEval): Promise> | Pick; }; type EvalRunReportArtifactAdapters = { readTextFile(path: string): Promise; writeTextFileEnsuringDir(path: string, content: string): Promise; }; type EvalRunReportBillingAdapters = { runWithGatewayBillingGroup(billingGroupId: string, operation: () => Promise): Promise; }; type EvalRunReportExporterAdapters = { exportReport(report: EvalReport, config?: EvalReportExportConfig): Promise; }; type EvalRunReportClock = { now?: () => Date; createSuffix?: () => string; }; type EvalRunReportAdapters = { targets: EvalRunReportTargetAdapters; artifacts: EvalRunReportArtifactAdapters; billing: EvalRunReportBillingAdapters; exporters: EvalRunReportExporterAdapters; clock?: EvalRunReportClock; }; type EvalRunReportOutcome = { kind: "single"; report: EvalReport; summary: CliEvalSummary; baseline?: EvalReportComparison; artifacts: EvalArtifactPaths; exitCode: 0 | 1; outputHints: EvalRunReportOutputHints; } | { kind: "suite"; suite: EvalSuiteSummary; artifacts: EvalSuiteArtifactPaths; exitCode: 0 | 1; outputHints: EvalRunReportOutputHints; } | { kind: "model-comparison"; reports: EvalReport[]; comparison: EvalModelComparison; artifacts: EvalModelComparisonArtifactPaths; exitCode: 0 | 1; outputHints: EvalRunReportOutputHints; }; type EvalSuiteArtifactPaths = { directory: string; summary: string; results: string; reportMarkdown: string; }; type EvalSuiteResult = { id: string; name: string; target: string; status: "passed" | "failed" | "error"; artifacts?: EvalArtifactPaths; summary?: CliEvalSummary; error?: string; }; type EvalSuiteSummary = { kind: "eval-suite-summary"; runId: string; startedAt: string; endedAt: string; total: number; passed: number; failed: number; results: EvalSuiteResult[]; }; export declare function runEvalReport(input: EvalRunReportInput, adapters: EvalRunReportAdapters): Promise; export {}; //# sourceMappingURL=run-report.d.ts.map