import type { SpecRequirement, SpecScenario, SprintFile, Task } from '../types'; declare const TASK_FIELDS: readonly ["title", "description", "context", "acceptance_criteria", "files_to_touch", "depends_on", "scenario_refs"]; type TaskField = typeof TASK_FIELDS[number]; type TaskUpdate = Pick & (Partial> | { action: 'cancel'; reason: string; }); type RequirementUpdate = SpecRequirement | { id: string; action: 'remove'; }; export interface ActivePlanInput { scope?: string; sprint: { n: number; slug: string; }; reason: string; tasks: TaskUpdate[]; requirements: RequirementUpdate[]; scenarios: SpecScenario[]; } export interface ActivePlanChange { target: string; field: string; before: unknown; after: unknown; } export interface ActivePlanPreview { scope: string; sprint: { n: number; slug: string; }; digest: string; reason: string; changes: ActivePlanChange[]; affectedTaskIds: string[]; invalidatedTaskIds: string[]; projected: SprintFile; } /** Closed input surface: task field updates and full requirement/scenario definitions, never JSON paths. */ export declare function parseActivePlanInput(raw: unknown): ActivePlanInput; /** Read-only preparation; includes state, input, policy and inspected history in the decision digest. */ export declare function prepareActivePlan(scope: string, input: ActivePlanInput): ActivePlanPreview; /** Single-file transaction: contract changes and invalidation commit together, never via the ordinary multi-write plan. */ export declare function applyActivePlan(scope: string, input: ActivePlanInput, digest: string): ActivePlanPreview; export {}; //# sourceMappingURL=active-plan.d.ts.map