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 McpCacheDependencies, type McpCachePracticeProviderName, type McpCacheProviderPractice } from "./dependencies.js";
import { mcpCacheDescriptor, planMcpCache, type McpCacheOutput, type McpCacheProvider, type McpCacheRequest, type McpCacheResult } from "./core.js";
export * from "./core.js";
export type McpCacheBestPracticeRequest = McpCacheRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpCacheProvider;
    preferredProvider?: McpCachePracticeProviderName;
};
export type McpCacheHandlerInput = Omit<McpCacheBestPracticeRequest, "executor">;
export type McpCachePracticeSelection = {
    providerName: McpCachePracticeProviderName;
    practice: McpCacheProviderPractice;
    provider?: McpCacheProvider;
};
export declare const mcpCacheProviderPractices: readonly [McpCacheProviderPractice, McpCacheProviderPractice, McpCacheProviderPractice];
export declare const mcpCacheBestPracticeDescriptor: {
    readonly toolId: "mcp.cache";
    readonly bestPractice: "storage-owned-mcp-cache-with-runtime-owned-cache-store";
    readonly providerOrder: readonly ["anthropic", "openai", "deepmind"];
    readonly dependencies: readonly import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDependencyDeclaration[];
};
export declare function selectMcpCachePractice(dependencies?: McpCacheDependencies & {
    preferredProvider?: McpCachePracticeProviderName;
}): McpCachePracticeSelection;
export declare function executeMcpCache(request?: McpCacheBestPracticeRequest | unknown): Promise<McpCacheResult>;
export declare const mcpCacheBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpCacheHandlerInput, McpCacheOutput>;
export declare const mcpCacheHandler: BaseToolHandler<McpCacheHandlerInput, McpCacheOutput>;
export type { McpCacheResult };
export { mcpCacheDescriptor, planMcpCache };
