/**
 * SystemPromptBuilder — 系统提示词组装器
 *
 * 从 AgentRuntime.js 提取的 Prompt 组装逻辑。
 * 负责:
 *   - 角色定义 (Persona)
 *   - 预加载文件清单注入
 *   - Capability prompt fragments + 动态上下文
 *   - 语言偏好
 *   - 轮次预算注入 (system 源)
 *
 * @module SystemPromptBuilder
 */
import type { Capability } from '../capabilities.js';
/** File cache entry shape */
interface FileCacheEntry {
    name?: string;
    relativePath?: string;
    content?: string;
    language?: string;
}
/** Persona configuration */
interface Persona {
    description?: string;
    [key: string]: unknown;
}
/** Memory configuration */
interface MemoryConfig {
    mode?: string;
    [key: string]: unknown;
}
/** SystemPromptBuilder constructor options */
interface SystemPromptBuilderOptions {
    persona?: Persona | null;
    fileCache?: FileCacheEntry[] | null;
    lang?: string | null;
    memoryConfig?: MemoryConfig | null;
}
/** Budget injection options */
interface BudgetOptions {
    source?: string;
    tracker: unknown;
    budget: {
        maxIterations?: number;
        [key: string]: unknown;
    };
}
export declare class SystemPromptBuilder {
    #private;
    constructor({ persona, fileCache, lang, memoryConfig }?: SystemPromptBuilderOptions);
    /** 更新文件缓存引用 (bootstrap 场景: allFiles 注入后更新) */
    setFileCache(files: FileCacheEntry[] | null): void;
    /**
     * 构建基础系统提示词
     *
     * @param caps 已解析的 Capability 列表
     * @param context 额外上下文
     */
    build(caps: Capability[], context?: Record<string, unknown>): string;
    /**
     * 注入轮次预算 (system 源专用)
     *
     * 先验锚定阶段节奏: 60% 探索 → 80% 验证 → 最后 20% 输出总结
     *
     * @param prompt 基础系统提示词
     * @param opts.source 消息源 (仅 'system' 时注入)
     * @param opts.tracker ExplorationTracker (非 null 时注入)
     * @param opts.budget 预算配置
     * @returns 可能追加了轮次预算段的提示词
     */
    static injectBudget(prompt: string, { source, tracker, budget }: BudgetOptions): string;
}
export {};
