import { type TemplateVariables, type TemplateProcessingOptions, type PromptContext } from './types.js'; /** * TemplateEngine - Handles variable substitution in prompt templates * * Implements REQ-004: Template Processing requirements * - Supports {{VARIABLE_NAME}} syntax * - Substitutes TOOL_NAME, MODEL, and PROVIDER variables * - Handles malformed templates gracefully * - Logs substitutions when DEBUG=1 (REQ-010.4) */ export declare class TemplateEngine { /** * Process a template string with variable substitution * @param content Template content with {{variables}} * @param variables Map of variable names to values * @param options Optional processing configuration * @returns Processed content with variables substituted */ processTemplate(content: string, variables: TemplateVariables, options?: TemplateProcessingOptions): string; /** * Create template variables from runtime context * @param context Runtime context with provider, model, tools, and environment * @param currentTool Optional current tool being processed * @returns Map of variable names to values */ createVariablesFromContext(context: PromptContext, currentTool?: string | null): TemplateVariables; /** * Load the subagent delegation content from the default file * @returns The content of subagent-delegation.md */ private loadSubagentDelegationContent; /** * Load the async subagent guidance content from the default file * @returns The content of async-subagent-guidance.md */ private loadAsyncSubagentGuidanceContent; /** * Log variable substitution for debugging (when DEBUG=1) * @param variable Variable name being substituted * @param value Value being substituted * @param options Processing options */ private logSubstitution; } export default TemplateEngine;