import type { WorkflowStep, WorkflowState, AgentResponse, WorkflowMaxSteps, WorkflowResumePointEntry } from '../../models/types.js'; import type { OptionsBuilder } from './OptionsBuilder.js'; import type { StepExecutor } from './StepExecutor.js'; import type { WorkflowEngineOptions, WorkflowOperationJournalContext, PhaseName, PhasePromptParts } from '../types.js'; import type { RuntimeStepResolution, StepProviderInfo, StepRunResult } from '../types.js'; import type { CompanionFixPolicy } from '../../models/companion-types.js'; import type { RunPaths } from '../run/run-paths.js'; import type { WorkflowStepExecutionDeadlineContext } from './step-deadline.js'; export interface TeamLeaderRunnerDeps { readonly optionsBuilder: OptionsBuilder; readonly stepExecutor: StepExecutor; readonly engineOptions: WorkflowEngineOptions; readonly companionFixPolicy: CompanionFixPolicy; readonly getAbortSignal?: () => AbortSignal | undefined; readonly getCwd: () => string; readonly getTask: () => string; readonly getState: () => WorkflowState; readonly getWorkflowName: () => string; readonly getInteractive: () => boolean; readonly getRunPaths: () => RunPaths; readonly operationJournal?: WorkflowOperationJournalContext; readonly observabilityEnabled: boolean; readonly observabilityRunId?: string; readonly sanitizeObservabilityText?: (text: string) => string; readonly getCurrentWorkflowStack?: () => WorkflowResumePointEntry[] | undefined; readonly onPhaseStart?: (step: WorkflowStep, phase: 1 | 2 | 3, phaseName: PhaseName, instruction: string, promptParts: PhasePromptParts, phaseExecutionId?: string, iteration?: number) => void; readonly onPhaseComplete?: (step: WorkflowStep, phase: 1 | 2 | 3, phaseName: PhaseName, content: string, status: string, error?: string, phaseExecutionId?: string, iteration?: number) => void; readonly emitEvent: (event: 'routing:decision', step: WorkflowStep, response: AgentResponse, instruction: string, providerInfo: StepProviderInfo, stepType: 'normal' | 'parallel' | 'agent', durationMs: number, iteration: number, workflowName: string) => void; } export declare class TeamLeaderRunner { private readonly deps; constructor(deps: TeamLeaderRunnerDeps); private resolveAbortSignal; runTeamLeaderStep(step: WorkflowStep, state: WorkflowState, task: string, maxSteps: WorkflowMaxSteps, updatePersonaSession: (persona: string, sessionId: string | undefined) => void, runtime?: RuntimeStepResolution, activeStepIteration?: number, executionDeadlineContext?: WorkflowStepExecutionDeadlineContext): Promise; private resolveLeaderAutoRouting; private runSinglePart; private recordUsage; private emitPartRoutingDecisionEvents; private recordPartRoutingResults; private recordRoutingResult; private emitLeaderRoutingDecisionEvent; private buildPartRuntime; private resolvePartAutoRouting; private addPartAutoRouting; private getPartProviderResolutionRuntime; } //# sourceMappingURL=TeamLeaderRunner.d.ts.map