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 { codeDebugCaptureStateDescriptor, executeCodeDebugCaptureState as executeCore, planCodeDebugCaptureState, type CodeDebugCaptureStateOutput, type CodeDebugCaptureStateProvider, type CodeDebugCaptureStateRequest, type CodeDebugCaptureStateResult } from "./core.js";
import { type CodeDebugCaptureStateDependencies, type CodeDebugCaptureStatePracticeProviderName, type CodeDebugCaptureStateProviderPractice } from "./dependencies.js";
export * from "./core.js";
export type CodeDebugCaptureStateBestPracticeRequest = CodeDebugCaptureStateRequest & {
    executor?: BaseToolExecutorPort;
    preferredProvider?: CodeDebugCaptureStatePracticeProviderName;
};
export type CodeDebugCaptureStateHandlerInput = Omit<CodeDebugCaptureStateBestPracticeRequest, "executor">;
export type CodeDebugCaptureStatePracticeSelection = {
    providerName: CodeDebugCaptureStatePracticeProviderName;
    practice: CodeDebugCaptureStateProviderPractice;
    provider?: CodeDebugCaptureStateProvider;
};
export declare const codeDebugCaptureStateProviderPractices: readonly [CodeDebugCaptureStateProviderPractice, CodeDebugCaptureStateProviderPractice, CodeDebugCaptureStateProviderPractice];
export declare const codeDebugCaptureStateBestPracticeDescriptor: {
    readonly toolId: "code.debugCaptureState";
    readonly bestPractice: "storage-owned-debug-state-capture-with-runtime-debug-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 selectCodeDebugCaptureStatePractice(dependencies?: CodeDebugCaptureStateDependencies & {
    preferredProvider?: CodeDebugCaptureStatePracticeProviderName;
}): CodeDebugCaptureStatePracticeSelection;
export declare function executeCodeDebugCaptureState(request?: CodeDebugCaptureStateBestPracticeRequest): ReturnType<typeof executeCore>;
export declare const codeDebugCaptureStateBaseToolDefinition: import("../../../../../agentCore/agent_executionEngine/basic_toolLayer/baseTools/baseToolDefinition.js").BaseToolDefinition<CodeDebugCaptureStateHandlerInput, CodeDebugCaptureStateOutput>;
export declare const codeDebugCaptureStateHandler: BaseToolHandler<CodeDebugCaptureStateHandlerInput, CodeDebugCaptureStateOutput>;
export type { CodeDebugCaptureStateResult };
export { codeDebugCaptureStateDescriptor, planCodeDebugCaptureState };
