/**
 * 通用模板引擎
 *
 * 提供动态模板渲染能力，支持：
 * - ${variable} 变量替换
 * - ${obj.prop} 嵌套属性访问
 * - ${condition ? "trueValue" : "falseValue"} 条件表达式
 *
 * @example
 * ```typescript
 * import { renderTemplate } from '@ai-assistant/core/template';
 *
 * const context = { name: 'World', count: 42 };
 * const result = renderTemplate('Hello ${name}, count is ${count}', context);
 * // => "Hello World, count is 42"
 * ```
 */

// 类型导出
export type {
  TemplateContext,
  Template,
  RenderOptions,
  // Agent 特定类型
  PromptContext,
  PromptTemplate,
  ToolNameMapping,
  PlanModeContext,
  EnvContext,
  AgentContext,
} from './types.js';

// 渲染器导出
export {
  // 通用模板渲染
  renderTemplate,
  render,
  // Agent 特定函数
  renderPromptTemplate,
  renderPrompt,
  createDefaultContext,
  createPlanContext,
  createToolDescriptionContext,
  checkPlanFileExists,
  DEFAULT_TOOL_NAMES,
} from './renderer.js';
