import { Step, StepExecutionContext } from '../types'; import { StepExecutor, StepExecutionResult, LoopStep } from './types'; import { Logger } from '../util/logger'; export type ExecuteStep = (step: Step, extraContext?: Record, signal?: AbortSignal) => Promise; export declare class LoopStepExecutor implements StepExecutor { private executeStep; private logger; constructor(executeStep: ExecuteStep, logger: Logger); canExecute(step: Step): step is LoopStep; execute(step: Step, context: StepExecutionContext, extraContext?: Record, signal?: AbortSignal): Promise; }