import { EditorView } from "prosemirror-view";
import { Block } from "../../blocks/defaultBlocks.js";
import type { BlockNoteEditor } from "../../editor/BlockNoteEditor.js";
import { UiElementPosition } from "../../extensions-shared/UiElementPosition.js";
import { BlockSchema, InlineContentSchema, StyleSchema } from "../../schema/index.js";
export type SideMenuState<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema> = UiElementPosition & {
    block: Block<BSchema, I, S>;
};
export declare function getDraggableBlockFromElement(element: Element, view: EditorView): {
    node: HTMLElement;
    id: string;
} | undefined;
export declare function unsetDragImage(rootEl: Document | ShadowRoot): void;
export declare function dragStart<BSchema extends BlockSchema, I extends InlineContentSchema, S extends StyleSchema>(e: {
    dataTransfer: DataTransfer | null;
    clientY: number;
}, editor: BlockNoteEditor<BSchema, I, S>): void;
