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 McpNativeExecuteDependencies, type McpNativeExecutePracticeProviderName, type McpNativeExecuteProviderPractice } from "./dependencies.js";
import { mcpNativeExecuteDescriptor, planMcpNativeExecute, type McpNativeExecuteOutput, type McpNativeExecuteProvider, type McpNativeExecuteRequest, type McpNativeExecuteResult } from "./core.js";
export * from "./core.js";
export type McpNativeExecuteBestPracticeRequest = McpNativeExecuteRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpNativeExecuteProvider;
    preferredProvider?: McpNativeExecutePracticeProviderName;
};
export type McpNativeExecuteHandlerInput = Omit<McpNativeExecuteBestPracticeRequest, "executor">;
export type McpNativeExecutePracticeSelection = {
    providerName: McpNativeExecutePracticeProviderName;
    practice: McpNativeExecuteProviderPractice;
    provider?: McpNativeExecuteProvider;
};
export declare const mcpNativeExecuteProviderPractices: readonly [McpNativeExecuteProviderPractice, McpNativeExecuteProviderPractice, McpNativeExecuteProviderPractice];
export declare const mcpNativeExecuteBestPracticeDescriptor: {
    readonly toolId: "mcp.nativeExecute";
    readonly bestPractice: "storage-owned-raw-mcp-contract-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 selectMcpNativeExecutePractice(dependencies?: McpNativeExecuteDependencies & {
    preferredProvider?: McpNativeExecutePracticeProviderName;
}): McpNativeExecutePracticeSelection;
export declare function executeMcpNativeExecute(request?: McpNativeExecuteBestPracticeRequest | unknown): Promise<McpNativeExecuteResult>;
export declare const mcpNativeExecuteBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpNativeExecuteHandlerInput, McpNativeExecuteOutput>;
export declare const mcpNativeExecuteHandler: BaseToolHandler<McpNativeExecuteHandlerInput, McpNativeExecuteOutput>;
export type { McpNativeExecuteResult };
export { mcpNativeExecuteDescriptor, planMcpNativeExecute };
