import type { Mode } from "../types.js"; export type PromptSectionKind = "safety" | "mode" | "outcome" | "plan" | "scope" | "recovery" | "focus" | "constitution" | "context"; export interface AgentPromptSection { readonly kind: PromptSectionKind; readonly content: string; readonly mandatory?: boolean; } export interface AgentPromptContext { readonly mode: Mode; readonly nativeToolsActive: boolean; readonly sections: readonly AgentPromptSection[]; readonly maxTokens?: number | undefined; } export interface ComposedPrompt { readonly content: string; readonly included: readonly PromptSectionKind[]; readonly omitted: readonly PromptSectionKind[]; readonly estimatedTokens: number; } /** Canonical composer used immediately before every provider request. */ export declare function composeAgentSystemPrompt(ctx: AgentPromptContext): ComposedPrompt;