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 McpUnregisterToolDependencies, type McpUnregisterToolPracticeProviderName, type McpUnregisterToolProviderPractice } from "./dependencies.js";
import { planMcpToolUnregistration, type UnregisterMcpToolOutput, type UnregisterMcpToolProvider, type UnregisterMcpToolRequest, type UnregisterMcpToolResult } from "./core.js";
export * from "./core.js";
export type McpUnregisterToolBestPracticeRequest = UnregisterMcpToolRequest & {
    executor?: BaseToolExecutorPort;
    provider?: UnregisterMcpToolProvider;
    preferredProvider?: McpUnregisterToolPracticeProviderName;
};
export type McpUnregisterToolHandlerInput = Omit<McpUnregisterToolBestPracticeRequest, "executor">;
export type McpUnregisterToolPracticeSelection = {
    providerName: McpUnregisterToolPracticeProviderName;
    practice: McpUnregisterToolProviderPractice;
    provider?: UnregisterMcpToolProvider;
};
export declare const mcpUnregisterToolProviderPractices: readonly [McpUnregisterToolProviderPractice, McpUnregisterToolProviderPractice, McpUnregisterToolProviderPractice];
export declare const mcpUnregisterToolBestPracticeDescriptor: {
    readonly toolId: "mcp.unregisterTool";
    readonly bestPractice: "storage-owned-mcp-unregister-tool-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 selectMcpUnregisterToolPractice(dependencies?: McpUnregisterToolDependencies & {
    preferredProvider?: McpUnregisterToolPracticeProviderName;
}): McpUnregisterToolPracticeSelection;
export declare function executeMcpToolUnregistration(request?: McpUnregisterToolBestPracticeRequest | unknown, providerOverride?: UnregisterMcpToolProvider): Promise<UnregisterMcpToolResult>;
export declare const mcpUnregisterToolBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpUnregisterToolHandlerInput, UnregisterMcpToolOutput>;
export declare const mcpUnregisterToolHandler: BaseToolHandler<McpUnregisterToolHandlerInput, UnregisterMcpToolOutput>;
export type { UnregisterMcpToolResult };
export { planMcpToolUnregistration };
