import { type IExecuteFunctions, type ILoadOptionsFunctions, type INodeExecutionData, type INodePropertyOptions, type ISupplyDataFunctions, type SupplyData } from 'n8n-workflow';
import type { McpToolIncludeMode } from '../McpClientTool/types';
import type { McpAuthenticationOption, McpServerTransport } from './types';
export type McpConnectionConfig = {
    authentication: McpAuthenticationOption;
    transport: McpServerTransport;
    endpointUrl: string;
    timeout: number;
};
export type ResolvedMcpConfig = McpConnectionConfig & {
    toolFilter: {
        mode: McpToolIncludeMode;
        includeTools: string[];
        excludeTools: string[];
    };
};
export declare function buildMcpToolkit(ctx: ISupplyDataFunctions, itemIndex: number, config: ResolvedMcpConfig): Promise<SupplyData>;
export declare function executeMcpTool(ctx: IExecuteFunctions, resolveConfig: (itemIndex: number) => ResolvedMcpConfig | Promise<ResolvedMcpConfig>): Promise<INodeExecutionData[][]>;
export declare function loadMcpToolOptions(ctx: ILoadOptionsFunctions, config: McpConnectionConfig): Promise<INodePropertyOptions[]>;
