import { type BatchDiagnosisFinding } from './batch-diagnosis-finding.js'; /** * The hard ceiling on the summary that may enter the orchestrator's * window. The same 2 KB the report cap sets for a sub-agent's own final * report: the orchestrator reads N of these, so the cap has to hold per * report and the N has to be small. */ export declare const BATCH_DIAGNOSIS_SUMMARY_MAX_BYTES = 2048; /** The summary's input: which item it is about, and what was found. */ export interface BatchDiagnosisSummaryInput { readonly id: string; readonly label: string; readonly finding: BatchDiagnosisFinding; } /** * Cut a string to a byte budget without splitting a character. * * A cut that lands inside a multi-byte character produces a replacement * character in the summary, which is a fact nobody asked for. */ export declare function truncateToBytes(text: string, maxBytes: number): string; /** * Render the summary the orchestrator's window may hold. * * The shape is three lines under one heading: the conclusion, the file * set, and the sketch. * * @param input - Which item the summary is about, and what was found. * @returns A summary of at most {@link BATCH_DIAGNOSIS_SUMMARY_MAX_BYTES} bytes. */ export declare function buildBatchDiagnosisSummary(input: BatchDiagnosisSummaryInput): string;