import type { PlanningState } from "../utils/types.js"; export type { PlanningState }; export declare class PlanningBridge { private readonly projectRoot; constructor(projectRoot: string); /** * Check if .planning/STATE.md exists at the project root. */ isAvailable(): boolean; /** * Read and parse .planning/ state into a PlanningState object. * Returns null if .planning/ doesn't exist or on any error. * Resilient: missing or malformed sections produce sensible defaults. */ readPlanningState(): PlanningState | null; /** * Update the progress line in STATE.md. * No-op if .planning/ doesn't exist. */ writeProgressUpdate(progress: string): void; /** * Append a blocker to the Blockers/Concerns section. * No-op if .planning/ doesn't exist. */ addBlocker(blocker: string): void; /** * Remove a blocker from the Blockers/Concerns section. * No-op if .planning/ doesn't exist or blocker not found. */ removeBlocker(blocker: string): void; /** * Mark a phase as complete in STATE.md by updating the Status line. * No-op if .planning/ doesn't exist. */ writePhaseCompletion(phase: string, summary: string): void; /** * Write a plan file for a phase. * Creates `.planning/phases//plan.md` with the given content. * No-op if .planning/ doesn't exist. */ writePlanFile(phaseName: string, content: string): void; /** * Parse "Phase: N of M (name)" from the Current Position section. */ private parseCurrentPhase; /** * Parse "Progress: [###...] NN%" line. */ private parseProgress; /** * Parse blockers from the Blockers/Concerns section. * Extracts text between the header and the next section (##). */ private parseBlockers; /** * Parse pending todos from the Pending Todos section. */ private parsePendingTodos; /** * Parse open (unchecked) requirements from .planning/REQUIREMENTS.md. * Scans for unchecked `- [ ]` lines. */ private parseOpenRequirements; /** * Extract the text content of a section by its header name. * Returns content between the header and the next header of same or higher level. */ private extractSection; /** * Parse list items from a section (lines starting with - or *). * Returns non-empty items. */ private parseListItems; /** * Escape special regex characters in a string. */ private escapeRegex; } //# sourceMappingURL=planning-bridge.d.ts.map