export interface TaskScope { files?: string[]; directories?: string[]; acceptanceCriteria?: string[]; outOfScope?: string[]; } export interface Task { id: string; title: string; description: string; directory: string; priority: "critical" | "high" | "medium" | "low"; status: "backlog" | "ready" | "review" | "in_progress" | "done" | "blocked" | "expired"; scope?: TaskScope; requiresReview?: boolean; timeLimitMs?: number; dispatchedAt?: number; context?: string; dependsOn?: string; sessionID?: string; agent?: string; createdAt: number; updatedAt: number; completedAt?: number; parentID?: string; subtasks?: string[]; tags?: string[]; } export interface Backlog { tasks: Task[]; paused: boolean; lastPlanAt?: number; version: number; } export declare function loadBacklog(filePath: string): Backlog; export declare function saveBacklog(filePath: string, backlog: Backlog): void; export declare function genID(): string; export declare function getNextTask(backlog: Backlog): Task | undefined; export declare function getActiveTasks(backlog: Backlog): Task[]; export declare function promoteNext(filePath: string, parentID: string): boolean; export declare function expireStale(filePath: string, maxAgeMs: number): number;