import { type WorkflowConfig, type WorkflowRestartPoint, type WorkflowResumePointEntry, type WorkflowStep } from '../../core/models/index.js'; export interface TaskRetryStartPathContext { projectCwd: string; lookupCwd: string; } export interface ResolvedTaskRetryPath { segments: string[]; } /** A selectable authored leaf step in the restart tree. */ export interface TaskRetryRestartTreeLeaf { kind: 'leaf'; step: WorkflowStep; /** Nesting depth (root steps are 0, children of a workflow_call are +1). */ depth: number; /** Unique position path within the tree, used to derive a stable row value. */ id: string; restartPoint: WorkflowRestartPoint; } /** A non-selectable workflow_call heading that expands its child steps. */ export interface TaskRetryRestartTreeHeading { kind: 'heading'; step: WorkflowStep; depth: number; id: string; children: TaskRetryRestartTreeNode[]; /** Reason the branch could not be expanded (degraded rendering). */ note?: string; } export type TaskRetryRestartTreeNode = TaskRetryRestartTreeLeaf | TaskRetryRestartTreeHeading; export declare function formatTaskRetryPath(segments: readonly string[]): string; /** * Expand a workflow into a restart tree: authored non-call steps become * selectable leaves carrying their cumulative restart stack, and each * workflow_call step becomes a heading that recursively expands its callee. * A branch that cannot be resolved (unknown/non-callable/cycle/depth) is kept * as a heading annotated with the reason instead of aborting the whole tree. * Headings that expand to no selectable descendant are pruned. */ export declare function buildTaskRetryRestartTree(rootWorkflow: WorkflowConfig, context: TaskRetryStartPathContext): TaskRetryRestartTreeNode[]; export declare function resolveTaskRetryStackPath(rootWorkflow: WorkflowConfig, stack: readonly WorkflowResumePointEntry[], context: TaskRetryStartPathContext, allowParallelEntries: boolean): ResolvedTaskRetryPath | undefined; export declare function validateTaskRetryRestartPoint(rootWorkflow: WorkflowConfig, restartPoint: WorkflowRestartPoint, context: TaskRetryStartPathContext): void; //# sourceMappingURL=taskRetryStartPath.d.ts.map