import type { BaseToolExecutorPort } from "../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolExecutorPort.js";
import type { BaseToolHandler } from "../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js";
import { type McpConnectDependencies, type McpConnectPracticeProviderName, type McpConnectProviderPractice } from "./dependencies.js";
import { mcpConnectDescriptor, planMcpConnect, type McpConnectOutput, type McpConnectProvider, type McpConnectRequest, type McpConnectResult } from "./core.js";
export * from "./core.js";
export type McpConnectBestPracticeRequest = McpConnectRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpConnectProvider;
    preferredProvider?: McpConnectPracticeProviderName;
};
export type McpConnectHandlerInput = Omit<McpConnectBestPracticeRequest, "executor">;
export type McpConnectPracticeSelection = {
    providerName: McpConnectPracticeProviderName;
    practice: McpConnectProviderPractice;
    provider?: McpConnectProvider;
};
export declare const mcpConnectProviderPractices: readonly [McpConnectProviderPractice, McpConnectProviderPractice, McpConnectProviderPractice];
export declare const mcpConnectBestPracticeDescriptor: {
    readonly toolId: "mcp.connect";
    readonly bestPractice: "storage-owned-mcp-connect-with-runtime-owned-client";
    readonly providerOrder: readonly ["anthropic", "openai", "deepmind"];
    readonly dependencies: readonly import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDependencyDeclaration[];
};
export declare function selectMcpConnectPractice(dependencies?: McpConnectDependencies & {
    preferredProvider?: McpConnectPracticeProviderName;
}): McpConnectPracticeSelection;
export declare function executeMcpConnect(request?: McpConnectBestPracticeRequest | unknown): Promise<McpConnectResult>;
export declare const mcpConnectBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpConnectHandlerInput, McpConnectOutput>;
export declare const mcpConnectHandler: BaseToolHandler<McpConnectHandlerInput, McpConnectOutput>;
export type { McpConnectResult };
export { mcpConnectDescriptor, planMcpConnect };
