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 McpUpdateToolDependencies, type McpUpdateToolPracticeProviderName, type McpUpdateToolProviderPractice } from "./dependencies.js";
import { planMcpToolUpdate, type UpdateMcpToolOutput, type UpdateMcpToolProvider, type UpdateMcpToolRequest, type UpdateMcpToolResult } from "./core.js";
export * from "./core.js";
export type McpUpdateToolBestPracticeRequest = UpdateMcpToolRequest & {
    executor?: BaseToolExecutorPort;
    provider?: UpdateMcpToolProvider;
    preferredProvider?: McpUpdateToolPracticeProviderName;
};
export type McpUpdateToolHandlerInput = Omit<McpUpdateToolBestPracticeRequest, "executor">;
export type McpUpdateToolPracticeSelection = {
    providerName: McpUpdateToolPracticeProviderName;
    practice: McpUpdateToolProviderPractice;
    provider?: UpdateMcpToolProvider;
};
export declare const mcpUpdateToolProviderPractices: readonly [McpUpdateToolProviderPractice, McpUpdateToolProviderPractice, McpUpdateToolProviderPractice];
export declare const mcpUpdateToolBestPracticeDescriptor: {
    readonly toolId: "mcp.updateTool";
    readonly bestPractice: "storage-owned-mcp-update-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 selectMcpUpdateToolPractice(dependencies?: McpUpdateToolDependencies & {
    preferredProvider?: McpUpdateToolPracticeProviderName;
}): McpUpdateToolPracticeSelection;
export declare function executeMcpToolUpdate(request?: McpUpdateToolBestPracticeRequest | unknown, providerOverride?: UpdateMcpToolProvider): Promise<UpdateMcpToolResult>;
export declare const mcpUpdateToolBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpUpdateToolHandlerInput, UpdateMcpToolOutput>;
export declare const mcpUpdateToolHandler: BaseToolHandler<McpUpdateToolHandlerInput, UpdateMcpToolOutput>;
export type { UpdateMcpToolResult };
export { planMcpToolUpdate };
