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 McpListToolsDependencies, type McpListToolsPracticeProviderName, type McpListToolsProviderPractice } from "./dependencies.js";
import { mcpListToolsDescriptor, planMcpToolsList, type ListMcpToolsOutput, type ListMcpToolsProvider, type ListMcpToolsRequest, type ListMcpToolsResult } from "./core.js";
export * from "./core.js";
export type McpListToolsBestPracticeRequest = ListMcpToolsRequest & {
    executor?: BaseToolExecutorPort;
    provider?: ListMcpToolsProvider;
    preferredProvider?: McpListToolsPracticeProviderName;
};
export type McpListToolsHandlerInput = Omit<McpListToolsBestPracticeRequest, "executor">;
export type McpListToolsPracticeSelection = {
    providerName: McpListToolsPracticeProviderName;
    practice: McpListToolsProviderPractice;
    provider?: ListMcpToolsProvider;
};
export declare const mcpListToolsProviderPractices: readonly [McpListToolsProviderPractice, McpListToolsProviderPractice, McpListToolsProviderPractice];
export declare const mcpListToolsBestPracticeDescriptor: {
    readonly toolId: "mcp.listTools";
    readonly bestPractice: "storage-owned-mcp-list-tools-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 selectMcpListToolsPractice(dependencies?: McpListToolsDependencies & {
    preferredProvider?: McpListToolsPracticeProviderName;
}): McpListToolsPracticeSelection;
export declare function executeMcpToolsList(request?: McpListToolsBestPracticeRequest | unknown): Promise<ListMcpToolsResult>;
export declare const mcpListToolsBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpListToolsHandlerInput, ListMcpToolsOutput>;
export declare const mcpListToolsHandler: BaseToolHandler<McpListToolsHandlerInput, ListMcpToolsOutput>;
export type { ListMcpToolsResult };
export { mcpListToolsDescriptor, planMcpToolsList };
