import './drag-and-drop-list-item.less';
export type DragNDropItem = {
    index?: number;
    id: string | number;
    name: string;
};
export type DragNDropListItemProps = {
    id: string | number;
    index: number;
    listItem: DragNDropItem;
    getIndexById: (id: string | number) => number;
    onItemMove: (dragIndex: number, hoverIndex: number) => any;
    canDrag?: (listItem: DragNDropItem, index?: number) => boolean;
    canDrop?: (listItem: DragNDropItem, index?: number) => boolean;
    onDragEnd?: (listItem: DragNDropItem, index: number) => any;
    ListItemComponent?: (...args: any[]) => any;
    isActive?: boolean;
    isError?: string[];
    ListItemContent?: (...args: any[]) => any;
    setIsAnyItemDragging: (isAnyItemDragging: boolean) => any;
    isAnyItemDragging: boolean;
    listItemClassName?: string;
    shouldUseSeparateDragRef: boolean;
    dragItemType?: string;
    additionalListItemProps?: {
        [key: string]: unknown;
    };
};
export declare function DragNDropListItem({ id, index, listItem, getIndexById, onItemMove, canDrag, canDrop, onDragEnd, ListItemComponent, isAnyItemDragging, setIsAnyItemDragging, listItemClassName, shouldUseSeparateDragRef, isActive, isError, ListItemContent, dragItemType, additionalListItemProps, }: DragNDropListItemProps): import("react/jsx-runtime").JSX.Element;
