import type { ChainResult, ToolChainDefinition, ToolRunner } from '../types/execution.js';
export type { ToolRunner };
/**
 * Execute a tool chain sequentially.
 *
 * Steps with `optional: false` that fail will abort the chain.
 * Optional steps that fail are recorded but execution continues.
 *
 * @param chain      The chain definition to execute
 * @param baseParams Base parameters available to all steps (e.g. projectId, specId)
 * @param runner     Callback that dispatches tool calls
 * CHAIN EXECUTOR PATTERN: ordered tool sequence with optional/required step semantics.
 * See DESIGN_PATTERNS.md § Chain Executor Pattern.
 */
export declare function executeChain(chain: ToolChainDefinition, baseParams: Record<string, unknown>, runner: ToolRunner): Promise<ChainResult>;
//# sourceMappingURL=chain-executor.d.ts.map