import * as React from "react"; export type KanbanCard = { key: string; title: React.ReactNode; description?: React.ReactNode; meta?: React.ReactNode; extra?: React.ReactNode; actions?: React.ReactNode; labels?: Array; priority?: "low" | "medium" | "high" | "urgent"; assignee?: { name: string; src?: string; fallback?: React.ReactNode; }; dueDate?: React.ReactNode; selected?: boolean; disabled?: boolean; }; export type KanbanColumn = { key: string; title: React.ReactNode; description?: React.ReactNode; cards: KanbanCard[]; count?: React.ReactNode; limit?: number; color?: string; actions?: React.ReactNode; footer?: React.ReactNode; disabled?: boolean; }; export type KanbanCardRenderContext = { index: number; isDragging: boolean; isDropTarget: boolean; selected: boolean; selectControl: React.ReactNode; handle: React.ReactNode; }; export type KanbanCardMove = { card: KanbanCard; fromColumn: KanbanColumn; toColumn: KanbanColumn; fromIndex: number; toIndex: number; }; export type KanbanBoardProps = Omit, "defaultValue"> & { columns?: KanbanColumn[]; defaultColumns?: KanbanColumn[]; onColumnsChange?: (columns: KanbanColumn[], change: KanbanCardMove) => void; onCardMove?: (change: KanbanCardMove) => void; canMoveCard?: (change: KanbanCardMove) => boolean; renderCard?: (card: KanbanCard, column: KanbanColumn, context: KanbanCardRenderContext) => React.ReactNode; onCardClick?: (card: KanbanCard, column: KanbanColumn) => void; onAddCard?: (column: KanbanColumn) => void; onAddColumn?: () => void; renderColumnHeader?: (column: KanbanColumn) => React.ReactNode; renderColumnFooter?: (column: KanbanColumn) => React.ReactNode; selectionMode?: "none" | "single" | "multiple"; selectedCardKeys?: string[]; defaultSelectedCardKeys?: string[]; onSelectionChange?: (keys: string[], cards: KanbanCard[]) => void; allowCrossColumn?: boolean; allowReorder?: boolean; density?: "compact" | "comfortable"; columnWidth?: number | string; disabled?: boolean; emptyColumn?: React.ReactNode; dragHandleLabel?: (card: KanbanCard, column: KanbanColumn) => string; columnClassName?: string; cardClassName?: string; overlayClassName?: string; }; declare function KanbanBoard({ columns: columnsProp, defaultColumns, onColumnsChange, onCardMove, canMoveCard, renderCard, onCardClick, onAddCard, onAddColumn, renderColumnHeader, renderColumnFooter, selectionMode, selectedCardKeys, defaultSelectedCardKeys, onSelectionChange, allowCrossColumn, allowReorder, density, columnWidth, disabled, emptyColumn, dragHandleLabel, columnClassName, cardClassName, overlayClassName, className, "aria-label": ariaLabel, ...props }: KanbanBoardProps): React.JSX.Element; export { KanbanBoard };