import type { Snippet } from 'svelte'; export interface KanbanColumn { id: string; title: string; color?: string; /** Soft WIP limit — shown as warning when exceeded. */ limit?: number; } export interface KanbanAssignee { name: string; avatar?: string; } export type KanbanPriority = 'low' | 'medium' | 'high' | 'urgent'; export interface KanbanCard { id: string; columnId: string; title: string; description?: string; tags?: string[]; priority?: KanbanPriority; assignee?: KanbanAssignee; dueDate?: string; } interface KanbanProps { columns?: KanbanColumn[]; cards?: KanbanCard[]; /** * Max height for the scrollable card list inside each column. * Use `null` / omit with a stretched board (`class` + parent height) so * columns fill available height via flex instead. */ columnMaxHeight?: string | null; class?: string; /** Custom card body — receives the card. */ card?: Snippet<[KanbanCard]>; oncardmove?: (cardId: string, toColumnId: string, index: number) => void; oncardclick?: (card: KanbanCard) => void; } declare const Kanban: import("svelte").Component; type Kanban = ReturnType; export default Kanban;