import { Result } from 'neverthrow'; import { PrTask } from '../task/pr_task.js'; import { PrTaskId } from '../task/pr_task_id.js'; import { WorkPlanId } from './work_plan_id.js'; type ConstructWorkPlan = (params: RequestedWorkPlan) => Result; export type RequestedWorkPlan = { name: string; featureBranch: string; originWorktreePath: string; evolvingPRDPath: string; evolvingDesignDocPath: string; description?: string; tasks: Array<{ id: string; title: string; description: string; dependencies?: PrTaskId[]; acceptanceCriteria: Array<{ scenario: string; given: string[]; when: string[]; then: string[]; }>; definitionOfReady: readonly string[]; }>; }; export type WorkPlan = { readonly id: WorkPlanId; readonly name: string; readonly featureBranch: string; readonly originWorktreePath: string; readonly evolvingPRDPath: string; readonly evolvingDesignDocPath: string; readonly description?: string; readonly tasks: readonly PrTask[]; readonly createdAt: Date; readonly updatedAt: Date; }; export type WorkPlanError = { type: 'InvalidName' | 'NoTask' | 'DependencyNotFound' | 'TaskCreationFailed'; message: string; }; export declare const workPlan: { create: ConstructWorkPlan; }; export {}; //# sourceMappingURL=work_plan.d.ts.map