import type { AgentRuntimeContext } from '../../types/agent/base.js';
import type { AgentContextLevel } from '../../types/agent/factory.js';
import type { AgentPersona } from '../../types/persona/index.js';
import type { Skill } from '../../types/skills/index.js';
import type { ToolRegistryContract } from '../../types/tool/index.js';
export interface PromptSegments {
    /** Layers 1-6: basePrompt, persona identity/expertise/reflexes/skills/outputDiscipline. Stable within a run. */
    readonly static: string;
    /** Layers 7-10: tools, tier guidance, env context, sessionContext. May change per run. */
    readonly dynamic: string;
}
export interface PromptBuilderConfig {
    systemPrompt?: string;
    persona?: AgentPersona;
    skills?: Skill[];
    basePrompt?: string;
    tools: ToolRegistryContract;
    allowedTools?: string[];
    runtimeContext?: AgentRuntimeContext;
}
export declare class PromptBuilder {
    private config;
    constructor(config: PromptBuilderConfig);
    build(contextLevel?: AgentContextLevel, workingDirectory?: string): string;
    buildSegmented(contextLevel?: AgentContextLevel, workingDirectory?: string): PromptSegments;
}
//# sourceMappingURL=prompt.d.ts.map