/**
 * Prompt builders for the deep-research-codebase workflow.
 *
 * Each builder produces a focused, single-responsibility prompt for one
 * specialist sub-agent. The sub-agents themselves are dispatched as separate
 * `ctx.stage(...)` calls via the provider SDK's native `agent` parameter
 * (Claude SDK options, Copilot sessionOpts, OpenCode session.prompt). Because
 * each sub-agent already carries a detailed system prompt in `.claude/agents/`,
 * `.opencode/agents/`, and `.github/agents/`, these user-prompts are intentionally
 * short — they only supply the topic, the scope, and the output shape the
 * downstream synthesizer expects.
 *
 * Context-engineering principles applied throughout:
 *
 *   • Position-aware framing: the research question is repeated at the TOP
 *     and BOTTOM of every prompt. Long-context recall is strongest at the
 *     edges of the context window (see `context-fundamentals`).
 *
 *   • Informativity over exhaustiveness: each per-partition prompt embeds
 *     ONLY that partition's directories — never the full file list. This
 *     keeps token cost roughly constant in N rather than O(N²).
 *
 *   • Forward-only data flow: the analyzer prompt embeds the locator's
 *     output verbatim; the online-researcher prompt does the same. No
 *     sub-agent has to re-discover what its sibling already produced.
 *
 *   • Trailing-prose guarantee (failure-modes F6): every prompt asks for a
 *     short prose recap as the final assistant turn so downstream stages
 *     reading via `transcript()` never get an empty string when the agent
 *     ends on a tool call.
 *
 *   • Documentarian framing: every prompt explicitly forbids critique or
 *     improvement suggestions. We are recording what EXISTS.
 *
 *   • File-based handoff (filesystem-context skill): explorer findings are
 *     written deterministically to a scratch file by TypeScript (no extra
 *     LLM "synthesizer" stage) and the aggregator reads them by path.
 */
import type { PartitionUnit } from "./scout.ts";
/** Slugify the user's prompt for use in the final research filename. */
export declare function slugifyPrompt(prompt: string): string;
export declare function buildScoutPrompt(opts: {
    question: string;
    tree: string;
    totalLoc: number;
    totalFiles: number;
    explorerCount: number;
    partitionPreview: PartitionUnit[][];
}): string;
/** codebase-locator — find files in the partition relevant to the question. */
export declare function buildLocatorPrompt(opts: {
    question: string;
    partition: PartitionUnit[];
    scoutOverview: string;
    index: number;
    total: number;
}): string;
/** codebase-pattern-finder — surface concrete reusable code patterns. */
export declare function buildPatternFinderPrompt(opts: {
    question: string;
    partition: PartitionUnit[];
    scoutOverview: string;
    index: number;
    total: number;
}): string;
/** codebase-analyzer — document HOW the most relevant impl files work. */
export declare function buildAnalyzerPrompt(opts: {
    question: string;
    partition: PartitionUnit[];
    locatorOutput: string;
    scoutOverview: string;
    index: number;
    total: number;
}): string;
/** codebase-online-researcher — focused external doc fetch when libs are central. */
export declare function buildOnlineResearcherPrompt(opts: {
    question: string;
    partition: PartitionUnit[];
    locatorOutput: string;
    index: number;
    total: number;
}): string;
/** codebase-research-locator — find prior research docs about the topic. */
export declare function buildHistoryLocatorPrompt(opts: {
    question: string;
}): string;
/** codebase-research-analyzer — synthesize insights from located research docs. */
export declare function buildHistoryAnalyzerPrompt(opts: {
    question: string;
    locatorOutput: string;
}): string;
export declare function buildAggregatorPrompt(opts: {
    question: string;
    totalLoc: number;
    totalFiles: number;
    explorerCount: number;
    explorerFiles: {
        index: number;
        scratchPath: string;
        partition: PartitionUnit[];
    }[];
    finalPath: string;
    scoutOverview: string;
    historyOverview: string;
}): string;
//# sourceMappingURL=prompts.d.ts.map