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;
    /**
     * 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;
