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 McpDisconnectDependencies, type McpDisconnectPracticeProviderName, type McpDisconnectProviderPractice } from "./dependencies.js";
import { mcpDisconnectDescriptor, planMcpDisconnect, type McpDisconnectOutput, type McpDisconnectProvider, type McpDisconnectRequest, type McpDisconnectResult } from "./core.js";
export * from "./core.js";
export type McpDisconnectBestPracticeRequest = McpDisconnectRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpDisconnectProvider;
    preferredProvider?: McpDisconnectPracticeProviderName;
};
export type McpDisconnectHandlerInput = Omit<McpDisconnectBestPracticeRequest, "executor">;
export type McpDisconnectPracticeSelection = {
    providerName: McpDisconnectPracticeProviderName;
    practice: McpDisconnectProviderPractice;
    provider?: McpDisconnectProvider;
};
export declare const mcpDisconnectProviderPractices: readonly [McpDisconnectProviderPractice, McpDisconnectProviderPractice, McpDisconnectProviderPractice];
export declare const mcpDisconnectBestPracticeDescriptor: {
    readonly toolId: "mcp.disconnect";
    readonly bestPractice: "storage-owned-mcp-disconnect-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 selectMcpDisconnectPractice(dependencies?: McpDisconnectDependencies & {
    preferredProvider?: McpDisconnectPracticeProviderName;
}): McpDisconnectPracticeSelection;
export declare function executeMcpDisconnect(request?: McpDisconnectBestPracticeRequest | unknown): Promise<McpDisconnectResult>;
export declare const mcpDisconnectBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpDisconnectHandlerInput, McpDisconnectOutput>;
export declare const mcpDisconnectHandler: BaseToolHandler<McpDisconnectHandlerInput, McpDisconnectOutput>;
export type { McpDisconnectResult };
export { mcpDisconnectDescriptor, planMcpDisconnect };
