/**
 * Forgiving pre-parse for analyst findings. Weak models routinely emit
 * schema-correct content in an unusable wrapper — fenced ```json blocks, a
 * single object where an array is expected, trailing commas. Measured: GPT-4o
 * drops to 0% usable output purely from markdown-fence wrapping
 * (arXiv:2605.02363). A five-line de-fence recovers most of it. This module is
 * the de-fence/coerce step that runs BEFORE Zod, so a recoverable finding is
 * repaired, not dropped.
 *
 * Pure + deterministic. No model, no network.
 */
/** Strip a ```lang ... ``` (or bare ``` ... ```) code fence, if the string is one. */
export declare function stripCodeFences(text: string): string;
/**
 * Best-effort parse of a string into JSON. De-fences, drops trailing commas,
 * then `JSON.parse`. Returns `undefined` (never throws) when unrecoverable.
 */
export declare function coerceJson(text: string): unknown;
/**
 * Coerce arbitrary actor/structurer output into an array of candidate finding
 * rows: a JSON string → parse; a single object → 1-element array; an array →
 * as-is; anything else → []. Callers still run each row through Zod
 * (`parseRawFinding`) — this only fixes the SHAPE, never invents fields.
 */
export declare function coerceToFindingRows(raw: unknown): unknown[];
//# sourceMappingURL=parse-tolerant.d.ts.map