import React, { ReactNode, RefObject } from 'react';
export type DraggableListProps<DataItem> = {
    /** Callout that returns the newly re-ordered list items. */
    callout: (newList: DataItem[]) => void;
    /** Array of DOM elements that need drag and drop support. */
    children: Array<ReactNode>;
    /** Array of options. */
    listItems: DataItem[];
    /** Optional container selector. Use this if we are not directly wrapping around a list and instead we want to specify some other container nested deep inside. */
    containerSelector?: RefObject<HTMLDivElement>;
    /** Optional prop to disable default behavior of SortableJS. True by default as this fixes SortableJS buggy behavior. For some cases there won't be any issues and in such cases this can be set to false. */
    overrideDOMManipulation?: boolean;
    /** Custom class to style the wrapper */
    wrapperClass?: string;
};
declare const DraggableList: <DataItem>({ callout, children, listItems, containerSelector, overrideDOMManipulation, wrapperClass, }: DraggableListProps<DataItem>) => React.JSX.Element;
export default DraggableList;
