export declare const planDir: string; export type TaskState = "pending" | "in_progress" | "done" | "failed" | "skipped"; export type PlanStatus = "draft" | "approved" | "in_progress" | "completed" | "abandoned"; export interface TaskEvidence { successWorkCount: number; lastOkTool?: string | undefined; sawSourceWrite?: boolean | undefined; sawFeatureWrite?: boolean | undefined; sawInstallOk?: boolean | undefined; sawScaffoldOk?: boolean | undefined; sawDevServerStart?: boolean | undefined; sawLocalHttpProbeOk?: boolean | undefined; sawServerReady?: boolean | undefined; sawPortListening?: boolean | undefined; sawRemoteReconOk?: boolean | undefined; sawRemoteActiveTestOk?: boolean | undefined; } export interface PlanTask { id: string; title: string; state: TaskState; note?: string | undefined; acceptanceCriteria?: string | undefined; evidence?: TaskEvidence | undefined; aliases?: string[] | undefined; dependencies?: string[] | undefined; resourceLocks?: string[] | undefined; supersededBy?: string | undefined; parentTaskId?: string | undefined; jobId?: string | undefined; processId?: number | undefined; responderOwned?: boolean | undefined; delegationId?: string | undefined; settledResultRevision?: number | undefined; } export interface PlanMeta { projectRoot?: string | undefined; packageManager?: string | undefined; devCommand?: string | undefined; } export interface SessionPlan { schemaVersion?: 2 | undefined; version?: number | undefined; sessionId: string; goal: string; detail: string; tasks: PlanTask[]; status: PlanStatus; kind: string; createdAt: string; updatedAt: string; meta?: PlanMeta | undefined; } export declare function serializeTasksPayload(plan: SessionPlan): string; interface Statement { run(...params: unknown[]): unknown; get(...params: unknown[]): unknown; all(...params: unknown[]): unknown[]; } export interface DatabaseLike { exec(sql: string): void; prepare(sql: string): Statement; } export declare function loadDatabase(): Promise; export declare function casPlanRowSqlite(db: DatabaseLike, plan: SessionPlan, expectedVersion: number): boolean; export {};