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 McpStreamDependencies, type McpStreamPracticeProviderName, type McpStreamProviderPractice } from "./dependencies.js";
import { mcpStreamDescriptor, planMcpStream, type McpStreamOutput, type McpStreamProvider, type McpStreamRequest, type McpStreamResult } from "./core.js";
export * from "./core.js";
export type McpStreamBestPracticeRequest = McpStreamRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpStreamProvider;
    preferredProvider?: McpStreamPracticeProviderName;
};
export type McpStreamHandlerInput = Omit<McpStreamBestPracticeRequest, "executor">;
export type McpStreamPracticeSelection = {
    providerName: McpStreamPracticeProviderName;
    practice: McpStreamProviderPractice;
    provider?: McpStreamProvider;
};
export declare const mcpStreamProviderPractices: readonly [McpStreamProviderPractice, McpStreamProviderPractice, McpStreamProviderPractice];
export declare const mcpStreamBestPracticeDescriptor: {
    readonly toolId: "mcp.stream";
    readonly bestPractice: "storage-owned-mcp-stream-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 selectMcpStreamPractice(dependencies?: McpStreamDependencies & {
    preferredProvider?: McpStreamPracticeProviderName;
}): McpStreamPracticeSelection;
export declare function executeMcpStream(request?: McpStreamBestPracticeRequest | unknown): Promise<McpStreamResult>;
export declare const mcpStreamBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpStreamHandlerInput, McpStreamOutput>;
export declare const mcpStreamHandler: BaseToolHandler<McpStreamHandlerInput, McpStreamOutput>;
export type { McpStreamResult };
export { mcpStreamDescriptor, planMcpStream };
