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 McpReadResourceDependencies, type McpReadResourcePracticeProviderName, type McpReadResourceProviderPractice } from "./dependencies.js";
import { mcpReadResourceDescriptor, planMcpResourceRead, type McpReadResourceOutput, type McpReadResourceProvider, type McpReadResourceRequest, type McpReadResourceResult } from "./core.js";
export * from "./core.js";
export type McpReadResourceBestPracticeRequest = McpReadResourceRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpReadResourceProvider;
    preferredProvider?: McpReadResourcePracticeProviderName;
};
export type McpReadResourceHandlerInput = Omit<McpReadResourceBestPracticeRequest, "executor">;
export type McpReadResourcePracticeSelection = {
    providerName: McpReadResourcePracticeProviderName;
    practice: McpReadResourceProviderPractice;
    provider?: McpReadResourceProvider;
};
export declare const mcpReadResourceProviderPractices: readonly [McpReadResourceProviderPractice, McpReadResourceProviderPractice, McpReadResourceProviderPractice];
export declare const mcpReadResourceBestPracticeDescriptor: {
    readonly toolId: "mcp.readResource";
    readonly bestPractice: "storage-owned-mcp-read-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 selectMcpReadResourcePractice(dependencies?: McpReadResourceDependencies & {
    preferredProvider?: McpReadResourcePracticeProviderName;
}): McpReadResourcePracticeSelection;
export declare function executeMcpResourceRead(request?: McpReadResourceBestPracticeRequest | unknown): Promise<McpReadResourceResult>;
export declare const mcpReadResourceBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpReadResourceHandlerInput, McpReadResourceOutput>;
export declare const mcpReadResourceHandler: BaseToolHandler<McpReadResourceHandlerInput, McpReadResourceOutput>;
export type { McpReadResourceResult };
export { mcpReadResourceDescriptor, planMcpResourceRead };
