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 { codeBenchmarkDescriptor, executeCodeBenchmark as executeCodeBenchmarkCore, planCodeBenchmark, type CodeBenchmarkOutput, type CodeBenchmarkProvider, type CodeBenchmarkRequest, type CodeBenchmarkResult } from "./core.js";
import { type CodeBenchmarkDependencies, type CodeBenchmarkPracticeProviderName, type CodeBenchmarkProviderPractice } from "./dependencies.js";
export * from "./core.js";
export type CodeBenchmarkBestPracticeRequest = CodeBenchmarkRequest & {
    executor?: BaseToolExecutorPort;
    preferredProvider?: CodeBenchmarkPracticeProviderName;
};
export type CodeBenchmarkHandlerInput = Omit<CodeBenchmarkBestPracticeRequest, "executor">;
export type CodeBenchmarkPracticeSelection = {
    providerName: CodeBenchmarkPracticeProviderName;
    practice: CodeBenchmarkProviderPractice;
    provider?: CodeBenchmarkProvider;
};
export declare const codeBenchmarkProviderPractices: readonly [CodeBenchmarkProviderPractice, CodeBenchmarkProviderPractice, CodeBenchmarkProviderPractice];
export declare const codeBenchmarkBestPracticeDescriptor: {
    readonly toolId: "code.benchmark";
    readonly bestPractice: "storage-owned-code-benchmark-with-runtime-process-support";
    readonly sourcePriority: readonly ["cli", "agent-sdk", "api-sdk", "praxis-native"];
    readonly providerOrder: readonly ["anthropic", "openai", "deepmind"];
    readonly dependencies: readonly import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDependencyDeclaration[];
};
export declare function selectCodeBenchmarkPractice(dependencies?: CodeBenchmarkDependencies & {
    preferredProvider?: CodeBenchmarkPracticeProviderName;
}): CodeBenchmarkPracticeSelection;
export declare function executeCodeBenchmark(request?: CodeBenchmarkBestPracticeRequest): ReturnType<typeof executeCodeBenchmarkCore>;
export declare const codeBenchmarkBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<CodeBenchmarkHandlerInput, CodeBenchmarkOutput>;
export declare const codeBenchmarkHandler: BaseToolHandler<CodeBenchmarkHandlerInput, CodeBenchmarkOutput>;
export type { CodeBenchmarkResult };
export { codeBenchmarkDescriptor, planCodeBenchmark };
