import { NodeDefinition } from '../../types/NodeDefinition'; import { Position } from '../../types/core'; /** * @file Hierarchical node add menu with nested submenus * * Architecture: * - NodeAddMenu: Root component, manages state and provides context * - SubmenuPanel: Unified positioned container (position: fixed) * - CategoryItem: Recursive category renderer * - NodeItem: Leaf node renderer */ import * as React from "react"; export type NodeAddMenuProps = { label: string; nodeDefinitions: NodeDefinition[]; onSelectNode: (nodeType: string, position: Position) => void; canvasPosition: Position; disabledNodeTypes?: string[]; onClose: () => void; /** Delay in ms before closing submenu on pointer leave (default: 150, use 0 for tests) */ closeDelayMs?: number; }; /** * Root component - manages state and context */ export declare const NodeAddMenu: React.FC;