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 McpSubscribeDependencies, type McpSubscribePracticeProviderName, type McpSubscribeProviderPractice } from "./dependencies.js";
import { mcpSubscribeDescriptor, planMcpSubscribe, type McpSubscribeOutput, type McpSubscribeProvider, type McpSubscribeRequest, type McpSubscribeResult } from "./core.js";
export * from "./core.js";
export type McpSubscribeBestPracticeRequest = McpSubscribeRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpSubscribeProvider;
    preferredProvider?: McpSubscribePracticeProviderName;
};
export type McpSubscribeHandlerInput = Omit<McpSubscribeBestPracticeRequest, "executor">;
export type McpSubscribePracticeSelection = {
    providerName: McpSubscribePracticeProviderName;
    practice: McpSubscribeProviderPractice;
    provider?: McpSubscribeProvider;
};
export declare const mcpSubscribeProviderPractices: readonly [McpSubscribeProviderPractice, McpSubscribeProviderPractice, McpSubscribeProviderPractice];
export declare const mcpSubscribeBestPracticeDescriptor: {
    readonly toolId: "mcp.subscribe";
    readonly bestPractice: "storage-owned-mcp-subscribe-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 selectMcpSubscribePractice(dependencies?: McpSubscribeDependencies & {
    preferredProvider?: McpSubscribePracticeProviderName;
}): McpSubscribePracticeSelection;
export declare function executeMcpSubscribe(request?: McpSubscribeBestPracticeRequest | unknown): Promise<McpSubscribeResult>;
export declare const mcpSubscribeBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpSubscribeHandlerInput, McpSubscribeOutput>;
export declare const mcpSubscribeHandler: BaseToolHandler<McpSubscribeHandlerInput, McpSubscribeOutput>;
export type { McpSubscribeResult };
export { mcpSubscribeDescriptor, planMcpSubscribe };
