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 { codeDebugRunDescriptor, executeCodeDebugRun as executeCore, planCodeDebugRun, type CodeDebugRunOutput, type CodeDebugRunProvider, type CodeDebugRunRequest, type CodeDebugRunResult } from "./core.js";
import { type CodeDebugRunDependencies, type CodeDebugRunPracticeProviderName, type CodeDebugRunProviderPractice } from "./dependencies.js";
export * from "./core.js";
export type CodeDebugRunBestPracticeRequest = CodeDebugRunRequest & {
    executor?: BaseToolExecutorPort;
    preferredProvider?: CodeDebugRunPracticeProviderName;
};
export type CodeDebugRunHandlerInput = Omit<CodeDebugRunBestPracticeRequest, "executor">;
export type CodeDebugRunPracticeSelection = {
    providerName: CodeDebugRunPracticeProviderName;
    practice: CodeDebugRunProviderPractice;
    provider?: CodeDebugRunProvider;
};
export declare const codeDebugRunProviderPractices: readonly [CodeDebugRunProviderPractice, CodeDebugRunProviderPractice, CodeDebugRunProviderPractice];
export declare const codeDebugRunBestPracticeDescriptor: {
    readonly toolId: "code.debugRun";
    readonly bestPractice: "storage-owned-debug-run-with-runtime-debug-launch-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 selectCodeDebugRunPractice(dependencies?: CodeDebugRunDependencies & {
    preferredProvider?: CodeDebugRunPracticeProviderName;
}): CodeDebugRunPracticeSelection;
export declare function executeCodeDebugRun(request?: CodeDebugRunBestPracticeRequest): ReturnType<typeof executeCore>;
export declare const codeDebugRunBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<CodeDebugRunHandlerInput, CodeDebugRunOutput>;
export declare const codeDebugRunHandler: BaseToolHandler<CodeDebugRunHandlerInput, CodeDebugRunOutput>;
export type { CodeDebugRunResult };
export { codeDebugRunDescriptor, planCodeDebugRun };
