import { Tool } from '@n8n/agents'; import type { AgentIntegrationConfig } from '@n8n/api-types'; import { z } from 'zod'; import type { IntegrationAction, IntegrationActionDefinition, IntegrationActionExecutor, IntegrationContextQuery, IntegrationContextQueryDefinition, IntegrationContextQueryExecutor, IntegrationMessageContextStore, IntegrationToolConnectionDescriptor, IntegrationToolConnectionSource } from './integration-tool-types'; export interface IntegrationToolCapabilities { contextQueries?: IntegrationContextQuery[]; actions?: IntegrationAction[]; contextToolDefinitions?: IntegrationContextQueryDefinition[]; actionToolDefinitions?: IntegrationActionDefinition[]; contextToolGuidance?: string[]; actionToolGuidance?: string[]; } export declare function getIntegrationToolConnectionDescriptors(integrations: AgentIntegrationConfig[], agentId?: string, capabilitiesFor?: (integration: AgentIntegrationConfig) => IntegrationToolCapabilities | undefined): IntegrationToolConnectionDescriptor[]; export declare function buildIntegrationConnectionId(integration: IntegrationToolConnectionSource): string; export declare function createIntegrationContextTool(params: { descriptor: IntegrationToolConnectionDescriptor; messageContextStore: IntegrationMessageContextStore; queryExecutor: IntegrationContextQueryExecutor; }): Tool>; input: z.ZodOptional>; queries: z.ZodOptional; input: z.ZodOptional>; }, "strict", z.ZodTypeAny, { query: IntegrationContextQuery; input?: Record | undefined; }, { query: IntegrationContextQuery; input?: Record | undefined; }>, "many">>; }, "strict", z.ZodTypeAny, { query?: IntegrationContextQuery | undefined; input?: Record | undefined; queries?: { query: IntegrationContextQuery; input?: Record | undefined; }[] | undefined; }, { query?: IntegrationContextQuery | undefined; input?: Record | undefined; queries?: { query: IntegrationContextQuery; input?: Record | undefined; }[] | undefined; }>, { query?: IntegrationContextQuery | undefined; input?: Record | undefined; queries?: { query: IntegrationContextQuery; input?: Record | undefined; }[] | undefined; }, { query?: IntegrationContextQuery | undefined; input?: Record | undefined; queries?: { query: IntegrationContextQuery; input?: Record | undefined; }[] | undefined; }>, z.ZodTypeAny, undefined, undefined>; export declare function createIntegrationActionTool(params: { descriptor: IntegrationToolConnectionDescriptor; messageContextStore: IntegrationMessageContextStore; actionExecutor: IntegrationActionExecutor; }): Tool>; input: z.ZodOptional>; actions: z.ZodOptional; input: z.ZodRecord; }, "strict", z.ZodTypeAny, { action: IntegrationAction; input: Record; }, { action: IntegrationAction; input: Record; }>, "many">>; }, "strict", z.ZodTypeAny, { action?: IntegrationAction | undefined; input?: Record | undefined; actions?: { action: IntegrationAction; input: Record; }[] | undefined; }, { action?: IntegrationAction | undefined; input?: Record | undefined; actions?: { action: IntegrationAction; input: Record; }[] | undefined; }>, { action?: IntegrationAction | undefined; input?: Record | undefined; actions?: { action: IntegrationAction; input: Record; }[] | undefined; }, { action?: IntegrationAction | undefined; input?: Record | undefined; actions?: { action: IntegrationAction; input: Record; }[] | undefined; }>, z.ZodTypeAny, z.ZodObject<{ type: z.ZodLiteral<"integration_action">; action: z.ZodString; integrationConnectionId: z.ZodString; messageContext: z.ZodUnknown; }, "strip", z.ZodTypeAny, { type: "integration_action"; action: string; integrationConnectionId: string; messageContext?: unknown; }, { type: "integration_action"; action: string; integrationConnectionId: string; messageContext?: unknown; }>, z.ZodRecord>;