/** * Minimal KanbanSDK interface consumed by the LangChain tools layer. * * Mirrors the public surface of `KanbanSDK` from `kanban-lite/sdk` so that * this package does not require a hard compile-time dependency on the main * kanban-lite package. Consumers pass a real `KanbanSDK` instance at runtime. */ export interface KanbanSDK { listBoards(): any[]; getBoard(boardId: string): any; createBoard(id: string, name: string, options?: any): any; deleteBoard(boardId: string): void; updateBoard(boardId: string, updates: any): any; getBoardActions(boardId?: string): Record; listCards(sortBy?: any, boardId?: string): Promise; getCard(cardId: string, boardId?: string): Promise; createCard(data: any): Promise; updateCard(cardId: string, updates: any, boardId?: string): Promise; moveCard(cardId: string, newStatus: any, position?: string, boardId?: string): Promise; deleteCard(cardId: string, boardId?: string): Promise; triggerAction(cardId: string, action: string, boardId?: string): Promise; getCardsByStatus(status: string, boardId?: string): Promise; getUniqueAssignees(boardId?: string): Promise; getUniqueLabels(boardId?: string): Promise; listComments(cardId: string, boardId?: string): Promise; addComment(cardId: string, author: string, content: string, boardId?: string): Promise; updateComment(cardId: string, commentId: string, content: string, boardId?: string): Promise; deleteComment(cardId: string, commentId: string, boardId?: string): Promise; streamComment(cardId: string, author: string, stream: AsyncIterable, options?: { boardId?: string; onStart?: (commentId: string, author: string, created: string) => void; onChunk?: (commentId: string, chunk: string) => void; }): Promise; listColumns(boardId?: string): any[]; addColumn(column: any, boardId?: string): any; updateColumn(columnId: string, updates: any, boardId?: string): any; removeColumn(columnId: string, boardId?: string): void; reorderColumns(columnIds: string[], boardId?: string): void; getLabels(): Record; setLabel(name: string, definition: any): void; deleteLabel(name: string): void; renameLabel(oldName: string, newName: string): void; filterCardsByLabelGroup(group: string, boardId?: string): Promise; listAttachments(cardId: string, boardId?: string): Promise; addAttachment(cardId: string, sourcePath: string, boardId?: string): Promise; removeAttachment(cardId: string, attachment: string, boardId?: string): Promise; listLogs(cardId: string, boardId?: string): Promise; addLog(cardId: string, text: string, options?: any, boardId?: string): Promise; clearLogs(cardId: string, boardId?: string): Promise; listBoardLogs(boardId?: string): Promise; addBoardLog(text: string, options?: any, boardId?: string): Promise; clearBoardLogs(boardId?: string): Promise; getSettings(): any; updateSettings(settings: any): void; workspaceRoot: string; init(): Promise; }