type DragOptionsBase = {
    steps?: number;
    duration?: number;
    noDrop?: boolean;
};
type DragOptions = DragOptionsBase & ({
    to: HTMLElement | {
        x: number;
        y: number;
    };
    delta?: undefined;
} | {
    delta: {
        x: number;
        y: number;
    };
    to?: undefined;
});
/**
 *
 * @param fireEvent This can be either fireEvent from @testing-library/react or fireEvent from storybook/test
 * @param element The element to drag
 * @param options
 * @param options.to The target element or coordinates to drag to (for offset dragging see "delta")
 * @param options.delta An x/y delta to drag the element by (for target element see "to")
 * @param options.steps The number of steps in the drag action (more = smoother)
 * @param options.duration The duration of the drag action in ms
 * @param options.noDrop Don't release the item being dragged - use to test overlay
 */
export declare function drag(fireEvent: any, element: HTMLElement, { to: inTo, delta, steps, duration, noDrop }: DragOptions): Promise<void>;
export {};
