/** * Goal-to-Kanban bridge module. * * Automatically creates and manages a kanban board for each `/goal set` mission. * The board mirrors the goal's deliverables as tasks flowing through * Backlog → In Progress → Done columns, and the autonomy engines update * task status as work progresses. * * API: * createGoalKanbanBoard(projectRoot, goalFile, goalId) → boardId * findGoalKanbanBoard(projectRoot, boardId) → KanbanBoard | null * deleteGoalKanbanBoard(projectRoot, boardId) → void * formatGoalKanbanPreview(goalFile) → string (rich display) * formatGoalKanbanChoicePrompt() → string (selection screen) */ import type { GoalFile } from './goal-store.js'; /** * Create (or update) a kanban board for the given goal. * * - If the goal file already carries a `kanbanBoardId` and the board still * exists, this is a no-op (returns the existing id). * - Otherwise a new board is created with three columns and one task per * deliverable. The board id is stored on `goalFile.kanbanBoardId`. * * Returns the board id. Returns null when the project root is unavailable. */ export declare function createGoalKanbanBoard(projectRoot: string, goalFile: GoalFile): Promise; /** * Find a kanban board by id. Returns null when the board doesn't exist * (e.g. manually deleted). The caller should handle this gracefully. */ export declare function findGoalKanbanBoard(projectRoot: string, boardId: string): Promise; /** * Delete the kanban board linked to a goal. Best-effort. */ export declare function deleteGoalKanbanBoard(projectRoot: string, boardId: string): Promise; /** * Find a goal-linked kanban board by its goal tag. * Used when the goal file's kanbanBoardId is missing but the board exists. */ export declare function findGoalBoardByTag(projectRoot: string, goalFile: GoalFile): Promise; /** * Build a formatted "Goal Kanban" preview block showing deliverables as * a kanban-column layout. This is the "Goal event" displayed after the * deliverables list. */ export declare function formatGoalKanbanPreview(goalFile: GoalFile, boardId?: string | null, taskCount?: number): string; /** * Build the "Goal event" banner — shown after deliverables in `/goal set`. * A compact, visually rich summary that doubles as the "goal event" trigger. */ export declare function formatGoalEvent(goalFile: GoalFile, boardId?: string | null): string; /** * Build the autonomy choice prompt — shown after the goal event. * Presents the user with two modes and asks for a selection. */ export declare function formatGoalAutonomyChoice(): string; /** * Parse a user choice for autonomy mode. * Returns 'eternal' | 'eternal-parallel' | null (skip). */ export declare function parseAutonomyChoice(input: string): 'eternal' | 'eternal-parallel' | null; /** * Extended GoalFile with optional kanban board reference. */ export interface GoalFileWithKanban extends GoalFile { kanbanBoardId?: string | undefined; } //# sourceMappingURL=goal-kanban.d.ts.map