//#region src/context/TemplateEngine.d.ts
interface TemplateContext {
  [key: string]: unknown;
}
interface TemplateRenderOptions {
  strict?: boolean;
  preserveUnresolved?: boolean;
}
interface PromptRenderOptions extends TemplateRenderOptions {
  runtimeBuiltins?: Record<string, unknown>;
}
declare class TemplateEngine {
  private static readonly DEFAULT_OPTIONS;
  /**
   * Render a template string with context data using JMESPath
   */
  static render(template: string, context: TemplateContext, options?: TemplateRenderOptions): string;
  /**
   * Render an agent prompt with runtime-provided builtins. $-prefixed paths are
   * first resolved against `runtimeBuiltins` via a dotted-path walk; unresolved
   * $-paths fall through to the standard built-in dispatch.
   */
  static renderPrompt(template: string, context: TemplateContext, options?: PromptRenderOptions): string;
  private static renderInternal;
  /**
   * Process variable substitutions {{variable.path}} using JMESPath
   */
  private static processVariables;
  /**
   * Walk a dotted `$`-prefix path against runtime-provided builtins. Returns
   * the stringified value if found and non-null, or undefined to signal
   * fall-through to the default built-in dispatch.
   */
  private static resolveRuntimeBuiltin;
  /**
   * Process built-in variables like $env, etc.
   */
  private static processBuiltinVariable;
  /**
   * Check if template contains template variables
   */
  private static hasTemplateVariables;
  /**
   * Extract all template variables from a template
   */
  private static extractTemplateVariables;
  /**
   * Validate template syntax
   */
  static validateTemplate(template: string): {
    valid: boolean;
    errors: string[];
  };
  /**
   * Preview template rendering with sample context
   */
  static preview(template: string, sampleContext: TemplateContext, options?: TemplateRenderOptions): {
    rendered: string;
    variables: string[];
    errors: string[];
  };
}
//#endregion
export { PromptRenderOptions, TemplateContext, TemplateEngine, TemplateRenderOptions };