/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 */
import type { JSX } from 'react';
import { ReactNode } from 'react';
/**
 * Renders a draggable handle and drop-target line that let users reorder
 * top-level blocks by dragging. You supply the handle and target-line elements
 * via `menuComponent`/`menuRef` and `targetLineComponent`/`targetLineRef`, an
 * `anchorElem` to portal them into (defaults to `document.body`), and an
 * `isOnMenu` predicate used to detect interactions with the handle.
 *
 * @experimental The API may change in a future release.
 * @returns A portal containing the drag handle and target line.
 */
export declare function DraggableBlockPlugin_EXPERIMENTAL({ anchorElem, menuRef, targetLineRef, menuComponent, targetLineComponent, isOnMenu, onElementChanged, }: {
    anchorElem?: HTMLElement;
    menuRef: React.RefObject<HTMLElement | null>;
    targetLineRef: React.RefObject<HTMLElement | null>;
    menuComponent: ReactNode;
    targetLineComponent: ReactNode;
    isOnMenu: (element: HTMLElement) => boolean;
    onElementChanged?: (element: HTMLElement | null) => void;
}): JSX.Element;
