/**
 * slim-report-summary.ts
 *
 * Pure transformer: a full `ScoreSummary` (the shape of `score-summary.json`)
 * into the slim `ReportSummary` that Phase C of D0033 publishes on the
 * Report Content-Lake document. Inlined prose and long arrays are replaced
 * with `id` references to external artifacts (graderJudgments, failureModes,
 * gapReport, traces).
 *
 * **The `id` principle**: every slim reference carries the manifest entry
 * key of the external artifact it points at, produced by the descriptor's
 * own `formatEntryKey(axes)`. Studio looks the id up in `Report.artifactManifest`
 * to get the preview, and hydrates the full payload on drill-down.
 *
 * @see docs/decisions/D0033-unified-run-anchored-artifact-capture.md (§ M7)
 * @see docs/work-items/W0051-report-slim-down-manifest-preview-hooks.json
 */
import type { ReportSummary, ScoreSummary } from "../types/index.js";
/**
 * Transform a full pipeline `ScoreSummary` into its slim Report counterpart.
 *
 * Each of the four heavy fields is reshaped independently; everything else
 * flows through untouched via structural spread. Pure function — the input
 * summary is not mutated.
 *
 * @param mode The evaluation mode (used to populate the `mode` axis on slim
 *             judgment / failure-mode ids). `score-summary.json` carries
 *             the mode in `evaluationMode` but the publisher supplies it
 *             explicitly to keep the helper independent of that field.
 */
export declare function buildSlimReportSummary(summary: ScoreSummary, mode: string): ReportSummary;
