import type { GodotRunner } from '../utils/godot-runner.js'; import type { HandlerResult, OperationParams } from '../mcp.types.js'; export declare const projectToolDefinitions: readonly [{ readonly name: "list_projects"; readonly description: "Find Godot projects under a directory by locating project.godot files. Use to discover available projects when the user has not specified one; for inspecting a known project, use check_project. recursive:true descends into subdirectories (skipping hidden ones); default false checks only the directory itself and its immediate children. Returns: [{ path, name }], empty array on no matches."; readonly annotations: { readonly readOnlyHint: true; }; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly directory: { readonly type: "string"; readonly description: "Directory to search for Godot projects"; }; readonly recursive: { readonly type: "boolean"; readonly description: "Whether to search recursively (default: false)"; }; }; readonly required: readonly ["directory"]; }; }, { readonly name: "check_project"; readonly description: "Get project metadata (name, path, Godot version, structure summary) plus an always-present runtime block reporting whether a runtime session is active, its bridge is responsive, and its process is alive. Omit projectPath for just the Godot version and runtime status. Use as the first call before driving a running project. Never errors on the runtime probe itself. Returns: { name?, path?, structure?, godotVersion, runtime }. Errors if projectPath is set but lacks project.godot."; readonly annotations: { readonly readOnlyHint: true; }; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly projectPath: { readonly type: "string"; readonly description: "Path to the Godot project directory (optional - omit to get Godot version and runtime status only)"; }; }; readonly required: readonly []; }; readonly outputSchema: { readonly type: "object"; readonly properties: { readonly name: { readonly type: "string"; }; readonly path: { readonly type: "string"; }; readonly godotVersion: { readonly type: "string"; }; readonly structure: { readonly type: "object"; readonly properties: { readonly scenes: { readonly type: "number"; }; readonly scripts: { readonly type: "number"; }; readonly assets: { readonly type: "number"; }; readonly other: { readonly type: "number"; }; }; }; readonly runtime: { readonly type: "object"; readonly properties: { readonly activeSession: { readonly type: "boolean"; }; readonly sessionMode: { readonly type: "string"; readonly enum: readonly ["spawned", "attached"]; }; readonly projectPath: { readonly type: "string"; }; readonly processExited: { readonly type: "boolean"; }; readonly bridgeResponsive: { readonly type: "boolean"; }; readonly diagnostics: { readonly type: "array"; readonly items: { readonly type: "string"; }; }; }; readonly required: readonly ["activeSession"]; }; }; readonly required: readonly ["godotVersion", "runtime"]; }; }, { readonly name: "get_project_files"; readonly description: "Return a recursive file tree of a Godot project. Use to discover project structure when paths are unknown. Pass extensions to filter (e.g. [\"gd\",\"tscn\"]); maxDepth caps recursion (-1 unlimited). Skips hidden (dot-prefixed) entries and the .mcp directory. Returns: { name, type, path, extension?, children? } (nested tree)."; readonly annotations: { readonly readOnlyHint: true; }; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly projectPath: { readonly type: "string"; readonly description: "Path to the Godot project directory"; }; readonly maxDepth: { readonly type: "number"; readonly description: "Maximum recursion depth. -1 means unlimited (default: -1)"; }; readonly extensions: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "Filter to only these file extensions (e.g. [\"gd\", \"tscn\"]). Omit to include all."; }; }; readonly required: readonly ["projectPath"]; }; }, { readonly name: "search_project"; readonly description: "Plain-text (substring) search across project files. Use to find references, callers, or signatures across the codebase. Default fileTypes is [\"gd\",\"tscn\",\"cs\",\"gdshader\"]; caseSensitive default false; maxResults default 100. Skips hidden entries and the .mcp directory. Returns: matches[] (project-relative file, 1-indexed lineNumber, line text) and truncated:true when maxResults was hit - consider raising it."; readonly annotations: { readonly readOnlyHint: true; }; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly projectPath: { readonly type: "string"; readonly description: "Path to the Godot project directory"; }; readonly pattern: { readonly type: "string"; readonly description: "Plain-text string to search for"; }; readonly fileTypes: { readonly type: "array"; readonly items: { readonly type: "string"; }; readonly description: "File extensions to search (default: [\"gd\", \"tscn\", \"cs\", \"gdshader\"])"; }; readonly caseSensitive: { readonly type: "boolean"; readonly description: "Case-sensitive search (default: false)"; }; readonly maxResults: { readonly type: "number"; readonly description: "Maximum matches to return (default: 100)"; }; }; readonly required: readonly ["projectPath", "pattern"]; }; readonly outputSchema: { readonly type: "object"; readonly properties: { readonly matches: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly file: { readonly type: "string"; }; readonly lineNumber: { readonly type: "number"; }; readonly line: { readonly type: "string"; }; }; }; }; readonly truncated: { readonly type: "boolean"; }; }; }; }, { readonly name: "get_scene_dependencies"; readonly description: "Parse a .tscn file for ext_resource references (scripts, textures, subscenes). Use to inspect what a scene depends on before refactoring or moving files. Returns: the queried scene path and dependencies[] from ext_resource refs (path, type, optional uid). Errors if scene file does not exist."; readonly annotations: { readonly readOnlyHint: true; }; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly projectPath: { readonly type: "string"; readonly description: "Path to the Godot project directory"; }; readonly scenePath: { readonly type: "string"; readonly description: "Path to the .tscn file relative to the project root (e.g. \"scenes/main.tscn\")"; }; }; readonly required: readonly ["projectPath", "scenePath"]; }; readonly outputSchema: { readonly type: "object"; readonly properties: { readonly scene: { readonly type: "string"; }; readonly dependencies: { readonly type: "array"; readonly items: { readonly type: "object"; readonly properties: { readonly path: { readonly type: "string"; }; readonly type: { readonly type: "string"; }; readonly uid: { readonly type: "string"; }; }; }; }; }; }; }, { readonly name: "get_project_settings"; readonly description: "Parse project.godot into structured JSON. Use to inspect configured display, input, rendering, etc. settings without launching Godot. Pass section to filter to one INI section (e.g. \"display\", \"application\"). Returns: { settings: { [section]: { [key]: value } } } or { settings: { [key]: value } } when section is given. Complex Godot types (including multi-line arrays/dicts, e.g. the full \"[input]\" action map) are returned as their complete raw string, not just the first line; keys outside any section appear under __global__."; readonly annotations: { readonly readOnlyHint: true; }; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly projectPath: { readonly type: "string"; readonly description: "Path to the Godot project directory"; }; readonly section: { readonly type: "string"; readonly description: "Filter to a specific INI section (e.g. \"display\", \"application\"). Omit for all sections."; }; }; readonly required: readonly ["projectPath"]; }; }]; export declare function handleListProjects(args: OperationParams): Promise; export declare function handleCheckProject(runner: GodotRunner, args: OperationParams): Promise; export declare function handleGetProjectFiles(args: OperationParams): Promise; export declare function handleSearchProject(args: OperationParams): Promise; export declare function handleGetSceneDependencies(args: OperationParams): Promise; export declare function handleGetProjectSettings(args: OperationParams): Promise; //# sourceMappingURL=project-tools.d.ts.map