import { type Node } from "../../../../../../pm/model.js"; import type { EditorView } from "../../../../../../pm/view.js"; import type { Logger2 } from "../../../../../../logger.js"; import { type DropCursorParams } from "./dnd-drop-cursor.js"; import "./dnd.css"; export type DnDControlHandler = { canDrag(): boolean; control_handleMouseDown: React.MouseEventHandler; control_handleMouseMove: React.MouseEventHandler; control_handleMouseUp: React.MouseEventHandler; control_handleMouseLeave: React.MouseEventHandler; }; interface TableHandler { update(node: Node): void; destroy(): void; } export type YfmTableDnDHandlerParams = { cellNode: Node; cellGetPos: () => number | undefined; logger: Logger2.ILogger; dropCursor?: DropCursorParams; }; export declare class YfmTableDnDHandler implements TableHandler { private readonly _rowHandler; private readonly _columnHandler; get row(): DnDControlHandler; get column(): DnDControlHandler; constructor(view: EditorView, params: YfmTableDnDHandlerParams); update(node: Node): void; destroy(): void; } export {};