/**
 * Deterministic synthesis of per-partition explorer scratch files.
 *
 * Each partition is investigated by four specialist sub-agents dispatched
 * directly via the provider SDK's `agent` parameter:
 *
 *   - codebase-locator           → file index for the partition
 *   - codebase-pattern-finder    → reusable code patterns in the partition
 *   - codebase-analyzer          → how the most relevant impl files work
 *   - codebase-online-researcher → external library docs (when central)
 *
 * Rather than spawn a fifth "synthesizer" LLM stage just to concatenate four
 * markdown sections, we do that synthesis in plain TypeScript here. This keeps
 * the per-partition cost at exactly four LLM calls and avoids burning tokens
 * on a step whose output is fully determined by its inputs.
 *
 * The file we write is the canonical handoff to the aggregator — it MUST keep
 * the heading shape that buildAggregatorPrompt() promises ("Scope / Files in
 * Scope / How It Works / Patterns / External References / Out-of-Partition
 * References"), or the aggregator will look for sections that don't exist.
 */
import type { PartitionUnit } from "./scout.ts";
export type ExplorerSections = {
    index: number;
    total: number;
    partition: PartitionUnit[];
    /** Full assistant text from the codebase-locator sub-agent. */
    locatorOutput: string;
    /** Full assistant text from the codebase-pattern-finder sub-agent. */
    patternsOutput: string;
    /** Full assistant text from the codebase-analyzer sub-agent. */
    analyzerOutput: string;
    /** Full assistant text from the codebase-online-researcher sub-agent. */
    onlineOutput: string;
};
/** Render the markdown body deterministically. */
export declare function renderExplorerMarkdown(sections: ExplorerSections): string;
/**
 * Write a partition's deterministic scratch file. Returns the absolute path so
 * the caller can record it in the explorer manifest the aggregator reads.
 */
export declare function writeExplorerScratchFile(scratchPath: string, sections: ExplorerSections): Promise<string>;
//# sourceMappingURL=scratch.d.ts.map