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 McpUpdateResourceDependencies, type McpUpdateResourcePracticeProviderName, type McpUpdateResourceProviderPractice } from "./dependencies.js";
import { mcpUpdateResourceDescriptor, planMcpResourceUpdate, type McpUpdateResourceOutput, type McpUpdateResourceProvider, type McpUpdateResourceRequest, type McpUpdateResourceResult } from "./core.js";
export * from "./core.js";
export type McpUpdateResourceBestPracticeRequest = McpUpdateResourceRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpUpdateResourceProvider;
    preferredProvider?: McpUpdateResourcePracticeProviderName;
};
export type McpUpdateResourceHandlerInput = Omit<McpUpdateResourceBestPracticeRequest, "executor">;
export type McpUpdateResourcePracticeSelection = {
    providerName: McpUpdateResourcePracticeProviderName;
    practice: McpUpdateResourceProviderPractice;
    provider?: McpUpdateResourceProvider;
};
export declare const mcpUpdateResourceProviderPractices: readonly [McpUpdateResourceProviderPractice, McpUpdateResourceProviderPractice, McpUpdateResourceProviderPractice];
export declare const mcpUpdateResourceBestPracticeDescriptor: {
    readonly toolId: "mcp.updateResource";
    readonly bestPractice: "storage-owned-mcp-update-resource-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 selectMcpUpdateResourcePractice(dependencies?: McpUpdateResourceDependencies & {
    preferredProvider?: McpUpdateResourcePracticeProviderName;
}): McpUpdateResourcePracticeSelection;
export declare function executeMcpResourceUpdate(request?: McpUpdateResourceBestPracticeRequest | unknown): Promise<McpUpdateResourceResult>;
export declare const mcpUpdateResourceBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpUpdateResourceHandlerInput, McpUpdateResourceOutput>;
export declare const mcpUpdateResourceHandler: BaseToolHandler<McpUpdateResourceHandlerInput, McpUpdateResourceOutput>;
export type { McpUpdateResourceResult };
export { mcpUpdateResourceDescriptor, planMcpResourceUpdate };
