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 McpPingDependencies, type McpPingPracticeProviderName, type McpPingProviderPractice } from "./dependencies.js";
import { mcpPingDescriptor, planMcpPing, type McpPingOutput, type McpPingProvider, type McpPingRequest, type McpPingResult } from "./core.js";
export * from "./core.js";
export type McpPingBestPracticeRequest = McpPingRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpPingProvider;
    preferredProvider?: McpPingPracticeProviderName;
};
export type McpPingHandlerInput = Omit<McpPingBestPracticeRequest, "executor">;
export type McpPingPracticeSelection = {
    providerName: McpPingPracticeProviderName;
    practice: McpPingProviderPractice;
    provider?: McpPingProvider;
};
export declare const mcpPingProviderPractices: readonly [McpPingProviderPractice, McpPingProviderPractice, McpPingProviderPractice];
export declare const mcpPingBestPracticeDescriptor: {
    readonly toolId: "mcp.ping";
    readonly bestPractice: "storage-owned-mcp-ping-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 selectMcpPingPractice(dependencies?: McpPingDependencies & {
    preferredProvider?: McpPingPracticeProviderName;
}): McpPingPracticeSelection;
export declare function executeMcpPing(request?: McpPingBestPracticeRequest | unknown): Promise<McpPingResult>;
export declare const mcpPingBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpPingHandlerInput, McpPingOutput>;
export declare const mcpPingHandler: BaseToolHandler<McpPingHandlerInput, McpPingOutput>;
export type { McpPingResult };
export { mcpPingDescriptor, planMcpPing };
