import type { ReactNode } from "react"; import type { Edge, LayoutDirection, LayoutNode } from "../types"; import type { ThemeColors } from "../utils/theme"; import type { MindMapPlugin } from "../plugins/types"; import type { LatexRenderer } from "./MindMapNode"; export interface MindMapCanvasProps { nodes: LayoutNode[]; edges: Edge[]; nodeMap: Record; theme: ThemeColors; direction: LayoutDirection; plugins?: MindMapPlugin[]; /** Transformed-group transform + entrance fade. */ pan: { x: number; y: number; }; zoom: number; initialReady: boolean; draggingCanvas: boolean; expandDelays: Record; newNodeIds: Set; searchMatches: Set; dimmedNodes: Set; readonly?: boolean; latexRenderer?: LatexRenderer; selectedNodeId?: string | null; editingId?: string | null; pendingEditId?: string | null; editText?: string; activeMatchId?: string | null; /** Ids of the subtree currently being dragged (rendered as ghosts in place). */ floatingSubtreeIds?: ReadonlySet; /** Extra layer (e.g. the editor's floating drag copy) drawn above the nodes. */ floatingSlot?: ReactNode; onNodeMouseDown?: (e: React.MouseEvent, nodeId: string) => void; onNodeClick?: (e: React.MouseEvent, nodeId: string) => void; onNodeDoubleClick?: (e: React.MouseEvent, nodeId: string, text: string) => void; onNodeContextMenu?: (e: React.MouseEvent, nodeId: string) => void; onEditChange?: (text: string) => void; onEditCommit?: () => void; onEditCancel?: () => void; onAddChild?: (e: React.MouseEvent, parentId: string, side?: "left" | "right") => void; onRemarkHover?: (nodeId: string | null) => void; onFoldToggle?: (nodeId: string) => void; } /** * The transformed `` that paints the mind map: edges, nodes, an optional * floating drag layer, and the plugin overlay. Shared by {@link MindMap} (full * editor) and {@link MindMapViewer} (read-only); editor-only behaviour is opt-in * via the selection/editing props and `floatingSubtreeIds` / `floatingSlot`. */ export declare function MindMapCanvas({ nodes, edges, nodeMap, theme, direction, plugins, pan, zoom, initialReady, draggingCanvas, expandDelays, newNodeIds, searchMatches, dimmedNodes, readonly, latexRenderer, selectedNodeId, editingId, pendingEditId, editText, activeMatchId, floatingSubtreeIds, floatingSlot, onNodeMouseDown, onNodeClick, onNodeDoubleClick, onNodeContextMenu, onEditChange, onEditCommit, onEditCancel, onAddChild, onRemarkHover, onFoldToggle, }: MindMapCanvasProps): import("react/jsx-runtime").JSX.Element;