import type { RunPreDispatchGatesOpts, PreDispatchGateDeps } from './dispatcher.pre-dispatch-gates.js'; import type { TraceSink } from '../trace/index.js'; import type { ToolCall, ToolResult } from '../providers/anthropic-direct/types.js'; import type { ToolActivityReporter } from '../providers/shared/tool-activity.js'; import type { RepeatFailureGuard } from './repeat-failure-guard.js'; import type { SubagentExecutor } from './subagent-executor.js'; import type { ConcurrencyClassifier } from './types.js'; export interface ExecuteBatchDeps { execute: (call: ToolCall) => Promise; classifier: ConcurrencyClassifier; runPreDispatchGates: (call: ToolCall, opts?: RunPreDispatchGatesOpts) => Promise; resetDenialBreaker: () => void; repeatFailureGuard: RepeatFailureGuard; repeatBreakerExemptTools: ReadonlySet; executeCore: (call: ToolCall) => Promise; subagentExecutor: SubagentExecutor | undefined; sessionId: string | undefined; maxConcurrentSafeCalls: number; gateDeps: () => PreDispatchGateDeps; traceWriter: TraceSink | undefined; } export declare function executeBatchImpl(calls: ToolCall[], deps: ExecuteBatchDeps, onActivity?: ToolActivityReporter): Promise;