import { DragEndEvent, DragOverEvent, DragStartEvent, UniqueIdentifier } from '@dnd-kit/core';
import { default as React } from 'react';
export interface KanbanItemData {
    id: UniqueIdentifier;
    [key: string]: any;
}
export interface KanbanColumnData<T extends KanbanItemData = KanbanItemData> {
    id: UniqueIdentifier;
    title: string;
    items: T[];
}
export interface KanbanBoardProps<T extends KanbanItemData> {
    columns: KanbanColumnData<T>[];
    onChange: (columns: KanbanColumnData<T>[]) => void;
    renderCard: (item: T, isDragging: boolean) => React.ReactNode;
    renderColumnHeader?: (column: KanbanColumnData<T>, dragHandleProps: Record<string, any>) => React.ReactNode;
    renderColumnFooter?: (column: KanbanColumnData<T>) => React.ReactNode;
    boardTrailingContent?: React.ReactNode;
    onCardClick?: (item: T) => void;
    onDragStart?: (event: DragStartEvent) => void;
    onDragOver?: (event: DragOverEvent) => void;
    onDragEnd?: (event: DragEndEvent) => void;
    className?: string;
    columnWidth?: number | string;
    /** Standard Card visual styles applied to columns */
    variant?: "primary" | "secondary" | "tertiary" | "high-contrast" | "ghost" | "surface" | "surface-container-lowest" | "surface-container-low" | "surface-container" | "surface-container-high" | "surface-container-highest";
    /** Standard Card border shapes applied to columns */
    shape?: "full" | "minimal" | "sharp";
    /** Renders outer boundary border lines on columns */
    bordered?: boolean;
    /** Controls columns drop-shadow levels */
    elevation?: "none" | 1 | 2 | 3 | 4 | 5;
    /** Applies back-blur translucent glass effects to columns */
    glass?: boolean;
}
export declare function KanbanBoard<T extends KanbanItemData>({ columns, onChange, renderCard, renderColumnHeader, renderColumnFooter, boardTrailingContent, onCardClick, className, columnWidth, variant, shape, bordered, elevation, glass, onDragStart, onDragOver, onDragEnd, }: KanbanBoardProps<T>): import("react/jsx-runtime").JSX.Element;
export declare const Kanban: typeof KanbanBoard & {
    Board: typeof KanbanBoard;
};
