import type { AgentResponse, WorkflowState, WorkflowStep } from '../../models/types.js'; import type { RuleEvaluatorContext } from '../evaluation/RuleEvaluator.js'; import type { StatusJudgmentPhaseContext } from '../phase-runner.js'; import type { SystemStepServicesFactory } from '../system/system-step-services.js'; import type { RuntimeStepResolution } from '../types.js'; import { type PrMergeOptions } from '../system/pr-execution-context.js'; import type { ProviderType, StreamCallback } from '../../../shared/types/provider.js'; interface SystemStepExecutorDeps extends PrMergeOptions { readonly task: string; readonly projectCwd: string; readonly getCwd: () => string; readonly getContextDirectory?: () => string; readonly taskContext?: { readonly issueNumber?: number; readonly runSlug?: string; }; readonly getRuleContext: (step: WorkflowStep, runtime?: RuntimeStepResolution) => Omit; readonly getStatusJudgmentContext: (step: WorkflowStep, state: WorkflowState, lastResponse: string, runtime?: RuntimeStepResolution) => StatusJudgmentPhaseContext; readonly systemStepServicesFactory?: SystemStepServicesFactory; readonly abortSignal?: AbortSignal; readonly createProviderStream?: (step: WorkflowStep, provider: ProviderType, model: string | undefined) => StreamCallback | undefined; } export declare class SystemStepExecutor { private readonly deps; private waitAbort; private abortSignal; private permanentlyCancelled; private readonly runtimeState; constructor(deps: SystemStepExecutorDeps); private createAbortSignal; private requireServices; cleanup(): void; cancel(): void; private waitInterval; private executeEffect; run(step: WorkflowStep, state: WorkflowState, runtime?: RuntimeStepResolution): Promise; } export {}; //# sourceMappingURL=SystemStepExecutor.d.ts.map