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 McpAuthorizeDependencies, type McpAuthorizePracticeProviderName, type McpAuthorizeProviderPractice } from "./dependencies.js";
import { mcpAuthorizeDescriptor, planMcpAuthorize, type McpAuthorizeOutput, type McpAuthorizeProvider, type McpAuthorizeRequest, type McpAuthorizeResult } from "./core.js";
export * from "./core.js";
export type McpAuthorizeBestPracticeRequest = McpAuthorizeRequest & {
    executor?: BaseToolExecutorPort;
    provider?: McpAuthorizeProvider;
    preferredProvider?: McpAuthorizePracticeProviderName;
};
export type McpAuthorizeHandlerInput = Omit<McpAuthorizeBestPracticeRequest, "executor">;
export type McpAuthorizePracticeSelection = {
    providerName: McpAuthorizePracticeProviderName;
    practice: McpAuthorizeProviderPractice;
    provider?: McpAuthorizeProvider;
};
export declare const mcpAuthorizeProviderPractices: readonly [McpAuthorizeProviderPractice, McpAuthorizeProviderPractice, McpAuthorizeProviderPractice];
export declare const mcpAuthorizeBestPracticeDescriptor: {
    readonly toolId: "mcp.authorize";
    readonly bestPractice: "storage-owned-mcp-authorize-with-runtime-owned-policy-client";
    readonly providerOrder: readonly ["anthropic", "openai", "deepmind"];
    readonly dependencies: readonly import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDependencyDeclaration[];
};
export declare function selectMcpAuthorizePractice(dependencies?: McpAuthorizeDependencies & {
    preferredProvider?: McpAuthorizePracticeProviderName;
}): McpAuthorizePracticeSelection;
export declare function executeMcpAuthorize(request?: McpAuthorizeBestPracticeRequest | unknown): Promise<McpAuthorizeResult>;
export declare const mcpAuthorizeBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<McpAuthorizeHandlerInput, McpAuthorizeOutput>;
export declare const mcpAuthorizeHandler: BaseToolHandler<McpAuthorizeHandlerInput, McpAuthorizeOutput>;
export type { McpAuthorizeResult };
export { mcpAuthorizeDescriptor, planMcpAuthorize };
