import React, { ReactNode } from "react";
export declare enum AllowableDnDAxis {
    x = "x",
    y = "y"
}
type FinsembleDnDContextProps = {
    id?: string;
    leftButtonTooltip?: string;
    rightButtonTooltip?: string;
    allowHorizontalScroll?: boolean;
    showScrollButtonsTooltip?: boolean;
    chevronScrollDistance?: number;
    onDragEnd?: any;
    onDragStart?: any;
    onDragMove?: any;
    onDragOver?: any;
    onLayoutUpdate?: any;
    transitionDuration?: number;
    distance?: number;
    axis?: AllowableDnDAxis;
    lockAxis?: AllowableDnDAxis;
    className?: string;
    metadata?: Record<string, any> | undefined;
    children?: ReactNode;
};
/**
 * The FinsembleDnDContext allows for all of the Draggable and Droppable components to work.
 * It wraps its children and allows them to do draggy and droppy things.
 * It also allows for horizontal containers to provide scrolling functionality.
 * @param props
 * @param props.id ID for the container that wraps the sortable container
 * @param props.allowHorizontalScroll whether the DND context should allow for horizontal scrolling
 * @param props.showScrollButtonsTooltip
 * @param props.leftButtonTooltip Tooltip for left scroll button
 * @param props.rightButtonTooltip Tooltip for right scroll button
 * @param props.chevronScrollDistance how far clicking the chevrons should push the content forward or backwards
 * @param props.onDragEnd handler for sorting
 * @param props.onDragBegin handler for sorting
 * @param props.onDragOver
 * @param props.onLayoutUpdate handler for rendering. Invokes on useLayoutEffect
 * @param props.distance how far the user has to drag an element to trigger sorting behavior
 * @param props.axis whether to sort vertically or horizontally.
 * @param props.className optional styles to pass the the sortable container
 */
export declare const FinsembleDnDContext: (props: FinsembleDnDContextProps) => React.JSX.Element;
export {};
//# sourceMappingURL=FinsembleDnDContext.d.ts.map