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 McpCreateResourceDependencies, type McpCreateResourcePracticeProviderName, type McpCreateResourceProviderPractice } from "./dependencies.js";
import { mcpCreateResourceDescriptor, planMcpCreateResource, type McpCreateResourceOutput, type McpCreateResourceProvider, type McpCreateResourceRequest, type McpCreateResourceResult } from "./core.js";
export * from "./core.js";
export type McpCreateResourceBestPracticeRequest = McpCreateResourceRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpCreateResourceProvider;
    preferredProvider?: McpCreateResourcePracticeProviderName;
};
export type McpCreateResourceHandlerInput = Omit<McpCreateResourceBestPracticeRequest, "executor">;
export type McpCreateResourcePracticeSelection = {
    providerName: McpCreateResourcePracticeProviderName;
    practice: McpCreateResourceProviderPractice;
    provider?: McpCreateResourceProvider;
};
export declare const mcpCreateResourceProviderPractices: readonly [McpCreateResourceProviderPractice, McpCreateResourceProviderPractice, McpCreateResourceProviderPractice];
export declare const mcpCreateResourceBestPracticeDescriptor: {
    readonly toolId: "mcp.createResource";
    readonly bestPractice: "storage-owned-mcp-create-resource-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 selectMcpCreateResourcePractice(dependencies?: McpCreateResourceDependencies & {
    preferredProvider?: McpCreateResourcePracticeProviderName;
}): McpCreateResourcePracticeSelection;
export declare function executeMcpCreateResource(request?: McpCreateResourceBestPracticeRequest | unknown): Promise<McpCreateResourceResult>;
export declare const mcpCreateResourceBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpCreateResourceHandlerInput, McpCreateResourceOutput>;
export declare const mcpCreateResourceHandler: BaseToolHandler<McpCreateResourceHandlerInput, McpCreateResourceOutput>;
export type { McpCreateResourceResult };
export { mcpCreateResourceDescriptor, planMcpCreateResource };
