export type PlanStatus = 'draft' | 'reviewing' | 'approved' | 'executing' | 'completed' | 'replanning' | 'failed' | 'cancelled'; export type StepStatus = 'pending' | 'in_progress' | 'completed' | 'skipped' | 'failed' | 'blocked'; export interface PlanStep { step: number; description: string; expectedTools?: string[]; expectedOutput?: string; dependsOn?: number[]; estimatedTimeSec?: number; status: StepStatus; actualOutput?: string; actualTools?: string[]; startedAt?: string; completedAt?: string; error?: string; } export interface Plan { id: string; goal: string; status: PlanStatus; steps: PlanStep[]; rationale?: string; preconditions?: string[]; successCriteria?: string[]; createdAt: string; updatedAt: string; currentStep?: number; replanCount?: number; version: number; } export interface ExecutionState { planId: string; currentStep: number; completedSteps: number; totalSteps: number; isExecuting: boolean; lastError?: string; } export interface PlanReviewResult { approved: boolean; issues: string[]; suggestions: string[]; revisedPlan?: Plan; } export interface PlanExecuteConfig { maxReplans?: number; requireApproval?: boolean; autoApproveSimple?: boolean; maxExecutionTimeMs?: number; } export declare class PlanExecuteController { private config; private plans; private activePlanId; constructor(config?: PlanExecuteConfig); createPlan(goal: string, steps: Omit[], rationale?: string): Plan; reviewPlan(planId: string): PlanReviewResult; approvePlan(planId: string): boolean; startExecution(planId: string): boolean; completeStep(planId: string, stepNumber: number, actualOutput?: string, actualTools?: string[]): boolean; failStep(planId: string, stepNumber: number, error: string): boolean; skipStep(planId: string, stepNumber: number, reason: string): boolean; requestReplan(planId: string, _reason: string, revisedSteps?: Omit[]): Plan | null; cancelPlan(planId: string): boolean; getExecutionState(planId: string): ExecutionState | null; getActivePlan(): Plan | null; getPlan(planId: string): Plan | null; static formatPlan(plan: Plan): string; private hasCircularDependency; } //# sourceMappingURL=plan-execute-controller.d.ts.map