export declare const OSC_NAMESPACE = ".osc"; export declare const PLAN_STAGES: readonly ['active', 'backlog', 'blocked', 'done']; export type PlanStage = typeof PLAN_STAGES[number]; export declare const PLAN_CREATION_STAGES: readonly ['active', 'backlog', 'blocked']; export type PlanCreationStage = typeof PLAN_CREATION_STAGES[number]; export declare const REQUIRED_PLAN_SECTIONS: readonly ['Status', 'Context', 'Goal', 'Constraints / Out of scope', 'Files to touch', 'Acceptance criteria', 'Verification steps', 'Open questions']; export interface MissionState { path: string; defined: boolean; reason?: string; } export interface PlanSummary { slug: string; path: string; stage: PlanStage; } export interface ScaffoldState { root: string; namespace: '.osc'; mission: MissionState; plans: Record; } export interface CreatedScaffoldFile { root: string; path: string; relativePath: string; slug: string; } export interface CreatedPlanSkeleton extends CreatedScaffoldFile { stage: PlanCreationStage; templateName?: string; } export interface PlanTemplateSummary { name: string; path: string; } export interface CreatedPlanAmendment extends CreatedScaffoldFile { parentPath: string; amendmentNumber: number; changelogStamped: boolean; } export interface ClosedPlanResult { root: string; slug: string; fromStage: PlanStage | 'root'; movedFiles: string[]; changelogStamped: boolean; alreadyDone: boolean; } export interface MovedPlanResult { root: string; slug: string; fromStage: PlanStage | 'root'; toStage: PlanCreationStage; movedFiles: string[]; alreadyInStage: boolean; } export interface ExecutionGroup { name: string; rationale: string; tasks: string; dependsOnPrevious: boolean; } export interface ExecutionStrategy { groups: ExecutionGroup[]; dependencies: string[]; delegationNotes: string[]; } export interface ParsedPlan { path: string; slug: string; status: string; goal: string; sections: Map; filesToTouch: string[]; acceptanceCriteria: string[]; verificationSteps: string[]; openQuestions: string[]; executionStrategy?: ExecutionStrategy; } export declare function inspectMission(root: string): MissionState; export declare function inspectScaffold(root?: string): ScaffoldState; export declare function findScaffoldRoot(start?: string): string | null; export declare function listPlanTemplates(start?: string): PlanTemplateSummary[]; export declare function createPlanSkeleton(slug: string, stage: PlanCreationStage, start?: string, options?: { templateName?: string; }): CreatedPlanSkeleton; export declare function createEvidenceNoteSkeleton(slug: string, start?: string, date?: Date): CreatedScaffoldFile; export declare function movePlan(slug: string, toStage: PlanCreationStage, start?: string): MovedPlanResult; export declare function createPlanAmendment(slug: string, start?: string, message?: string, date?: Date): CreatedPlanAmendment; export declare function closePlan(slug: string, start?: string, message?: string, date?: Date): ClosedPlanResult; export interface ParsedMarkdownSection { heading: string; body: string; line: number; } export declare function normalizeSectionHeading(raw: string): string; export declare function parseMarkdownSections(markdown: string): ParsedMarkdownSection[]; export declare function splitSections(markdown: string): Map; export interface ChecklistItem { text: string; checked: boolean; } export declare function parseChecklist(text: string): ChecklistItem[]; export declare function parsePlanFile(path: string): ParsedPlan; export declare function planToJson(plan: ParsedPlan): unknown;