import * as React from "react"; export type SortableListChange = { activeId: string; overId: string | null; oldIndex: number; newIndex: number; item: TItem; }; export type SortableListRenderContext = { index: number; isDragging: boolean; isDropTarget: boolean; handle: React.ReactNode; }; export type SortableListProps = Omit, "children" | "defaultValue" | "onChange"> & { items?: TItem[]; defaultItems?: TItem[]; getItemId: (item: TItem) => string; getItemLabel?: (item: TItem) => string; renderItem: (item: TItem, context: SortableListRenderContext) => React.ReactNode; onItemsChange?: (items: TItem[], change: SortableListChange) => void; disabled?: boolean | ((item: TItem) => boolean); orientation?: "vertical" | "horizontal" | "grid"; empty?: React.ReactNode; handleLabel?: (item: TItem) => string; itemClassName?: string | ((item: TItem, context: SortableListRenderContext) => string); overlayClassName?: string; }; declare function SortableList({ items: itemsProp, defaultItems, getItemId, getItemLabel, renderItem, onItemsChange, disabled, orientation, empty, handleLabel, itemClassName, overlayClassName, className, "aria-label": ariaLabel, ...props }: SortableListProps): React.JSX.Element; export { SortableList };