import { WorkPlan } from '../../term/plan/work_plan.js'; import { WorkPlanId } from '../../term/plan/work_plan_id.js'; /** * 語彙「計画イベント」 * domain type: event */ export type PlanEvent = { type: 'PlanCreated'; planId: WorkPlanId; plan: WorkPlan; timestamp: Date; } | { type: 'PlanUpdated'; planId: WorkPlanId; plan: WorkPlan; timestamp: Date; } | { type: 'TaskStatusChanged'; planId: WorkPlanId; taskId: string; oldStatus: string; newStatus: string; timestamp: Date; } | { type: 'TasksAdded'; planId: WorkPlanId; taskIds: string[]; timestamp: Date; } | { type: 'DependenciesChanged'; planId: WorkPlanId; taskId: string; oldDeps: string[]; newDeps: string[]; timestamp: Date; }; export declare const PlanEvent: { readonly planCreated: (planId: WorkPlanId, plan: WorkPlan) => PlanEvent; readonly planUpdated: (planId: WorkPlanId, plan: WorkPlan) => PlanEvent; readonly taskStatusChanged: (planId: WorkPlanId, taskId: string, oldStatus: string, newStatus: string) => PlanEvent; readonly tasksAdded: (planId: WorkPlanId, taskIds: string[]) => PlanEvent; readonly dependenciesChanged: (planId: WorkPlanId, taskId: string, oldDeps: string[], newDeps: string[]) => PlanEvent; }; //# sourceMappingURL=events.d.ts.map