import type { Tool } from "@modelcontextprotocol/server"; import type { ToolResult } from '../types.js'; export interface TemplateParam { name: string; type: string; default: string; } export interface CodeTemplate { id: string; name: string; description: string; relatedRules: string[]; params: TemplateParam[]; generate: (params: Record) => string; verifiedGodotVersion: string; lastVerified: string; tags?: string[]; appliesTo?: string[]; } export declare const TEMPLATES: CodeTemplate[]; interface ScaffoldTemplate { scenes: string[]; scripts: string[]; mainScene: string; } export declare const PROJECT_TEMPLATES: Record; interface ScaffoldFile { path: string; content: string; } export declare function getScaffoldFiles(templateName: string, projectName: string): ScaffoldFile[]; interface ArchTemplate { id: string; name: string; description: string; params: TemplateParam[]; generate: (params: Record) => string; } export declare const ARCHITECTURE_TEMPLATES: Record; export declare function getTemplateSuggestion(ruleId: string): string | null; /** 加载项目 .mcp-templates/ 目录下的用户模板 */ export declare function loadUserTemplates(projectPath: string): CodeTemplate[]; /** 渲染模板变量 — 供 MCP 工具使用 */ export declare function renderTemplate(code: string, variables: Record): string; /** 获取所有模板(内置 + 架构模式 + 用户) */ export declare function getAllTemplates(projectPath?: string): CodeTemplate[]; export declare function getToolDefinitions(): Tool[]; /** 供 project 模块合并调用(v0.18.0 action 路由统一) */ export declare function handleTemplateAction(action: string, args: Record, ctx: unknown): Promise; export declare function handleTool(name: string, args: Record, _ctx: unknown): Promise; export {};