import type { ToolResult, ToolContext } from '../types.js'; import type { Tool } from '@modelcontextprotocol/server'; export declare function getToolDefinitions(): Tool[]; export declare const TOOL_META: { runtime_assert: { readonly: boolean; long_running: boolean; actionRisks: { node_state: "read"; scene_structure: "read"; screen_text: "read"; perf: "read"; screenshot_diff: "read"; }; }; }; export declare function handleTool(name: string, args: Record, _ctx: ToolContext): Promise; /** node_state: 断言节点属性匹配期望值 * v0.30 起导出:qa 套件的 assert 步骤复用同一实现(防两处逻辑 drift)。返回 JSON 文本 * {success, passed, action, mismatch?},调用方 JSON.parse 判定。 */ export declare function assertNodeState(args: Record): Promise; export declare function assertSceneStructure(args: Record): Promise; /** screen_text: 断言屏幕文本存在/缺席(基于 find_ui_elements 节点匹配,非 OCR)。v0.30 起导出供 qa 复用 */ export declare function assertScreenText(args: Record): Promise; /** perf: 断言性能基线(FPS/内存等)。v0.30 起导出供 qa 复用 */ export declare function assertPerf(args: Record): Promise; /** screenshot_diff: 截图与参考图像素级对比(差异容忍语义)。PR-1a 真实现,导出供 qa 复用。 * 真契约(v0.30 e2e 实测):take_screenshot 把 PNG 存游戏侧 user:// 并返回 {success, path, size}——无 base64。 * 内部参数(schema 不暴露):evidence_path 落 diff 染红图(qa 传报告目录;工具级不传则只回数值)。 */ export declare function assertScreenshotDiff(args: Record): Promise;