import { type ToolName } from "./schemas.js"; import type { CanvasNode, CanvasSnapshot } from "./types.js"; /** 判断传入名称是否为已注册的画布工具。 */ export declare function isToolName(name: unknown): name is ToolName; /** 按工具名称校验并解析调用参数。 */ export declare function parseToolInput(name: ToolName, input: unknown): { path: string; } | { keyword?: string | undefined; page?: number | undefined; pageSize?: number | undefined; } | { nodeIds: string[]; } | { ops: (import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"add_node">; nodeType: import("zod").ZodOptional>; id: import("zod").ZodOptional; title: import("zod").ZodOptional; x: import("zod").ZodOptional; y: import("zod").ZodOptional; width: import("zod").ZodOptional; height: import("zod").ZodOptional; position: import("zod").ZodOptional>; metadata: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"update_node">; id: import("zod").ZodString; patch: import("zod").ZodOptional>; metadata: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"delete_node">; id: import("zod").ZodOptional; ids: import("zod").ZodOptional>; }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"delete_connections">; id: import("zod").ZodOptional; ids: import("zod").ZodOptional>; all: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"connect_nodes">; id: import("zod").ZodOptional; fromNodeId: import("zod").ZodString; toNodeId: import("zod").ZodString; }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"set_viewport">; viewport: import("zod").ZodObject<{ x: import("zod").ZodNumber; y: import("zod").ZodNumber; k: import("zod").ZodNumber; }, "strip", import("zod").ZodTypeAny, { x: number; y: number; k: number; }, { x: number; y: number; k: number; }>; }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"select_nodes">; ids: import("zod").ZodArray; }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectOutputType<{ type: import("zod").ZodLiteral<"run_generation">; nodeId: import("zod").ZodString; mode: import("zod").ZodOptional>; prompt: import("zod").ZodOptional; }, import("zod").ZodTypeAny, "passthrough">)[]; } | { nodeType: "text" | "config" | "image" | "video" | "audio"; title?: string | undefined; x?: number | undefined; y?: number | undefined; width?: number | undefined; height?: number | undefined; metadata?: Record | undefined; } | { attachmentIds: string[]; x?: number | undefined; y?: number | undefined; gap?: number | undefined; direction?: "row" | "column" | undefined; } | { text?: string | undefined; title?: string | undefined; x?: number | undefined; y?: number | undefined; width?: number | undefined; height?: number | undefined; } | { items: { text: string; title?: string | undefined; x?: number | undefined; y?: number | undefined; width?: number | undefined; height?: number | undefined; }[]; x?: number | undefined; y?: number | undefined; gap?: number | undefined; direction?: "row" | "column" | undefined; } | { [x: string]: any; } | { id: string; metadata?: Record | undefined; patch?: Record | undefined; } | { text: string; id: string; title?: string | undefined; } | { items: { id: string; x?: number | undefined; y?: number | undefined; dx?: number | undefined; dy?: number | undefined; }[]; } | { id: string; width: number; height: number; freeResize?: boolean | undefined; } | { ids: string[]; } | { connections: { fromNodeId: string; toNodeId: string; }[]; } | { viewport: { x: number; y: number; k: number; }; } | { nodeId: string; mode?: "text" | "image" | "video" | "audio" | undefined; prompt?: string | undefined; } | { nodeIds?: string[] | undefined; scope?: "image" | "video" | "all" | "canvas" | undefined; taskId?: string | undefined; limit?: number | undefined; } | { prompt: string; model?: string | undefined; count?: number | undefined; size?: string | undefined; quality?: string | undefined; run?: boolean | undefined; } | { prompt: string; model?: string | undefined; size?: string | undefined; seconds?: string | undefined; generateAudio?: boolean | undefined; watermark?: boolean | undefined; run?: boolean | undefined; resolution?: string | undefined; } | { title: string; kind: "text" | "image"; content?: string | undefined; source?: string | undefined; tags?: string[] | undefined; imageUrl?: string | undefined; note?: string | undefined; }; /** 压缩画布快照,避免向 Agent 返回过长的节点内容。 */ export declare function compactCanvasState(state: CanvasSnapshot | null): { nodes: { id: string; type: import("./types.js").CanvasNodeType; title: string | undefined; position: import("./types.js").Position; width: number; height: number; metadata: { [x: string]: unknown; }; }[]; projectId?: string; title?: string; connections?: import("./types.js").CanvasConnection[]; selectedNodeIds?: string[]; viewport?: import("./types.js").Viewport; clientId?: string; }; /** 压缩单个画布节点的元数据内容。 */ export declare function compactNode(node: CanvasNode): { id: string; type: import("./types.js").CanvasNodeType; title: string | undefined; position: import("./types.js").Position; width: number; height: number; metadata: { [x: string]: unknown; }; }; /** 计算新节点在当前画布右侧的默认横坐标。 */ export declare function nextCanvasX(state: CanvasSnapshot | null): number;