import { type ReactNode } from 'react'; import type { BoardChange, BoardColumnDef } from './types'; export interface BoardProps { columns: BoardColumnDef[]; onChange: (change: BoardChange) => void; onLoadMore?: (columnId: string) => void; onAddTicket?: (columnId: string) => void; onArchiveColumn?: (columnId: string) => void; getTicketHref?: (ticketId: string) => string; renderAssignSlot?: (ticket: BoardColumnDef['tickets'][number]) => ReactNode; onApprove?: (ticketId: string, requestId?: string) => void | Promise; onReject?: (ticketId: string, requestId?: string) => void | Promise; collapseStorageKey?: string; loadMoreRootMargin?: string; className?: string; } /** * The board renders `columns` and nothing else — there is no local mirror of * them, and a drag in progress changes no state here at all. * * That is the whole design. A card that previews its move by actually moving in * the data has to re-enter React on every lane crossing, which re-mounts it * under a new parent and re-measures the board; guarding that cascade is what * the old dnd-kit implementation spent a frame-freeze and a unit-tested rules * module on. Here the preview is a line drawn by the card being hovered, the * data moves once, on drop, and the cascade has nothing to feed on. */ export declare function Board({ columns, onChange, onLoadMore, onAddTicket, onArchiveColumn, getTicketHref, renderAssignSlot, onApprove, onReject, collapseStorageKey, loadMoreRootMargin, className, }: BoardProps): import("react").JSX.Element; //# sourceMappingURL=board.d.ts.map