import type { SlopeStore } from '../../core/store.js'; import type { WorkflowExecution } from '../../core/types.js'; import type { LoopConfig, BacklogSprint } from './types.js'; import type { Logger } from './logger.js'; /** Manages a workflow execution lifecycle within a loop sprint run */ export declare class WorkflowAdapter { private readonly config; private readonly store; private readonly log; private engine; private execution; private def; constructor(config: LoopConfig, store: SlopeStore, log: Logger); /** Check if workflow mode is enabled */ get enabled(): boolean; /** * Start a workflow execution for a sprint. * Returns the execution or null if workflow mode is disabled. */ start(sprint: BacklogSprint, cwd: string): Promise; /** * Get the next step to execute. * Returns null if workflow is complete or not active. */ next(): Promise<{ phase: string; step_id: string; step_type: string; prompt?: string; command?: string; is_complete: boolean; current_item?: string; } | null>; /** * Mark the current step as completed. */ completeStep(stepId: string, output?: Record, exitCode?: number): Promise; /** * Skip the current step (e.g., on timeout or blocker). */ skipStep(stepId: string, reason: string): Promise; /** * Mark the workflow as failed (e.g., on unrecoverable error). */ fail(): Promise; /** Get the current execution ID */ get executionId(): string | null; /** Get the current execution status (re-reads from store for accuracy) */ getStatus(): Promise; /** Get the cached execution status (may be stale — prefer getStatus()) */ get status(): string | null; } //# sourceMappingURL=workflow-adapter.d.ts.map