import type { DragStartEvent, Modifier, SensorDescriptor } from "@dnd-kit/core";
import React from "react";
export type SortableDivider = {
    afterIndex: number;
    renderFn: () => React.ReactNode;
};
type ItemId = number | string;
export type DragEndEvent = {
    id: ItemId;
    newIndex: number;
    itemIds: ItemId[];
};
export type RenderItemProps<T> = {
    item: T;
    id: ItemId;
    isDragOverlay?: boolean;
};
type SortableListProps<T> = {
    items: T[];
    getId: (item: T) => ItemId;
    renderItem: ({ item, id, isDragOverlay, }: RenderItemProps<T>) => JSX.Element | null;
    onSortStart?: (event: DragStartEvent) => void;
    onSortEnd?: ({ id, newIndex }: DragEndEvent) => void;
    sensors?: SensorDescriptor<any>[];
    modifiers?: Modifier[];
    useDragOverlay?: boolean;
    dividers?: SortableDivider[];
};
export declare const SortableList: <T>({ items, getId, renderItem, onSortStart, onSortEnd, sensors, modifiers, useDragOverlay, dividers, }: SortableListProps<T>) => import("react/jsx-runtime").JSX.Element;
export {};
