/**
 * system-prompt.ts — assembles the `olam ask` SDK system prompt.
 *
 * The system prompt is the Claude Code preset `append` text: a behavioural
 * contract ("you are olam's built-in assistant…") followed by the bundled
 * knowledge pack. Keeping assembly pure + exported lets the test assert the
 * pack is actually embedded (Rule 9 — a regression that drops the pack would
 * silently degrade every answer to ungrounded guesses).
 */
/** Instruction preamble — the assistant's role + answer discipline. */
export declare const ASK_SYSTEM_PREAMBLE = "You are olam's built-in assistant, answering questions about how to use, set up, and operate olam from its command line.\n\nBehaviour:\n- Answer olam usage / setup / CLI questions concisely and accurately, grounded in the knowledge pack below and \u2014 when available \u2014 the local repo files you can read.\n- Prefer the exact command, config key, or doc path over prose. Show the command the operator should run.\n- If a checkout's local files are available and more current than the pack, trust the files.\n- If you are unsure or the answer isn't covered, say so plainly and point to the most relevant doc (under `docs/`) or command (`olam <cmd> --help`). Do not invent flags, commands, or config keys.\n- Keep answers focused. Use short paragraphs or tight bullet lists. No filler.\n- You are a read-only assistant: never modify files, run mutating commands, or create worlds. If asked to do something destructive, explain the command instead of performing it.";
export interface AssembleSystemPromptInput {
    /** The bundled knowledge pack Markdown string. */
    readonly knowledgePack: string;
    /**
     * Whether `olam ask` is running inside an olam checkout (the SDK can read
     * live repo files). Tunes a single sentence so the model knows whether to
     * lean on local files.
     */
    readonly insideCheckout: boolean;
    /** Absolute repo root when inside a checkout (rendered as a hint). */
    readonly repoRoot?: string;
}
/**
 * Build the full system-prompt `append` text fed to the SDK. Pure + exported
 * so the regression test can assert (a) the preamble is present and (b) the
 * knowledge pack body is embedded verbatim.
 */
export declare function assembleSystemPrompt(input: AssembleSystemPromptInput): string;
//# sourceMappingURL=system-prompt.d.ts.map