export type Provider = import("../types").Provider; /** * The reducer dispatcher used by `recurse` (and, at build step 5, Family B over `runPlan` results[]). * @param {string} task * @param {any[]} results - The worker/child result values (NOT transcripts — copy-on-return holds upstream). * @param {object} [opts] * @param {Function} [opts.reduce] - A deterministic code-reduce: `({ task, results }) => any`. The §9.1 * aggregation path; takes precedence over `strategy`. * @param {'concat'|'merge'} [opts.strategy='concat'] - Built-in strategy when no `reduce` fn is given. * @param {Provider} [opts.provider] - Required for `merge`. * @param {string|null} [opts.contract] * @param {Function} [opts.onLlmResult] * @param {Function} [opts.policy] * @param {any} [opts.text] - The worker's own synthesized text (Family A), available to a `reduce` fn. * @param {any[]} [opts.children] - The receipts nodes, available to a `reduce` fn. * @param {any} [opts.ctx] * @returns {Promise} */ export function synthesize(task: string, results: any[], opts?: { reduce?: Function | undefined; strategy?: "concat" | "merge" | undefined; provider?: import("../types").Provider | undefined; contract?: string | null | undefined; onLlmResult?: Function | undefined; policy?: Function | undefined; text?: any; children?: any[] | undefined; ctx?: any; }): Promise; /** * Deterministic lossless join — no LLM. The safe default when partials are independent and order-able. * @param {any[]} results * @returns {string} */ export function concatReduce(results: any[]): string; /** * Subjective merge — an ISOLATED Loop (fresh context window, a harsh synthesis persona) combines the partials * into one answer. Use for prose / overlapping-findings synthesis; NEVER for arithmetic (§9.1 → use a * `reduce` fn). Budget visibility: forwards usage to `onLlmResult`. A governance HaltError propagates clean * (the caller decides), mirroring the Evaluator's agentic path. * @param {string} task * @param {any[]} results * @param {{provider: Provider, contract?: string|null, onLlmResult?: Function, policy?: Function}} opts * @returns {Promise} * @throws {HaltError} a governance cap halted the synthesis Loop. */ export function mergeReduce(task: string, results: any[], opts: { provider: Provider; contract?: string | null; onLlmResult?: Function; policy?: Function; }): Promise; export const MERGE_PROMPT: string;