import type { User } from '@n8n/db'; import z from 'zod'; import type { ToolDefinition } from '../mcp.types'; import { type FoundWorkflow } from './workflow-validation.utils'; import type { McpService } from '../../../modules/mcp/mcp.service'; import type { Telemetry } from '../../../telemetry'; import type { WorkflowRunner } from '../../../workflow-runner'; import type { WorkflowFinderService } from '../../../workflows/workflow-finder.service'; export { type FoundWorkflow }; declare const inputSchema: z.ZodObject<{ workflowId: z.ZodString; executionMode: z.ZodDefault>>; inputs: z.ZodOptional; chatInput: z.ZodString; }, "strip", z.ZodTypeAny, { type: "chat"; chatInput: string; }, { type: "chat"; chatInput: string; }>, z.ZodObject<{ type: z.ZodLiteral<"form">; formData: z.ZodRecord; }, "strip", z.ZodTypeAny, { type: "form"; formData: Record; }, { type: "form"; formData: Record; }>, z.ZodObject<{ type: z.ZodLiteral<"webhook">; webhookData: z.ZodObject<{ method: z.ZodDefault>>; query: z.ZodOptional>; body: z.ZodOptional>; headers: z.ZodOptional>; }, "strip", z.ZodTypeAny, { method: "OPTIONS" | "GET" | "DELETE" | "HEAD" | "PATCH" | "POST" | "PUT"; headers?: Record | undefined; body?: Record | undefined; query?: Record | undefined; }, { headers?: Record | undefined; method?: "OPTIONS" | "GET" | "DELETE" | "HEAD" | "PATCH" | "POST" | "PUT" | undefined; body?: Record | undefined; query?: Record | undefined; }>; }, "strip", z.ZodTypeAny, { type: "webhook"; webhookData: { method: "OPTIONS" | "GET" | "DELETE" | "HEAD" | "PATCH" | "POST" | "PUT"; headers?: Record | undefined; body?: Record | undefined; query?: Record | undefined; }; }, { type: "webhook"; webhookData: { headers?: Record | undefined; method?: "OPTIONS" | "GET" | "DELETE" | "HEAD" | "PATCH" | "POST" | "PUT" | undefined; body?: Record | undefined; query?: Record | undefined; }; }>]>>; }, "strip", z.ZodTypeAny, { workflowId: string; executionMode: "manual" | "production"; inputs?: { type: "chat"; chatInput: string; } | { type: "form"; formData: Record; } | { type: "webhook"; webhookData: { method: "OPTIONS" | "GET" | "DELETE" | "HEAD" | "PATCH" | "POST" | "PUT"; headers?: Record | undefined; body?: Record | undefined; query?: Record | undefined; }; } | undefined; }, { workflowId: string; inputs?: { type: "chat"; chatInput: string; } | { type: "form"; formData: Record; } | { type: "webhook"; webhookData: { headers?: Record | undefined; method?: "OPTIONS" | "GET" | "DELETE" | "HEAD" | "PATCH" | "POST" | "PUT" | undefined; body?: Record | undefined; query?: Record | undefined; }; } | undefined; executionMode?: "manual" | "production" | undefined; }>; type ExecuteWorkflowOutput = { executionId: string | null; status: 'started' | 'error'; error?: string; }; export declare const createExecuteWorkflowTool: (user: User, workflowFinderService: WorkflowFinderService, workflowRunner: WorkflowRunner, telemetry: Telemetry, mcpService: McpService) => ToolDefinition; export declare const executeWorkflow: (user: User, workflowFinderService: WorkflowFinderService, workflowRunner: WorkflowRunner, mcpService: McpService, workflowId: string, inputs?: z.infer["inputs"], executionMode?: z.infer["executionMode"]) => Promise;