import type { ValidationResult } from "../../features/work-state"; import type { WorkState } from "../../features/work-state/types"; import type { PlanRepository } from "./plan-repository"; import type { ExecutionLeaseRepository } from "../session/execution-lease"; export interface PlanService { readWorkState(directory: string): WorkState | null; findPlans(directory: string): string[]; getPlanProgress(planPath: string): { total: number; completed: number; isComplete: boolean; }; getPlanName(planPath: string): string; findIncompletePlans(plans: string[]): string[]; matchPlanByName(plans: string[], requestedName: string): string | null; createExecution(directory: string, planPath: string, sessionId: string, agent: string): WorkState; resumeExecution(directory: string, sessionId: string): WorkState | null; clearExecution(directory: string): boolean; } export declare function createPlanService(planRepository: PlanRepository): PlanService; export declare function createPlanServiceWithExecutionLease(planRepository: PlanRepository, executionLeaseRepository?: ExecutionLeaseRepository): PlanService; export type { ValidationResult };