import { KanbanOptions } from './kanban.types'; /** * Headless kanban board controller. Moves items between columns and reorders * them within a column via pointer drag (powered by * `@atlaskit/pragmatic-drag-and-drop`) and keyboard, reflecting `data-dragging` * and emitting a typed move event — it applies no visual styles. * * Markup: * ```html *
*
*
*
First task
*
Second task
*
*
*
*
*
*
* ``` */ export declare class Kanban { private readonly root; private readonly dragEnabled; private readonly keyboardEnabled; /** Scopes pragmatic-dnd interactions to this board instance. */ private readonly dndKey; private cleanups; constructor(root: HTMLElement, options?: KanbanOptions); private init; private prepareItem; private columns; private items; private listOf; private columnOfList; private itemsIn; private listForColumn; private itemValue; /** Current item `data-value`s for every column, keyed by column value. */ getOrder(): Record; /** Insert `item` into `list` at `index` (clamped). No event. */ private insertInto; private emitMove; private positionOf; /** * Move an item (by `data-value`) into a column (by `data-value`) at an * optional index (defaults to the end). Emits `kanban:move` when something * actually changes. */ moveItem(itemValue: string, toColumnValue: string, toIndex?: number): boolean; private onKeydown; private moveToAdjacentColumn; private setupDnd; /** Apply a completed pointer drop: compute the destination list + index and move. */ private applyDrop; /** Subscribe to a DOM event on the root element. Returns an unsubscribe fn. */ on(event: string, handler: (event: E) => void): () => void; destroy(): void; }