[
  {
    "tags": {},
    "filePath": "src/GraphScene.tsx",
    "description": "",
    "displayName": "GraphScene",
    "methods": [],
    "props": {
      "layoutType": {
        "defaultValue": null,
        "description": "Type of layout.",
        "name": "layoutType",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "LayoutTypes"
        }
      },
      "selections": {
        "defaultValue": null,
        "description": "List of ids that are selected.",
        "name": "selections",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string[]"
        }
      },
      "actives": {
        "defaultValue": null,
        "description": "List of ids that are active.",
        "name": "actives",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string[]"
        }
      },
      "collapsedNodeIds": {
        "defaultValue": null,
        "description": "List of node ids that are collapsed.",
        "name": "collapsedNodeIds",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string[]"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Animate or not the graph positions.",
        "name": "animated",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "nodes": {
        "defaultValue": null,
        "description": "Nodes to pass to the graph.",
        "name": "nodes",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": true,
        "type": {
          "name": "GraphNode[]"
        }
      },
      "edges": {
        "defaultValue": null,
        "description": "Edges to pass to the graph.",
        "name": "edges",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": true,
        "type": {
          "name": "GraphEdge[]"
        }
      },
      "contextMenu": {
        "defaultValue": null,
        "description": "Context menu element.",
        "name": "contextMenu",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ContextMenuEvent) => ReactNode"
        }
      },
      "sizingType": {
        "defaultValue": null,
        "description": "Type of sizing for nodes.",
        "name": "sizingType",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "SizingType"
        }
      },
      "labelType": {
        "defaultValue": null,
        "description": "Type of visibility for labels.",
        "name": "labelType",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "LabelVisibilityType"
        }
      },
      "edgeLabelPosition": {
        "defaultValue": null,
        "description": "Place of visibility for edge labels.",
        "name": "edgeLabelPosition",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeLabelPosition"
        }
      },
      "edgeArrowPosition": {
        "defaultValue": null,
        "description": "Placement of edge arrows.",
        "name": "edgeArrowPosition",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeArrowPosition"
        }
      },
      "edgeInterpolation": {
        "defaultValue": {
          "value": "linear"
        },
        "description": "Shape of edge.",
        "name": "edgeInterpolation",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeInterpolation"
        }
      },
      "labelFontUrl": {
        "defaultValue": null,
        "description": "Font of label, same as troika-three-text\nThe URL of a custom font file to be used. Supported font formats are: * .ttf * .otf * .woff (.woff2 is not supported)\nDefault: The Roboto font loaded from Google Fonts CDN",
        "name": "labelFontUrl",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "sizingAttribute": {
        "defaultValue": null,
        "description": "Attribute based sizing property.",
        "name": "sizingAttribute",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "defaultNodeSize": {
        "defaultValue": null,
        "description": "The default size to size nodes to. Default is 7.",
        "name": "defaultNodeSize",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "minNodeSize": {
        "defaultValue": null,
        "description": "When using sizing attributes, the min size a node can be.",
        "name": "minNodeSize",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "maxNodeSize": {
        "defaultValue": null,
        "description": "When using sizing attributes, the max size a node can be.",
        "name": "maxNodeSize",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "clusterAttribute": {
        "defaultValue": null,
        "description": "Attribute used for clustering.",
        "name": "clusterAttribute",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Disable interactions or not.",
        "name": "disabled",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "draggable": {
        "defaultValue": null,
        "description": "Allow dragging of nodes.",
        "name": "draggable",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "constrainDragging": {
        "defaultValue": {
          "value": "false"
        },
        "description": "Constrain dragging to the cluster bounds. Default is `false`.",
        "name": "constrainDragging",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "renderNode": {
        "defaultValue": null,
        "description": "Render a custom node",
        "name": "renderNode",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "NodeRenderer"
        }
      },
      "onRenderCluster": {
        "defaultValue": null,
        "description": "Render a custom cluster",
        "name": "onRenderCluster",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ClusterRenderer"
        }
      },
      "layoutOverrides": {
        "defaultValue": null,
        "description": "Advanced overrides for the layout.",
        "name": "layoutOverrides",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "LayoutOverrides"
        }
      },
      "aggregateEdges": {
        "defaultValue": null,
        "description": "Whether to aggregate edges with the same source and target.",
        "name": "aggregateEdges",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "onNodeClick": {
        "defaultValue": null,
        "description": "When a node was clicked.",
        "name": "onNodeClick",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, props?: CollapseProps, event?: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onNodeDoubleClick": {
        "defaultValue": null,
        "description": "When a node was double clicked.",
        "name": "onNodeDoubleClick",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onNodeContextMenu": {
        "defaultValue": null,
        "description": "When a node context menu happened.",
        "name": "onNodeContextMenu",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, props?: NodeContextMenuProps) => void"
        }
      },
      "onNodePointerOver": {
        "defaultValue": null,
        "description": "When node got a pointer over.",
        "name": "onNodePointerOver",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onNodePointerOut": {
        "defaultValue": null,
        "description": "When node lost pointer over.",
        "name": "onNodePointerOut",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onNodeDragged": {
        "defaultValue": null,
        "description": "Triggered after a node was dragged.",
        "name": "onNodeDragged",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode) => void"
        }
      },
      "onClusterDragged": {
        "defaultValue": null,
        "description": "Triggered after a cluster was dragged.",
        "name": "onClusterDragged",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs) => void"
        }
      },
      "onEdgeContextMenu": {
        "defaultValue": null,
        "description": "When a edge context menu happened.",
        "name": "onEdgeContextMenu",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge?: InternalGraphEdge) => void"
        }
      },
      "onEdgeClick": {
        "defaultValue": null,
        "description": "When an edge was clicked.",
        "name": "onEdgeClick",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event?: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onEdgePointerOver": {
        "defaultValue": null,
        "description": "When edge got a pointer over.",
        "name": "onEdgePointerOver",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event?: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onEdgePointerOut": {
        "defaultValue": null,
        "description": "When edge lost pointer over.",
        "name": "onEdgePointerOut",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event?: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onClusterClick": {
        "defaultValue": null,
        "description": "When a cluster was clicked.",
        "name": "onClusterClick",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onClusterPointerOver": {
        "defaultValue": null,
        "description": "When a cluster receives a pointer over event.",
        "name": "onClusterPointerOver",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onClusterPointerOut": {
        "defaultValue": null,
        "description": "When cluster receives a pointer leave event.",
        "name": "onClusterPointerOut",
        "parent": {
          "fileName": "src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<PointerEvent>) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/CameraControls/CameraControls.tsx",
    "description": "",
    "displayName": "CameraControls",
    "methods": [],
    "props": {
      "mode": {
        "defaultValue": {
          "value": "rotate"
        },
        "description": "Mode of the camera.",
        "name": "mode",
        "parent": {
          "fileName": "src/CameraControls/CameraControls.tsx",
          "name": "CameraControlsProps"
        },
        "declarations": [
          {
            "fileName": "src/CameraControls/CameraControls.tsx",
            "name": "CameraControlsProps"
          }
        ],
        "required": false,
        "type": {
          "name": "CameraMode"
        }
      },
      "children": {
        "defaultValue": null,
        "description": "Children symbols.",
        "name": "children",
        "parent": {
          "fileName": "src/CameraControls/CameraControls.tsx",
          "name": "CameraControlsProps"
        },
        "declarations": [
          {
            "fileName": "src/CameraControls/CameraControls.tsx",
            "name": "CameraControlsProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ReactNode"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Animate transitions to centering.",
        "name": "animated",
        "parent": {
          "fileName": "src/CameraControls/CameraControls.tsx",
          "name": "CameraControlsProps"
        },
        "declarations": [
          {
            "fileName": "src/CameraControls/CameraControls.tsx",
            "name": "CameraControlsProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Whether the controls are enabled.",
        "name": "disabled",
        "parent": {
          "fileName": "src/CameraControls/CameraControls.tsx",
          "name": "CameraControlsProps"
        },
        "declarations": [
          {
            "fileName": "src/CameraControls/CameraControls.tsx",
            "name": "CameraControlsProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "maxDistance": {
        "defaultValue": {
          "value": "50000"
        },
        "description": "The maximum distance for the camera (perspective mode).",
        "name": "maxDistance",
        "parent": {
          "fileName": "src/CameraControls/CameraControls.tsx",
          "name": "CameraControlsProps"
        },
        "declarations": [
          {
            "fileName": "src/CameraControls/CameraControls.tsx",
            "name": "CameraControlsProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "minDistance": {
        "defaultValue": {
          "value": "1000"
        },
        "description": "The minimum distance for the camera (perspective mode).",
        "name": "minDistance",
        "parent": {
          "fileName": "src/CameraControls/CameraControls.tsx",
          "name": "CameraControlsProps"
        },
        "declarations": [
          {
            "fileName": "src/CameraControls/CameraControls.tsx",
            "name": "CameraControlsProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "maxZoom": {
        "defaultValue": {
          "value": "100"
        },
        "description": "The maximum zoom level for orthographic cameras.",
        "name": "maxZoom",
        "parent": {
          "fileName": "src/CameraControls/CameraControls.tsx",
          "name": "CameraControlsProps"
        },
        "declarations": [
          {
            "fileName": "src/CameraControls/CameraControls.tsx",
            "name": "CameraControlsProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "minZoom": {
        "defaultValue": {
          "value": "1"
        },
        "description": "The minimum zoom level for orthographic cameras.",
        "name": "minZoom",
        "parent": {
          "fileName": "src/CameraControls/CameraControls.tsx",
          "name": "CameraControlsProps"
        },
        "declarations": [
          {
            "fileName": "src/CameraControls/CameraControls.tsx",
            "name": "CameraControlsProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/GraphCanvas/GraphCanvas.tsx",
    "description": "",
    "displayName": "GraphCanvas",
    "methods": [],
    "props": {
      "theme": {
        "defaultValue": {
          "value": "{\n  canvas: { background: '#fff' },\n  node: {\n    fill: '#7CA0AB',\n    activeFill: '#1DE9AC',\n    opacity: 1,\n    selectedOpacity: 1,\n    inactiveOpacity: 0.2,\n    label: { color: '#2A6475', stroke: '#fff', activeColor: '#1DE9AC' },\n    subLabel: { color: '#ddd', stroke: 'transparent', activeColor: '#1DE9AC' }\n  },\n  lasso: { border: '1px solid #55aaff', background: 'rgba(75, 160, 255, 0.1)' },\n  ring: { fill: '#D8E6EA', activeFill: '#1DE9AC' },\n  edge: {\n    fill: '#D8E6EA',\n    activeFill: '#1DE9AC',\n    opacity: 1,\n    selectedOpacity: 1,\n    inactiveOpacity: 0.1,\n    label: {\n      stroke: '#fff',\n      color: '#2A6475',\n      activeColor: '#1DE9AC',\n      fontSize: 6\n    },\n    subLabel: {\n      color: '#ddd',\n      stroke: 'transparent',\n      activeColor: '#1DE9AC'\n    }\n  },\n  arrow: { fill: '#D8E6EA', activeFill: '#1DE9AC' },\n  cluster: {\n    stroke: '#D8E6EA',\n    opacity: 1,\n    selectedOpacity: 1,\n    inactiveOpacity: 0.1,\n    label: { stroke: '#fff', color: '#2A6475' }\n  }\n}"
        },
        "description": "Theme to use for the graph.",
        "name": "theme",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "Theme"
        }
      },
      "cameraMode": {
        "defaultValue": {
          "value": "pan"
        },
        "description": "Type of camera interaction.",
        "name": "cameraMode",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "CameraMode"
        }
      },
      "maxDistance": {
        "defaultValue": null,
        "description": "The maximum distance for the camera. Default is 50000.",
        "name": "maxDistance",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "minDistance": {
        "defaultValue": null,
        "description": "The minimum distance for the camera. Default is 1000.",
        "name": "minDistance",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "minZoom": {
        "defaultValue": null,
        "description": "The minimum zoom level for the camera. Default is 1.",
        "name": "minZoom",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "maxZoom": {
        "defaultValue": null,
        "description": "The maximum zoom level for the camera. Default is 100.",
        "name": "maxZoom",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "lassoType": {
        "defaultValue": {
          "value": "none"
        },
        "description": "The type of lasso selection.",
        "name": "lassoType",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "LassoType"
        }
      },
      "children": {
        "defaultValue": null,
        "description": "Children to render in the canvas. Useful for things like lights.",
        "name": "children",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ReactNode"
        }
      },
      "glOptions": {
        "defaultValue": {
          "value": "{}"
        },
        "description": "Ability to extend Cavas gl options. For example { preserveDrawingBuffer: true }",
        "name": "glOptions",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "object"
        }
      },
      "onLasso": {
        "defaultValue": null,
        "description": "When the canvas had a lasso selection.",
        "name": "onLasso",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(selections: string[]) => void"
        }
      },
      "onLassoEnd": {
        "defaultValue": null,
        "description": "When the canvas had a lasso selection end.",
        "name": "onLassoEnd",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(selections: string[]) => void"
        }
      },
      "onCanvasClick": {
        "defaultValue": null,
        "description": "When the canvas was clicked but didn't hit a node/edge.",
        "name": "onCanvasClick",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: MouseEvent) => void"
        }
      },
      "aggregateEdges": {
        "defaultValue": null,
        "description": "Whether to aggregate edges with the same source and target.",
        "name": "aggregateEdges",
        "parent": {
          "fileName": "src/GraphCanvas/GraphCanvas.tsx",
          "name": "GraphCanvasProps"
        },
        "declarations": [
          {
            "fileName": "src/GraphCanvas/GraphCanvas.tsx",
            "name": "GraphCanvasProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "layoutType": {
        "defaultValue": {
          "value": "forceDirected2d"
        },
        "description": "Type of layout.",
        "name": "layoutType",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "LayoutTypes"
        }
      },
      "selections": {
        "defaultValue": null,
        "description": "List of ids that are selected.",
        "name": "selections",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string[]"
        }
      },
      "actives": {
        "defaultValue": null,
        "description": "List of ids that are active.",
        "name": "actives",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string[]"
        }
      },
      "collapsedNodeIds": {
        "defaultValue": null,
        "description": "List of node ids that are collapsed.",
        "name": "collapsedNodeIds",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string[]"
        }
      },
      "animated": {
        "defaultValue": {
          "value": "true"
        },
        "description": "Animate or not the graph positions.",
        "name": "animated",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "nodes": {
        "defaultValue": null,
        "description": "Nodes to pass to the graph.",
        "name": "nodes",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": true,
        "type": {
          "name": "GraphNode[]"
        }
      },
      "edges": {
        "defaultValue": null,
        "description": "Edges to pass to the graph.",
        "name": "edges",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": true,
        "type": {
          "name": "GraphEdge[]"
        }
      },
      "contextMenu": {
        "defaultValue": null,
        "description": "Context menu element.",
        "name": "contextMenu",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ContextMenuEvent) => ReactNode"
        }
      },
      "sizingType": {
        "defaultValue": {
          "value": "default"
        },
        "description": "Type of sizing for nodes.",
        "name": "sizingType",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "SizingType"
        }
      },
      "labelType": {
        "defaultValue": {
          "value": "auto"
        },
        "description": "Type of visibility for labels.",
        "name": "labelType",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "LabelVisibilityType"
        }
      },
      "edgeLabelPosition": {
        "defaultValue": null,
        "description": "Place of visibility for edge labels.",
        "name": "edgeLabelPosition",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeLabelPosition"
        }
      },
      "edgeArrowPosition": {
        "defaultValue": null,
        "description": "Placement of edge arrows.",
        "name": "edgeArrowPosition",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeArrowPosition"
        }
      },
      "edgeInterpolation": {
        "defaultValue": null,
        "description": "Shape of edge.",
        "name": "edgeInterpolation",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeInterpolation"
        }
      },
      "labelFontUrl": {
        "defaultValue": null,
        "description": "Font of label, same as troika-three-text\nThe URL of a custom font file to be used. Supported font formats are: * .ttf * .otf * .woff (.woff2 is not supported)\nDefault: The Roboto font loaded from Google Fonts CDN",
        "name": "labelFontUrl",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "sizingAttribute": {
        "defaultValue": null,
        "description": "Attribute based sizing property.",
        "name": "sizingAttribute",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "defaultNodeSize": {
        "defaultValue": {
          "value": "7"
        },
        "description": "The default size to size nodes to. Default is 7.",
        "name": "defaultNodeSize",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "minNodeSize": {
        "defaultValue": {
          "value": "5"
        },
        "description": "When using sizing attributes, the min size a node can be.",
        "name": "minNodeSize",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "maxNodeSize": {
        "defaultValue": {
          "value": "15"
        },
        "description": "When using sizing attributes, the max size a node can be.",
        "name": "maxNodeSize",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "clusterAttribute": {
        "defaultValue": null,
        "description": "Attribute used for clustering.",
        "name": "clusterAttribute",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Disable interactions or not.",
        "name": "disabled",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "draggable": {
        "defaultValue": null,
        "description": "Allow dragging of nodes.",
        "name": "draggable",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "constrainDragging": {
        "defaultValue": null,
        "description": "Constrain dragging to the cluster bounds. Default is `false`.",
        "name": "constrainDragging",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "renderNode": {
        "defaultValue": null,
        "description": "Render a custom node",
        "name": "renderNode",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "NodeRenderer"
        }
      },
      "onRenderCluster": {
        "defaultValue": null,
        "description": "Render a custom cluster",
        "name": "onRenderCluster",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ClusterRenderer"
        }
      },
      "layoutOverrides": {
        "defaultValue": null,
        "description": "Advanced overrides for the layout.",
        "name": "layoutOverrides",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "LayoutOverrides"
        }
      },
      "onNodeClick": {
        "defaultValue": null,
        "description": "When a node was clicked.",
        "name": "onNodeClick",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, props?: CollapseProps, event?: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onNodeDoubleClick": {
        "defaultValue": null,
        "description": "When a node was double clicked.",
        "name": "onNodeDoubleClick",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onNodeContextMenu": {
        "defaultValue": null,
        "description": "When a node context menu happened.",
        "name": "onNodeContextMenu",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, props?: NodeContextMenuProps) => void"
        }
      },
      "onNodePointerOver": {
        "defaultValue": null,
        "description": "When node got a pointer over.",
        "name": "onNodePointerOver",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onNodePointerOut": {
        "defaultValue": null,
        "description": "When node lost pointer over.",
        "name": "onNodePointerOut",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onNodeDragged": {
        "defaultValue": null,
        "description": "Triggered after a node was dragged.",
        "name": "onNodeDragged",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode) => void"
        }
      },
      "onClusterDragged": {
        "defaultValue": null,
        "description": "Triggered after a cluster was dragged.",
        "name": "onClusterDragged",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs) => void"
        }
      },
      "onEdgeContextMenu": {
        "defaultValue": null,
        "description": "When a edge context menu happened.",
        "name": "onEdgeContextMenu",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge?: InternalGraphEdge) => void"
        }
      },
      "onEdgeClick": {
        "defaultValue": null,
        "description": "When an edge was clicked.",
        "name": "onEdgeClick",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event?: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onEdgePointerOver": {
        "defaultValue": null,
        "description": "When edge got a pointer over.",
        "name": "onEdgePointerOver",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event?: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onEdgePointerOut": {
        "defaultValue": null,
        "description": "When edge lost pointer over.",
        "name": "onEdgePointerOut",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event?: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onClusterClick": {
        "defaultValue": null,
        "description": "When a cluster was clicked.",
        "name": "onClusterClick",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onClusterPointerOver": {
        "defaultValue": null,
        "description": "When a cluster receives a pointer over event.",
        "name": "onClusterPointerOver",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onClusterPointerOut": {
        "defaultValue": null,
        "description": "When cluster receives a pointer leave event.",
        "name": "onClusterPointerOut",
        "parent": {
          "fileName": "reagraph/src/GraphScene.tsx",
          "name": "GraphSceneProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/GraphScene.tsx",
            "name": "GraphSceneProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<PointerEvent>) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/RadialMenu/RadialMenu.tsx",
    "description": "",
    "displayName": "RadialMenu",
    "methods": [],
    "props": {
      "items": {
        "defaultValue": null,
        "description": "An array of menu items to be displayed in the radial menu.",
        "name": "items",
        "parent": {
          "fileName": "src/RadialMenu/RadialMenu.tsx",
          "name": "RadialMenuProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialMenu.tsx",
            "name": "RadialMenuProps"
          }
        ],
        "required": true,
        "type": {
          "name": "MenuItem[]"
        }
      },
      "radius": {
        "defaultValue": {
          "value": "175"
        },
        "description": "The radius of the radial menu.",
        "name": "radius",
        "parent": {
          "fileName": "src/RadialMenu/RadialMenu.tsx",
          "name": "RadialMenuProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialMenu.tsx",
            "name": "RadialMenuProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "innerRadius": {
        "defaultValue": {
          "value": "25"
        },
        "description": "The inner radius of the radial menu.",
        "name": "innerRadius",
        "parent": {
          "fileName": "src/RadialMenu/RadialMenu.tsx",
          "name": "RadialMenuProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialMenu.tsx",
            "name": "RadialMenuProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "startOffsetAngle": {
        "defaultValue": {
          "value": "0"
        },
        "description": "The starting offset angle for the first menu item.",
        "name": "startOffsetAngle",
        "parent": {
          "fileName": "src/RadialMenu/RadialMenu.tsx",
          "name": "RadialMenuProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialMenu.tsx",
            "name": "RadialMenuProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "className": {
        "defaultValue": null,
        "description": "The CSS class name for the radial menu.",
        "name": "className",
        "parent": {
          "fileName": "src/RadialMenu/RadialMenu.tsx",
          "name": "RadialMenuProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialMenu.tsx",
            "name": "RadialMenuProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "onClose": {
        "defaultValue": null,
        "description": "A function that is called when the radial menu is closed.\nThe function receives the mouse event that triggered the closure.",
        "name": "onClose",
        "parent": {
          "fileName": "src/RadialMenu/RadialMenu.tsx",
          "name": "RadialMenuProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialMenu.tsx",
            "name": "RadialMenuProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: MouseEvent<HTMLDivElement, MouseEvent>) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/RadialMenu/RadialSlice.tsx",
    "description": "",
    "displayName": "RadialSlice",
    "methods": [],
    "props": {
      "startAngle": {
        "defaultValue": null,
        "description": "The starting angle of the radial slice, in degrees.",
        "name": "startAngle",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "RadialSliceProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "RadialSliceProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "endAngle": {
        "defaultValue": null,
        "description": "The ending angle of the radial slice, in degrees.",
        "name": "endAngle",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "RadialSliceProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "RadialSliceProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "skew": {
        "defaultValue": null,
        "description": "The skew of the radial slice.",
        "name": "skew",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "RadialSliceProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "RadialSliceProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "polar": {
        "defaultValue": null,
        "description": "Whether the radial slice is polar (true) or not (false).",
        "name": "polar",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "RadialSliceProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "RadialSliceProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "centralAngle": {
        "defaultValue": null,
        "description": "The central angle of the radial slice, in degrees.",
        "name": "centralAngle",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "RadialSliceProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "RadialSliceProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "radius": {
        "defaultValue": null,
        "description": "The radius of the radial slice.",
        "name": "radius",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "RadialSliceProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "RadialSliceProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "innerRadius": {
        "defaultValue": null,
        "description": "The inner radius of the radial slice.",
        "name": "innerRadius",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "RadialSliceProps"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "RadialSliceProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "label": {
        "defaultValue": null,
        "description": "Label to display on the menu item.",
        "name": "label",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "MenuItem"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "MenuItem"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "className": {
        "defaultValue": null,
        "description": "CSS Classname to apply to the slice.",
        "name": "className",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "MenuItem"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "MenuItem"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "icon": {
        "defaultValue": null,
        "description": "Optional icon to display on the menu item.",
        "name": "icon",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "MenuItem"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "MenuItem"
          }
        ],
        "required": false,
        "type": {
          "name": "ReactNode"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Optional callback to detemine if the menu item is active.",
        "name": "disabled",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "MenuItem"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "MenuItem"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "onClick": {
        "defaultValue": null,
        "description": "Optional callback to handle when the menu item is clicked.",
        "name": "onClick",
        "parent": {
          "fileName": "src/RadialMenu/RadialSlice.tsx",
          "name": "MenuItem"
        },
        "declarations": [
          {
            "fileName": "src/RadialMenu/RadialSlice.tsx",
            "name": "MenuItem"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: MouseEvent<HTMLDivElement, MouseEvent>) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/selection/Lasso.tsx",
    "description": "",
    "displayName": "Lasso",
    "methods": [],
    "props": {
      "disabled": {
        "defaultValue": null,
        "description": "Whether the lasso tool is disabled.",
        "name": "disabled",
        "declarations": [
          {
            "fileName": "src/selection/Lasso.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "type": {
        "defaultValue": {
          "value": "none"
        },
        "description": "The type of the lasso tool.",
        "name": "type",
        "declarations": [
          {
            "fileName": "src/selection/Lasso.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "LassoType"
        }
      },
      "onLasso": {
        "defaultValue": null,
        "description": "A function that is called when the lasso tool is used to select nodes.\nThe function receives an array of the ids of the selected nodes.",
        "name": "onLasso",
        "declarations": [
          {
            "fileName": "src/selection/Lasso.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "(selections: string[]) => void"
        }
      },
      "onLassoEnd": {
        "defaultValue": null,
        "description": "A function that is called when the lasso tool is released, ending the selection.\nThe function receives an array of the ids of the selected nodes.",
        "name": "onLassoEnd",
        "declarations": [
          {
            "fileName": "src/selection/Lasso.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "(selections: string[]) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/Arrow.tsx",
    "description": "",
    "displayName": "Arrow",
    "methods": [],
    "props": {
      "animated": {
        "defaultValue": null,
        "description": "Whether the arrow should be animated.",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "color": {
        "defaultValue": {
          "value": "#D8E6EA"
        },
        "description": "The color of the arrow.",
        "name": "color",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "length": {
        "defaultValue": null,
        "description": "The length of the arrow.",
        "name": "length",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "0.5"
        },
        "description": "The opacity of the arrow.",
        "name": "opacity",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "position": {
        "defaultValue": null,
        "description": "The position of the arrow in 3D space.",
        "name": "position",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": true,
        "type": {
          "name": "Vector3"
        }
      },
      "rotation": {
        "defaultValue": null,
        "description": "The rotation of the arrow in 3D space.",
        "name": "rotation",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": true,
        "type": {
          "name": "Vector3"
        }
      },
      "size": {
        "defaultValue": {
          "value": "1"
        },
        "description": "The size of the arrow.",
        "name": "size",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "onContextMenu": {
        "defaultValue": null,
        "description": "A function that is called when the arrow is right-clicked.",
        "name": "onContextMenu",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": false,
        "type": {
          "name": "() => void"
        }
      },
      "onActive": {
        "defaultValue": null,
        "description": "A function that is called when the arrow is selected or deselected.",
        "name": "onActive",
        "parent": {
          "fileName": "src/symbols/Arrow.tsx",
          "name": "ArrowProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Arrow.tsx",
            "name": "ArrowProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(state: boolean) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/Cluster.tsx",
    "description": "",
    "displayName": "Cluster",
    "methods": [],
    "props": {
      "animated": {
        "defaultValue": null,
        "description": "Whether the circle should be animated.",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "radius": {
        "defaultValue": {
          "value": "2"
        },
        "description": "The radius of the circle. Default 1.",
        "name": "radius",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "padding": {
        "defaultValue": {
          "value": "40"
        },
        "description": "The padding of the circle. Default 20.",
        "name": "padding",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "labelFontUrl": {
        "defaultValue": null,
        "description": "The url for the label font.",
        "name": "labelFontUrl",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Whether the node is disabled.",
        "name": "disabled",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "onClick": {
        "defaultValue": null,
        "description": "When the cluster was clicked.",
        "name": "onClick",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onPointerOver": {
        "defaultValue": null,
        "description": "When a cluster receives a pointer over event.",
        "name": "onPointerOver",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onPointerOut": {
        "defaultValue": null,
        "description": "When cluster receives a pointer leave event.",
        "name": "onPointerOut",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "draggable": {
        "defaultValue": {
          "value": "false"
        },
        "description": "Whether the cluster is draggable",
        "name": "draggable",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "onDragged": {
        "defaultValue": null,
        "description": "Triggered after a cluster was dragged",
        "name": "onDragged",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(cluster: ClusterEventArgs) => void"
        }
      },
      "onRender": {
        "defaultValue": null,
        "description": "Render a custom cluster label",
        "name": "onRender",
        "parent": {
          "fileName": "src/symbols/Cluster.tsx",
          "name": "ClusterProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Cluster.tsx",
            "name": "ClusterProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ClusterRenderer"
        }
      },
      "nodes": {
        "defaultValue": null,
        "description": "Nodes in the cluster.",
        "name": "nodes",
        "parent": {
          "fileName": "reagraph/src/utils/cluster.ts",
          "name": "ClusterGroup"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/utils/cluster.ts",
            "name": "ClusterGroup"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphNode[]"
        }
      },
      "position": {
        "defaultValue": null,
        "description": "Center position of the cluster.",
        "name": "position",
        "parent": {
          "fileName": "reagraph/src/utils/cluster.ts",
          "name": "ClusterGroup"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/utils/cluster.ts",
            "name": "ClusterGroup"
          }
        ],
        "required": true,
        "type": {
          "name": "CenterPositionVector"
        }
      },
      "label": {
        "defaultValue": null,
        "description": "Label of the cluster.",
        "name": "label",
        "parent": {
          "fileName": "reagraph/src/utils/cluster.ts",
          "name": "ClusterGroup"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/utils/cluster.ts",
            "name": "ClusterGroup"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/Edge.tsx",
    "description": "",
    "displayName": "Edge",
    "methods": [],
    "props": {
      "labelFontUrl": {
        "defaultValue": null,
        "description": "The url for the label font.",
        "name": "labelFontUrl",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "id": {
        "defaultValue": null,
        "description": "The unique identifier of the edge.",
        "name": "id",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Whether the edge should be animated.",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Whether the edge should be disabled.",
        "name": "disabled",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "labelPlacement": {
        "defaultValue": {
          "value": "inline"
        },
        "description": "The placement of the edge label.",
        "name": "labelPlacement",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeLabelPosition"
        }
      },
      "subLabelPlacement": {
        "defaultValue": {
          "value": "below"
        },
        "description": "The placement of the edge subLabel relative to the main label.",
        "name": "subLabelPlacement",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeSubLabelPosition"
        }
      },
      "arrowPlacement": {
        "defaultValue": {
          "value": "end"
        },
        "description": "The placement of the edge arrow.",
        "name": "arrowPlacement",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeArrowPosition"
        }
      },
      "interpolation": {
        "defaultValue": null,
        "description": "The type of interpolation used to draw the edge.",
        "name": "interpolation",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": true,
        "type": {
          "name": "EdgeInterpolation"
        }
      },
      "contextMenu": {
        "defaultValue": null,
        "description": "A function that returns the context menu for the edge.",
        "name": "contextMenu",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: Partial<ContextMenuEvent>) => ReactNode"
        }
      },
      "onClick": {
        "defaultValue": null,
        "description": "A function that is called when the edge is clicked.",
        "name": "onClick",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onContextMenu": {
        "defaultValue": null,
        "description": "A function that is called when the edge is right-clicked.",
        "name": "onContextMenu",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge?: InternalGraphEdge) => void"
        }
      },
      "onPointerOver": {
        "defaultValue": null,
        "description": "A function that is called when the mouse pointer is moved over the edge.",
        "name": "onPointerOver",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onPointerOut": {
        "defaultValue": null,
        "description": "A function that is called when the mouse pointer is moved out of the edge.",
        "name": "onPointerOut",
        "parent": {
          "fileName": "src/symbols/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge, event: ThreeEvent<PointerEvent>) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/Label.tsx",
    "description": "",
    "displayName": "Label",
    "methods": [],
    "props": {
      "text": {
        "defaultValue": null,
        "description": "Text to render.",
        "name": "text",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "fontUrl": {
        "defaultValue": null,
        "description": "Font URL.\nReference: https://github.com/reaviz/reagraph/issues/23",
        "name": "fontUrl",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "fontSize": {
        "defaultValue": {
          "value": "7"
        },
        "description": "Size of the font.",
        "name": "fontSize",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "color": {
        "defaultValue": {
          "value": "#2A6475"
        },
        "description": "Color of the text.",
        "name": "color",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "stroke": {
        "defaultValue": null,
        "description": "Stroke of the text.",
        "name": "stroke",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "backgroundColor": {
        "defaultValue": null,
        "description": "Background color of the label.",
        "name": "backgroundColor",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "backgroundOpacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Opacity of the background.",
        "name": "backgroundOpacity",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "padding": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Padding around the text for background sizing.",
        "name": "padding",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "strokeColor": {
        "defaultValue": null,
        "description": "Color of the background stroke/border.",
        "name": "strokeColor",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "strokeWidth": {
        "defaultValue": {
          "value": "0"
        },
        "description": "Size of the background stroke/border.",
        "name": "strokeWidth",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "radius": {
        "defaultValue": {
          "value": "0.1"
        },
        "description": "Corner radius of the background.",
        "name": "radius",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Opacity for the label.",
        "name": "opacity",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "ellipsis": {
        "defaultValue": {
          "value": "75"
        },
        "description": "The lenth of which to start the ellipsis.",
        "name": "ellipsis",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "active": {
        "defaultValue": null,
        "description": "Whether the label is active ( dragging, hover, focus ).",
        "name": "active",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "rotation": {
        "defaultValue": null,
        "description": "Rotation of the label.",
        "name": "rotation",
        "parent": {
          "fileName": "src/symbols/Label.tsx",
          "name": "LabelProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Label.tsx",
            "name": "LabelProps"
          }
        ],
        "required": false,
        "type": {
          "name": "Euler | [number, number, number]"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/Line.tsx",
    "description": "",
    "displayName": "Line",
    "methods": [],
    "props": {
      "animated": {
        "defaultValue": null,
        "description": "Whether the line should be animated.",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "color": {
        "defaultValue": {
          "value": "#000"
        },
        "description": "The color of the line.",
        "name": "color",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "curved": {
        "defaultValue": {
          "value": "false"
        },
        "description": "Whether the line should be curved.",
        "name": "curved",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "curve": {
        "defaultValue": null,
        "description": "The curve of the line in 3D space.",
        "name": "curve",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": true,
        "type": {
          "name": "Curve<Vector3>"
        }
      },
      "dashed": {
        "defaultValue": {
          "value": "false"
        },
        "description": "Whether the line should be dashed.",
        "name": "dashed",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "dashArray": {
        "defaultValue": {
          "value": "[3, 1]"
        },
        "description": "Dash pattern for the line: [dashSize, gapSize]",
        "name": "dashArray",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "[number, number]"
        }
      },
      "id": {
        "defaultValue": null,
        "description": "The unique identifier of the line.",
        "name": "id",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "The opacity of the line.",
        "name": "opacity",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "size": {
        "defaultValue": {
          "value": "1"
        },
        "description": "The size of the line.",
        "name": "size",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "renderOrder": {
        "defaultValue": {
          "value": "-1"
        },
        "description": "The render order of the line. Useful when edges are rendered on top of each other.",
        "name": "renderOrder",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "onClick": {
        "defaultValue": null,
        "description": "A function that is called when the line is clicked.",
        "name": "onClick",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onContextMenu": {
        "defaultValue": null,
        "description": "A function that is called when the line is right-clicked.",
        "name": "onContextMenu",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "() => void"
        }
      },
      "onPointerOver": {
        "defaultValue": null,
        "description": "A function that is called when the mouse pointer is moved over the line.",
        "name": "onPointerOver",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onPointerOut": {
        "defaultValue": null,
        "description": "A function that is called when the mouse pointer is moved out of the line.",
        "name": "onPointerOut",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "curveOffset": {
        "defaultValue": null,
        "description": "The offset of the curve.",
        "name": "curveOffset",
        "parent": {
          "fileName": "src/symbols/Line.tsx",
          "name": "LineProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Line.tsx",
            "name": "LineProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/Node.tsx",
    "description": "",
    "displayName": "Node",
    "methods": [],
    "props": {
      "id": {
        "defaultValue": null,
        "description": "The unique identifier for the node.",
        "name": "id",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "parents": {
        "defaultValue": null,
        "description": "The parent nodes of the node.",
        "name": "parents",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string[]"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Whether the node is disabled.",
        "name": "disabled",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Whether the node is animated.",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "draggable": {
        "defaultValue": {
          "value": "false"
        },
        "description": "Whether the node is draggable.",
        "name": "draggable",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "constrainDragging": {
        "defaultValue": null,
        "description": "Constrain dragging to the cluster bounds.",
        "name": "constrainDragging",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "labelFontUrl": {
        "defaultValue": null,
        "description": "The url for the label font.",
        "name": "labelFontUrl",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "renderNode": {
        "defaultValue": null,
        "description": "The function to use to render the node.",
        "name": "renderNode",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "NodeRenderer"
        }
      },
      "contextMenu": {
        "defaultValue": null,
        "description": "The context menu for the node.",
        "name": "contextMenu",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ContextMenuEvent) => ReactNode"
        }
      },
      "onPointerOver": {
        "defaultValue": null,
        "description": "The function to call when the pointer is over the node.",
        "name": "onPointerOver",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onPointerOut": {
        "defaultValue": null,
        "description": "The function to call when the pointer is out of the node.",
        "name": "onPointerOut",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onClick": {
        "defaultValue": null,
        "description": "The function to call when the node is clicked.",
        "name": "onClick",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, props?: CollapseProps, event?: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onDoubleClick": {
        "defaultValue": null,
        "description": "The function to call when the node is double clicked.",
        "name": "onDoubleClick",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode, event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onContextMenu": {
        "defaultValue": null,
        "description": "The function to call when the node is right clicked.",
        "name": "onContextMenu",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node?: InternalGraphNode, props?: NodeContextMenuProps) => void"
        }
      },
      "onDragged": {
        "defaultValue": null,
        "description": "Triggered after a node was dragged.",
        "name": "onDragged",
        "parent": {
          "fileName": "src/symbols/Node.tsx",
          "name": "NodeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Node.tsx",
            "name": "NodeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(node: InternalGraphNode) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/Ring.tsx",
    "description": "",
    "displayName": "Ring",
    "methods": [],
    "props": {
      "color": {
        "defaultValue": {
          "value": "#D8E6EA"
        },
        "description": "The color of the ring.",
        "name": "color",
        "parent": {
          "fileName": "src/symbols/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Whether the ring should be animated.",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "size": {
        "defaultValue": {
          "value": "1"
        },
        "description": "The size of the ring.",
        "name": "size",
        "parent": {
          "fileName": "src/symbols/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "0.5"
        },
        "description": "The opacity of the ring.",
        "name": "opacity",
        "parent": {
          "fileName": "src/symbols/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "strokeWidth": {
        "defaultValue": {
          "value": "5"
        },
        "description": "The stroke width of the ring.",
        "name": "strokeWidth",
        "parent": {
          "fileName": "src/symbols/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "innerRadius": {
        "defaultValue": {
          "value": "4"
        },
        "description": "The inner radius of the ring.\nDefault value: 4",
        "name": "innerRadius",
        "parent": {
          "fileName": "src/symbols/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "segments": {
        "defaultValue": {
          "value": "25"
        },
        "description": "The number of segments in the ring geometry.\nDefault value: 25",
        "name": "segments",
        "parent": {
          "fileName": "src/symbols/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/clusters/Ring.tsx",
    "description": "",
    "displayName": "Ring",
    "methods": [],
    "props": {
      "outerRadius": {
        "defaultValue": null,
        "description": "",
        "name": "outerRadius",
        "parent": {
          "fileName": "src/symbols/clusters/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/clusters/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "innerRadius": {
        "defaultValue": null,
        "description": "",
        "name": "innerRadius",
        "parent": {
          "fileName": "src/symbols/clusters/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/clusters/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "padding": {
        "defaultValue": null,
        "description": "",
        "name": "padding",
        "parent": {
          "fileName": "src/symbols/clusters/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/clusters/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "normalizedFill": {
        "defaultValue": null,
        "description": "",
        "name": "normalizedFill",
        "parent": {
          "fileName": "src/symbols/clusters/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/clusters/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": true,
        "type": {
          "name": "Color"
        }
      },
      "normalizedStroke": {
        "defaultValue": null,
        "description": "",
        "name": "normalizedStroke",
        "parent": {
          "fileName": "src/symbols/clusters/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/clusters/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": true,
        "type": {
          "name": "Color"
        }
      },
      "opacity": {
        "defaultValue": null,
        "description": "",
        "name": "opacity",
        "parent": {
          "fileName": "src/symbols/clusters/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/clusters/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/clusters/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/clusters/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "theme": {
        "defaultValue": null,
        "description": "",
        "name": "theme",
        "parent": {
          "fileName": "src/symbols/clusters/Ring.tsx",
          "name": "RingProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/clusters/Ring.tsx",
            "name": "RingProps"
          }
        ],
        "required": true,
        "type": {
          "name": "Theme"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/edges/Edge.tsx",
    "description": "",
    "displayName": "Edge",
    "methods": [],
    "props": {
      "animated": {
        "defaultValue": null,
        "description": "Whether the edge should be animated.",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Whether the edge should be disabled.",
        "name": "disabled",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "color": {
        "defaultValue": null,
        "description": "The color of the edge.",
        "name": "color",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": true,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "contextMenu": {
        "defaultValue": null,
        "description": "A function that returns the context menu for the edge.",
        "name": "contextMenu",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: Partial<ContextMenuEvent>) => ReactNode"
        }
      },
      "edge": {
        "defaultValue": null,
        "description": "The edge object.",
        "name": "edge",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphEdge"
        }
      },
      "labelFontUrl": {
        "defaultValue": null,
        "description": "The URL of the font for the edge label.",
        "name": "labelFontUrl",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "labelPlacement": {
        "defaultValue": {
          "value": "inline"
        },
        "description": "The placement of the edge label.",
        "name": "labelPlacement",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeLabelPosition"
        }
      },
      "opacity": {
        "defaultValue": null,
        "description": "The opacity of the edge.",
        "name": "opacity",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "active": {
        "defaultValue": null,
        "description": "Whether the edge is active.",
        "name": "active",
        "parent": {
          "fileName": "src/symbols/edges/Edge.tsx",
          "name": "EdgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edge.tsx",
            "name": "EdgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      }
    }
  },
  {
    "tags": {
      "react-three": "/fiber world,\nspecifically:\n\n* manually create edge/arrow geometries (see `useEdgeGeometry`)\n* manually track mouse/edge interactions and fire events (see `useEdgeEvents`)\n* manually update edge/arrow positions during aniamations (see `useEdgeAnimations`)"
    },
    "filePath": "src/symbols/edges/Edges.tsx",
    "description": "Three.js rendering starts to get slower if you have an individual mesh for each edge\nand a high number of edges.\n\nInstead, we take the edges and split them into their different render states:\n\n * - Active (any edges that are marked as \"selected\" or \"active\" in the state)\n * - Dragging (any edges that are connected to a node that is being dragged)\n * - Intersecting (any edges that are currently intersected by the ray from the mouse position)\n * - Inactive (any edges that aren't active, dragging, or intersected)\n\nWe generate the geometry for each edge in each of these groups, and then merge them\ninto a single geometry for each group. This merged mesh is rendered as one object\nwhich gives much better performance. This means that we only need to update geometry\nand positions when edges move between the different states, rather than updating all\nedges whenever any other edge changes.\n\nTo get this all working, we have to do a few things outside the",
    "displayName": "Edges",
    "methods": [],
    "props": {
      "animated": {
        "defaultValue": null,
        "description": "Whether the edge should be animated.",
        "name": "animated",
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edges.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "arrowPlacement": {
        "defaultValue": {
          "value": "end"
        },
        "description": "The placement of the edge arrow.",
        "name": "arrowPlacement",
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edges.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeArrowPosition"
        }
      },
      "contextMenu": {
        "defaultValue": null,
        "description": "A function that returns the context menu for the edge.",
        "name": "contextMenu",
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edges.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: Partial<ContextMenuEvent>) => ReactNode"
        }
      },
      "disabled": {
        "defaultValue": null,
        "description": "Whether the edge should be disabled.",
        "name": "disabled",
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edges.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "edges": {
        "defaultValue": null,
        "description": "The array of edge objects.",
        "name": "edges",
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edges.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphEdge[]"
        }
      },
      "labelFontUrl": {
        "defaultValue": null,
        "description": "The URL of the font for the edge label.",
        "name": "labelFontUrl",
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edges.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "labelPlacement": {
        "defaultValue": {
          "value": "inline"
        },
        "description": "The placement of the edge label.",
        "name": "labelPlacement",
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edges.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeLabelPosition"
        }
      },
      "interpolation": {
        "defaultValue": {
          "value": "linear"
        },
        "description": "The type of interpolation used to draw the edge.",
        "name": "interpolation",
        "declarations": [
          {
            "fileName": "src/symbols/edges/Edges.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "EdgeInterpolation"
        }
      },
      "onClick": {
        "defaultValue": null,
        "description": "",
        "name": "onClick",
        "declarations": [
          {
            "fileName": "reagraph/src/symbols/edges/useEdgeEvents.ts",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge) => void"
        }
      },
      "onContextMenu": {
        "defaultValue": null,
        "description": "",
        "name": "onContextMenu",
        "declarations": [
          {
            "fileName": "reagraph/src/symbols/edges/useEdgeEvents.ts",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge?: InternalGraphEdge) => void"
        }
      },
      "onPointerOver": {
        "defaultValue": null,
        "description": "",
        "name": "onPointerOver",
        "declarations": [
          {
            "fileName": "reagraph/src/symbols/edges/useEdgeEvents.ts",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge) => void"
        }
      },
      "onPointerOut": {
        "defaultValue": null,
        "description": "",
        "name": "onPointerOut",
        "declarations": [
          {
            "fileName": "reagraph/src/symbols/edges/useEdgeEvents.ts",
            "name": "TypeLiteral"
          }
        ],
        "required": false,
        "type": {
          "name": "(edge: InternalGraphEdge) => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/edges/SelfLoop.tsx",
    "description": "",
    "displayName": "SelfLoop",
    "methods": [],
    "props": {
      "id": {
        "defaultValue": null,
        "description": "The unique identifier of the edge.",
        "name": "id",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "curve": {
        "defaultValue": null,
        "description": "The color of the edge.",
        "name": "curve",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": true,
        "type": {
          "name": "any"
        }
      },
      "size": {
        "defaultValue": {
          "value": "1"
        },
        "description": "The size of the edge.",
        "name": "size",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "color": {
        "defaultValue": {
          "value": "#000"
        },
        "description": "The color of the edge.",
        "name": "color",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "The opacity of the edge.",
        "name": "opacity",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Whether the edge is animated.",
        "name": "animated",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "onPointerOver": {
        "defaultValue": null,
        "description": "A function that is called when the mouse pointer is moved over the line.",
        "name": "onPointerOver",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onPointerOut": {
        "defaultValue": null,
        "description": "A function that is called when the mouse pointer is moved out of the line.",
        "name": "onPointerOut",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ThreeEvent<PointerEvent>) => void"
        }
      },
      "onClick": {
        "defaultValue": null,
        "description": "A function that is called when the line is clicked.",
        "name": "onClick",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": false,
        "type": {
          "name": "(event: ThreeEvent<MouseEvent>) => void"
        }
      },
      "onContextMenu": {
        "defaultValue": null,
        "description": "A function that is called when the line is right-clicked.",
        "name": "onContextMenu",
        "parent": {
          "fileName": "src/symbols/edges/SelfLoop.tsx",
          "name": "SelfLoopProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/edges/SelfLoop.tsx",
            "name": "SelfLoopProps"
          }
        ],
        "required": false,
        "type": {
          "name": "() => void"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/nodes/Badge.tsx",
    "description": "",
    "displayName": "Badge",
    "methods": [],
    "props": {
      "label": {
        "defaultValue": null,
        "description": "The text to display in the badge.",
        "name": "label",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "backgroundColor": {
        "defaultValue": {
          "value": "#ffffff"
        },
        "description": "Background color of the badge.",
        "name": "backgroundColor",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Opacity of the badge background and stroke (0-1).\nDefault: 1",
        "name": "opacity",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "textColor": {
        "defaultValue": {
          "value": "#000000"
        },
        "description": "Text color of the badge.",
        "name": "textColor",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "strokeColor": {
        "defaultValue": null,
        "description": "Stroke color of the badge border.",
        "name": "strokeColor",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "strokeWidth": {
        "defaultValue": {
          "value": "0"
        },
        "description": "Size of the badge border stroke.",
        "name": "strokeWidth",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "radius": {
        "defaultValue": {
          "value": "0.12"
        },
        "description": "Corner radius of the badge.",
        "name": "radius",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "badgeSize": {
        "defaultValue": {
          "value": "1.5"
        },
        "description": "Size multiplier for the badge relative to the node size.",
        "name": "badgeSize",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "position": {
        "defaultValue": {
          "value": "top-right"
        },
        "description": "Position offset from the node center or preset position.",
        "name": "position",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "[number, number, number] | BadgePosition"
        }
      },
      "padding": {
        "defaultValue": {
          "value": "0.15"
        },
        "description": "Padding around the badge text.\nDefault: 0.15",
        "name": "padding",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "icon": {
        "defaultValue": null,
        "description": "SVG icon path or URL to display in the badge.",
        "name": "icon",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "iconSize": {
        "defaultValue": {
          "value": "0.35"
        },
        "description": "Size of the icon in the badge.",
        "name": "iconSize",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "iconPosition": {
        "defaultValue": {
          "value": "start"
        },
        "description": "Position of the icon relative to the text or custom coordinates [x, y].\n- 'start': Icon appears before the text (left side)\n- 'end': Icon appears after the text (right side)\n- [x, y]: Custom coordinates within the badge. When using custom coordinates,\n  the text remains centered and only the icon moves to the specified position.",
        "name": "iconPosition",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "IconPosition | [number, number]"
        }
      },
      "fontSize": {
        "defaultValue": {
          "value": "0.3"
        },
        "description": "Font size for the badge text.",
        "name": "fontSize",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "fontWeight": {
        "defaultValue": null,
        "description": "Font weight for the badge text (100-900).\nValues outside this range will be clamped to the nearest valid value.\nCommon values: 400 (normal), 700 (bold), 900 (extra bold).",
        "name": "fontWeight",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "iconTextGap": {
        "defaultValue": {
          "value": "0.01"
        },
        "description": "Gap between icon and text.\nDefault: 0.01",
        "name": "iconTextGap",
        "parent": {
          "fileName": "src/symbols/nodes/Badge.tsx",
          "name": "BadgeProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Badge.tsx",
            "name": "BadgeProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "color": {
        "defaultValue": null,
        "description": "Color of the node. Handles selected/etc.",
        "name": "color",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "node": {
        "defaultValue": null,
        "description": "The internal node model.",
        "name": "node",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphNode"
        }
      },
      "size": {
        "defaultValue": null,
        "description": "Size of the node.",
        "name": "size",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "active": {
        "defaultValue": null,
        "description": "Whether the node is active or not.",
        "name": "active",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "selected": {
        "defaultValue": null,
        "description": "Whether the node is selected or not.",
        "name": "selected",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Animation of the node.",
        "name": "animated",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "id": {
        "defaultValue": null,
        "description": "ID of the node.",
        "name": "id",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/nodes/Icon.tsx",
    "description": "",
    "displayName": "Icon",
    "methods": [],
    "props": {
      "image": {
        "defaultValue": null,
        "description": "The image to display on the icon.",
        "name": "image",
        "parent": {
          "fileName": "src/symbols/nodes/Icon.tsx",
          "name": "IconProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Icon.tsx",
            "name": "IconProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "color": {
        "defaultValue": null,
        "description": "Color of the node. Handles selected/etc.",
        "name": "color",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "node": {
        "defaultValue": null,
        "description": "The internal node model.",
        "name": "node",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphNode"
        }
      },
      "size": {
        "defaultValue": null,
        "description": "Size of the node.",
        "name": "size",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "active": {
        "defaultValue": null,
        "description": "Whether the node is active or not.",
        "name": "active",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "selected": {
        "defaultValue": null,
        "description": "Whether the node is selected or not.",
        "name": "selected",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Opacity of the node. Mainly used for selection.",
        "name": "opacity",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Animation of the node.",
        "name": "animated",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "id": {
        "defaultValue": null,
        "description": "ID of the node.",
        "name": "id",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/nodes/Sphere.tsx",
    "description": "",
    "displayName": "Sphere",
    "methods": [],
    "props": {
      "color": {
        "defaultValue": null,
        "description": "Color of the node. Handles selected/etc.",
        "name": "color",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "node": {
        "defaultValue": null,
        "description": "The internal node model.",
        "name": "node",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphNode"
        }
      },
      "size": {
        "defaultValue": null,
        "description": "Size of the node.",
        "name": "size",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "active": {
        "defaultValue": null,
        "description": "Whether the node is active or not.",
        "name": "active",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "selected": {
        "defaultValue": null,
        "description": "Whether the node is selected or not.",
        "name": "selected",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Opacity of the node. Mainly used for selection.",
        "name": "opacity",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Animation of the node.",
        "name": "animated",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "id": {
        "defaultValue": null,
        "description": "ID of the node.",
        "name": "id",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/nodes/SphereWithIcon.tsx",
    "description": "",
    "displayName": "SphereWithIcon",
    "methods": [],
    "props": {
      "image": {
        "defaultValue": null,
        "description": "The image to display on the icon.",
        "name": "image",
        "parent": {
          "fileName": "src/symbols/nodes/SphereWithIcon.tsx",
          "name": "SphereWithIconProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/SphereWithIcon.tsx",
            "name": "SphereWithIconProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "color": {
        "defaultValue": null,
        "description": "Color of the node. Handles selected/etc.",
        "name": "color",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "node": {
        "defaultValue": null,
        "description": "The internal node model.",
        "name": "node",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphNode"
        }
      },
      "size": {
        "defaultValue": null,
        "description": "Size of the node.",
        "name": "size",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "active": {
        "defaultValue": {
          "value": "false"
        },
        "description": "Whether the node is active or not.",
        "name": "active",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "selected": {
        "defaultValue": null,
        "description": "Whether the node is selected or not.",
        "name": "selected",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Opacity of the node. Mainly used for selection.",
        "name": "opacity",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Animation of the node.",
        "name": "animated",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "id": {
        "defaultValue": null,
        "description": "ID of the node.",
        "name": "id",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/nodes/SphereWithSvg.tsx",
    "description": "",
    "displayName": "SphereWithSvg",
    "methods": [],
    "props": {
      "image": {
        "defaultValue": null,
        "description": "The image to display on the icon.",
        "name": "image",
        "parent": {
          "fileName": "src/symbols/nodes/SphereWithSvg.tsx",
          "name": "SphereWithSvgProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/SphereWithSvg.tsx",
            "name": "SphereWithSvgProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "svgFill": {
        "defaultValue": null,
        "description": "The color of the svg fill.",
        "name": "svgFill",
        "parent": {
          "fileName": "src/symbols/nodes/SphereWithSvg.tsx",
          "name": "SphereWithSvgProps"
        },
        "declarations": [
          {
            "fileName": "src/symbols/nodes/SphereWithSvg.tsx",
            "name": "SphereWithSvgProps"
          }
        ],
        "required": false,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "color": {
        "defaultValue": null,
        "description": "Color of the node. Handles selected/etc.",
        "name": "color",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "node": {
        "defaultValue": null,
        "description": "The internal node model.",
        "name": "node",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphNode"
        }
      },
      "size": {
        "defaultValue": null,
        "description": "Size of the node.",
        "name": "size",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "active": {
        "defaultValue": {
          "value": "false"
        },
        "description": "Whether the node is active or not.",
        "name": "active",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": false,
        "type": {
          "name": "boolean"
        }
      },
      "selected": {
        "defaultValue": null,
        "description": "Whether the node is selected or not.",
        "name": "selected",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Opacity of the node. Mainly used for selection.",
        "name": "opacity",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Animation of the node.",
        "name": "animated",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "id": {
        "defaultValue": null,
        "description": "ID of the node.",
        "name": "id",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "layers": {
        "defaultValue": null,
        "description": "The layer membership of the object.\n@remarks The object is only visible if it has at least one layer in common with the {@link THREE.Object3DCamera Camera} in use.\nThis property can also be used to filter out unwanted objects in ray-intersection tests when using {@link THREE.Raycaster Raycaster}.\n@defaultValue `new THREE.Layers()`",
        "name": "layers",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Layers | [layer: number] | readonly [layer: number] | Readonly<Layers>"
        }
      },
      "quaternion": {
        "defaultValue": null,
        "description": "Object's local rotation as a {@link THREE.Quaternion Quaternion}.\n@defaultValue `new THREE.Quaternion()` - that is `(0,  0, 0, 1)`.",
        "name": "quaternion",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Quaternion | [x: number, y: number, z: number, w: number] | readonly [x: number, y: number, z: number, w: number] | Readonly<Quaternion>"
        }
      },
      "type": {
        "defaultValue": null,
        "description": "A Read-only _string_ to check `this` object type.\n@remarks This can be used to find a specific type of Object3D in a scene.\nSub-classes will update this value.\n@defaultValue `Object3D`",
        "name": "type",
        "declarations": [],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "isObject3D": {
        "defaultValue": null,
        "description": "Flag to check if a given object is of type {@link Object3D}.\n@remarks This is a _constant_ value\n@defaultValue `true`",
        "name": "isObject3D",
        "declarations": [],
        "required": false,
        "type": {
          "name": "true"
        }
      },
      "uuid": {
        "defaultValue": null,
        "description": "{@link http://en.wikipedia.org/wiki/Universally_unique_identifier UUID} of this object instance.\n@remarks This gets automatically assigned and shouldn't be edited.",
        "name": "uuid",
        "declarations": [],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "name": {
        "defaultValue": null,
        "description": "Optional name of the object\n@remarks _(doesn't need to be unique)_.\n@defaultValue `\"\"`",
        "name": "name",
        "declarations": [],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "parent": {
        "defaultValue": null,
        "description": "Object's parent in the {@link https://en.wikipedia.org/wiki/Scene_graph scene graph}.\n@remarks An object can have at most one parent.\n@defaultValue `null`",
        "name": "parent",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Object3D<Object3DEventMap> | Readonly<Object3D<Object3DEventMap>>"
        }
      },
      "up": {
        "defaultValue": null,
        "description": "This is used by the {@link lookAtlookAt} method, for example, to determine the orientation of the result.\n@defaultValue {@link DEFAULT_UP Object3D.DEFAULT_UP} - that is `(0, 1, 0)`.",
        "name": "up",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Vector3 | [x: number, y: number, z: number] | readonly [x: number, y: number, z: number] | Readonly<Vector3>"
        }
      },
      "position": {
        "defaultValue": null,
        "description": "Object's local position.\n@defaultValue `new THREE.Vector3()` - that is `(0, 0, 0)`.",
        "name": "position",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Vector3 | [x: number, y: number, z: number] | readonly [x: number, y: number, z: number] | Readonly<Vector3>"
        }
      },
      "rotation": {
        "defaultValue": null,
        "description": "Object's local rotation ({@link https://en.wikipedia.org/wiki/Euler_angles Euler angles}), in radians.\n@defaultValue `new THREE.Euler()` - that is `(0, 0, 0, Euler.DEFAULT_ORDER)`.",
        "name": "rotation",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Euler | [x: number, y: number, z: number, order?: EulerOrder] | readonly [x: number, y: number, z: number, order?: EulerOrder] | Readonly<Euler>"
        }
      },
      "scale": {
        "defaultValue": null,
        "description": "The object's local scale.\n@defaultValue `new THREE.Vector3( 1, 1, 1 )`",
        "name": "scale",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Vector3 | [x: number, y: number, z: number] | readonly [x: number, y: number, z: number] | Readonly<Vector3>"
        }
      },
      "modelViewMatrix": {
        "defaultValue": null,
        "description": "@defaultValue `new THREE.Matrix4()`",
        "name": "modelViewMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | readonly [n11: number, n12: number, n13: ... 13 more ..., n14: number] | Readonly<...>"
        }
      },
      "normalMatrix": {
        "defaultValue": null,
        "description": "@defaultValue `new THREE.Matrix3()`",
        "name": "normalMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Matrix3 | [n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number] | readonly [n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number] | Readonly<...>"
        }
      },
      "matrix": {
        "defaultValue": null,
        "description": "The local transform matrix.\n@defaultValue `new THREE.Matrix4()`",
        "name": "matrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | readonly [n11: number, n12: number, n13: ... 13 more ..., n14: number] | Readonly<...>"
        }
      },
      "matrixWorld": {
        "defaultValue": null,
        "description": "The global transform of the object.\n@remarks If the {@link Object3D } has no parent, then it's identical to the local transform {@link THREE.Object3D.matrix .matrix}.\n@defaultValue `new THREE.Matrix4()`",
        "name": "matrixWorld",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | readonly [n11: number, n12: number, n13: ... 13 more ..., n14: number] | Readonly<...>"
        }
      },
      "matrixAutoUpdate": {
        "defaultValue": null,
        "description": "When this is set, it calculates the matrix of position, (rotation or quaternion) and\nscale every frame and also recalculates the matrixWorld property.\n@defaultValue {@link DEFAULT_MATRIX_AUTO_UPDATE } - that is `(true)`.",
        "name": "matrixAutoUpdate",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "matrixWorldAutoUpdate": {
        "defaultValue": null,
        "description": "If set, then the renderer checks every frame if the object and its children need matrix updates.\nWhen it isn't, then you have to maintain all matrices in the object and its children yourself.\n@defaultValue {@link DEFAULT_MATRIX_WORLD_AUTO_UPDATE } - that is `(true)`.",
        "name": "matrixWorldAutoUpdate",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "matrixWorldNeedsUpdate": {
        "defaultValue": null,
        "description": "When this is set, it calculates the matrixWorld in that frame and resets this property to false.\n@defaultValue `false`",
        "name": "matrixWorldNeedsUpdate",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "visible": {
        "defaultValue": null,
        "description": "Object gets rendered if `true`.\n@defaultValue `true`",
        "name": "visible",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "castShadow": {
        "defaultValue": null,
        "description": "Whether the object gets rendered into shadow map.\n@defaultValue `false`",
        "name": "castShadow",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "receiveShadow": {
        "defaultValue": null,
        "description": "Whether the material receives shadows.\n@defaultValue `false`",
        "name": "receiveShadow",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "frustumCulled": {
        "defaultValue": null,
        "description": "When this is set, it checks every frame if the object is in the frustum of the camera before rendering the object.\nIf set to `false` the object gets rendered every frame even if it is not in the frustum of the camera.\n@defaultValue `true`",
        "name": "frustumCulled",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "renderOrder": {
        "defaultValue": null,
        "description": "This value allows the default rendering order of {@link https://en.wikipedia.org/wiki/Scene_graph scene graph}\nobjects to be overridden although opaque and transparent objects remain sorted independently.\n@remarks When this property is set for an instance of {@link Group Group}, all descendants objects will be sorted and rendered together.\nSorting is from lowest to highest renderOrder.\n@defaultValue `0`",
        "name": "renderOrder",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "animations": {
        "defaultValue": null,
        "description": "Array with object's animation clips.\n@defaultValue `[]`",
        "name": "animations",
        "declarations": [],
        "required": false,
        "type": {
          "name": "AnimationClip[] | readonly AnimationClip[]"
        }
      },
      "userData": {
        "defaultValue": {
          "value": "`{}`"
        },
        "description": "An object that can be used to store custom data about the {@link Object3D}.\n@remarks It should not hold references to _functions_ as these **will not** be cloned.",
        "name": "userData",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Record<string, any> | Readonly<Record<string, any>>"
        }
      },
      "customDepthMaterial": {
        "defaultValue": null,
        "description": "Custom depth material to be used when rendering to the depth map.\n@remarks Can only be used in context of meshes.\nWhen shadow-casting with a {@link THREE.DirectionalLight DirectionalLight} or {@link THREE.SpotLight SpotLight},\nif you are modifying vertex positions in the vertex shader you must specify a customDepthMaterial for proper shadows.\n@defaultValue `undefined`",
        "name": "customDepthMaterial",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Material | Readonly<Material>"
        }
      },
      "customDistanceMaterial": {
        "defaultValue": null,
        "description": "Same as {@link customDepthMaterial}, but used with {@link THREE.Object3DPointLight PointLight}.\n@defaultValue `undefined`",
        "name": "customDistanceMaterial",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Material | Readonly<Material>"
        }
      },
      "onBeforeShadow": {
        "defaultValue": null,
        "description": "An optional callback that is executed immediately before a 3D object is rendered to a shadow map.\n@remarks This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry,\ndepthMaterial, group.\nPlease notice that this callback is only executed for `renderable` 3D objects. Meaning 3D objects which\ndefine their visual appearance with geometries and materials like instances of {@link Mesh }, {@link Line },\n{@link Points } or {@link Sprite }. Instances of {@link Object3D }, {@link Group } or {@link Bone } are not renderable\nand thus this callback is not executed for such objects.",
        "name": "onBeforeShadow",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((renderer: WebGLRenderer, scene: Scene, camera: Camera, shadowCamera: Camera, geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, depthMaterial: Material, group: Group<...>) => void) | Readonly<...>"
        }
      },
      "onAfterShadow": {
        "defaultValue": null,
        "description": "An optional callback that is executed immediately after a 3D object is rendered to a shadow map.\n@remarks This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry,\ndepthMaterial, group.\nPlease notice that this callback is only executed for `renderable` 3D objects. Meaning 3D objects which\ndefine their visual appearance with geometries and materials like instances of {@link Mesh }, {@link Line },\n{@link Points } or {@link Sprite }. Instances of {@link Object3D }, {@link Group } or {@link Bone } are not renderable\nand thus this callback is not executed for such objects.",
        "name": "onAfterShadow",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((renderer: WebGLRenderer, scene: Scene, camera: Camera, shadowCamera: Camera, geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, depthMaterial: Material, group: Group<...>) => void) | Readonly<...>"
        }
      },
      "onBeforeRender": {
        "defaultValue": null,
        "description": "An optional callback that is executed immediately before a 3D object is rendered.\n@remarks This function is called with the following parameters: renderer, scene, camera, geometry, material, group.\nPlease notice that this callback is only executed for `renderable` 3D objects. Meaning 3D objects which\ndefine their visual appearance with geometries and materials like instances of {@link Mesh }, {@link Line },\n{@link Points } or {@link Sprite }. Instances of {@link Object3D }, {@link Group } or {@link Bone } are not renderable\nand thus this callback is not executed for such objects.",
        "name": "onBeforeRender",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, material: Material, group: Group<...>) => void) | Readonly<...>"
        }
      },
      "onAfterRender": {
        "defaultValue": null,
        "description": "An optional callback that is executed immediately after a 3D object is rendered.\n@remarks This function is called with the following parameters: renderer, scene, camera, geometry, material, group.\nPlease notice that this callback is only executed for `renderable` 3D objects. Meaning 3D objects which\ndefine their visual appearance with geometries and materials like instances of {@link Mesh }, {@link Line },\n{@link Points } or {@link Sprite }. Instances of {@link Object3D }, {@link Group } or {@link Bone } are not renderable\nand thus this callback is not executed for such objects.",
        "name": "onAfterRender",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, material: Material, group: Group<...>) => void) | Readonly<...>"
        }
      },
      "applyMatrix4": {
        "defaultValue": null,
        "description": "Applies the matrix transform to the object and updates the object's position, rotation and scale.\n@param matrix",
        "name": "applyMatrix4",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((matrix: Matrix4) => void) | Readonly<(matrix: Matrix4) => void>"
        }
      },
      "applyQuaternion": {
        "defaultValue": null,
        "description": "Applies the rotation represented by the quaternion to the object.\n@param quaternion",
        "name": "applyQuaternion",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((quaternion: Quaternion) => Object3D<Object3DEventMap>) | Readonly<(quaternion: Quaternion) => Object3D<Object3DEventMap>>"
        }
      },
      "setRotationFromAxisAngle": {
        "defaultValue": null,
        "description": "Calls {@link THREE.Quaternion.setFromAxisAngle setFromAxisAngle}({@link axis}, {@link angle}) on the {@link quaternion.quaternion}.\n@param axis A normalized vector in object space.\n@param angle Angle in radians. Expects a `Float`",
        "name": "setRotationFromAxisAngle",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((axis: Vector3, angle: number) => void) | Readonly<(axis: Vector3, angle: number) => void>"
        }
      },
      "setRotationFromEuler": {
        "defaultValue": null,
        "description": "Calls {@link THREE.Quaternion.setFromEuler setFromEuler}({@link euler}) on the {@link quaternion.quaternion}.\n@param euler Euler angle specifying rotation amount.",
        "name": "setRotationFromEuler",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((euler: Euler) => void) | Readonly<(euler: Euler) => void>"
        }
      },
      "setRotationFromMatrix": {
        "defaultValue": null,
        "description": "Calls {@link THREE.Quaternion.setFromRotationMatrix setFromRotationMatrix}({@link m}) on the {@link quaternion.quaternion}.\n@remarks Note that this assumes that the upper 3x3 of m is a pure rotation matrix (i.e, unscaled).\n@param m Rotate the quaternion by the rotation component of the matrix.",
        "name": "setRotationFromMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((m: Matrix4) => void) | Readonly<(m: Matrix4) => void>"
        }
      },
      "setRotationFromQuaternion": {
        "defaultValue": null,
        "description": "Copy the given {@link THREE.Quaternion Quaternion} into {@link quaternion.quaternion}.\n@param q Normalized Quaternion.",
        "name": "setRotationFromQuaternion",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((q: Quaternion) => void) | Readonly<(q: Quaternion) => void>"
        }
      },
      "rotateOnAxis": {
        "defaultValue": null,
        "description": "Rotate an object along an axis in object space.\n@remarks The axis is assumed to be normalized.\n@param axis A normalized vector in object space.\n@param angle The angle in radians. Expects a `Float`",
        "name": "rotateOnAxis",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((axis: Vector3, angle: number) => Object3D<Object3DEventMap>) | Readonly<(axis: Vector3, angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "rotateOnWorldAxis": {
        "defaultValue": null,
        "description": "Rotate an object along an axis in world space.\n@remarks The axis is assumed to be normalized\nMethod Assumes no rotated parent.\n@param axis A normalized vector in world space.\n@param angle The angle in radians. Expects a `Float`",
        "name": "rotateOnWorldAxis",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((axis: Vector3, angle: number) => Object3D<Object3DEventMap>) | Readonly<(axis: Vector3, angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "rotateX": {
        "defaultValue": null,
        "description": "Rotates the object around _x_ axis in local space.\n@param rad The angle to rotate in radians. Expects a `Float`",
        "name": "rotateX",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((angle: number) => Object3D<Object3DEventMap>) | Readonly<(angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "rotateY": {
        "defaultValue": null,
        "description": "Rotates the object around _y_ axis in local space.\n@param rad The angle to rotate in radians. Expects a `Float`",
        "name": "rotateY",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((angle: number) => Object3D<Object3DEventMap>) | Readonly<(angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "rotateZ": {
        "defaultValue": null,
        "description": "Rotates the object around _z_ axis in local space.\n@param rad The angle to rotate in radians. Expects a `Float`",
        "name": "rotateZ",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((angle: number) => Object3D<Object3DEventMap>) | Readonly<(angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "translateOnAxis": {
        "defaultValue": null,
        "description": "Translate an object by distance along an axis in object space\n@remarks The axis is assumed to be normalized.\n@param axis A normalized vector in object space.\n@param distance The distance to translate. Expects a `Float`",
        "name": "translateOnAxis",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((axis: Vector3, distance: number) => Object3D<Object3DEventMap>) | Readonly<(axis: Vector3, distance: number) => Object3D<Object3DEventMap>>"
        }
      },
      "translateX": {
        "defaultValue": null,
        "description": "Translates object along x axis in object space by {@link distance} units.\n@param distance Expects a `Float`",
        "name": "translateX",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((distance: number) => Object3D<Object3DEventMap>) | Readonly<(distance: number) => Object3D<Object3DEventMap>>"
        }
      },
      "translateY": {
        "defaultValue": null,
        "description": "Translates object along _y_ axis in object space by {@link distance} units.\n@param distance Expects a `Float`",
        "name": "translateY",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((distance: number) => Object3D<Object3DEventMap>) | Readonly<(distance: number) => Object3D<Object3DEventMap>>"
        }
      },
      "translateZ": {
        "defaultValue": null,
        "description": "Translates object along _z_ axis in object space by {@link distance} units.\n@param distance Expects a `Float`",
        "name": "translateZ",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((distance: number) => Object3D<Object3DEventMap>) | Readonly<(distance: number) => Object3D<Object3DEventMap>>"
        }
      },
      "localToWorld": {
        "defaultValue": null,
        "description": "Converts the vector from this object's local space to world space.\n@param vector A vector representing a position in this object's local space.",
        "name": "localToWorld",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((vector: Vector3) => Vector3) | Readonly<(vector: Vector3) => Vector3>"
        }
      },
      "worldToLocal": {
        "defaultValue": null,
        "description": "Converts the vector from world space to this object's local space.\n@param vector A vector representing a position in world space.",
        "name": "worldToLocal",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((vector: Vector3) => Vector3) | Readonly<(vector: Vector3) => Vector3>"
        }
      },
      "lookAt": {
        "defaultValue": null,
        "description": "Rotates the object to face a point in world space.\n@remarks This method does not support objects having non-uniformly-scaled parent(s).\n@param vector A vector representing a position in world space to look at.\n@remarks This method does not support objects having non-uniformly-scaled parent(s).\n@param x Expects a `Float`\n@param y Expects a `Float`\n@param z Expects a `Float`",
        "name": "lookAt",
        "declarations": [],
        "required": false,
        "type": {
          "name": "{ (vector: Vector3): void; (x: number, y: number, z: number): void; } | Readonly<{ (vector: Vector3): void; (x: number, y: number, z: number): void; }>"
        }
      },
      "add": {
        "defaultValue": null,
        "description": "Adds another {@link Object3D} as child of this {@link Object3D}.\n@remarks An arbitrary number of objects may be added\nAny current parent on an {@link object } passed in here will be removed, since an {@link Object3D } can have at most one parent.\n@see {@link attach }\n@see {@link THREE.Group Group} for info on manually grouping objects.\n@param object",
        "name": "add",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((...object: Object3D<Object3DEventMap>[]) => Object3D<Object3DEventMap>) | Readonly<(...object: Object3D<Object3DEventMap>[]) => Object3D<...>>"
        }
      },
      "remove": {
        "defaultValue": null,
        "description": "Removes a {@link Object3D} as child of this {@link Object3D}.\n@remarks An arbitrary number of objects may be removed.\n@see {@link THREE.Group Group} for info on manually grouping objects.\n@param object",
        "name": "remove",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((...object: Object3D<Object3DEventMap>[]) => Object3D<Object3DEventMap>) | Readonly<(...object: Object3D<Object3DEventMap>[]) => Object3D<...>>"
        }
      },
      "removeFromParent": {
        "defaultValue": null,
        "description": "Removes this object from its current parent.",
        "name": "removeFromParent",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(() => Object3D<Object3DEventMap>) | Readonly<() => Object3D<Object3DEventMap>>"
        }
      },
      "clear": {
        "defaultValue": null,
        "description": "Removes all child objects.",
        "name": "clear",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(() => Object3D<Object3DEventMap>) | Readonly<() => Object3D<Object3DEventMap>>"
        }
      },
      "getObjectById": {
        "defaultValue": null,
        "description": "Searches through an object and its children, starting with the object itself, and returns the first with a matching id.\n@remarks Note that ids are assigned in chronological order: 1, 2, 3, ..., incrementing by one for each new object.\n@see {@link id }\n@param id Unique number of the object instance. Expects a `Integer`",
        "name": "getObjectById",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((id: number) => Object3D<Object3DEventMap>) | Readonly<(id: number) => Object3D<Object3DEventMap>>"
        }
      },
      "getObjectByName": {
        "defaultValue": null,
        "description": "Searches through an object and its children, starting with the object itself, and returns the first with a matching name.\n@remarks Note that for most objects the name is an empty string by default\nYou will have to set it manually to make use of this method.\n@param name String to match to the children's Object3D.name property.",
        "name": "getObjectByName",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((name: string) => Object3D<Object3DEventMap>) | Readonly<(name: string) => Object3D<Object3DEventMap>>"
        }
      },
      "getObjectByProperty": {
        "defaultValue": null,
        "description": "Searches through an object and its children, starting with the object itself,\nand returns the first with a property that matches the value given.\n@param name - the property name to search for.\n@param value - value of the given property.",
        "name": "getObjectByProperty",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((name: string, value: any) => Object3D<Object3DEventMap>) | Readonly<(name: string, value: any) => Object3D<Object3DEventMap>>"
        }
      },
      "getObjectsByProperty": {
        "defaultValue": null,
        "description": "Searches through an object and its children, starting with the object itself,\nand returns the first with a property that matches the value given.\n@param name The property name to search for.\n@param value Value of the given property.\n@param optionalTarget target to set the result. Otherwise a new Array is instantiated. If set, you must clear\nthis array prior to each call (i.e., array.length = 0;).",
        "name": "getObjectsByProperty",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((name: string, value: any, optionalTarget?: Object3D<Object3DEventMap>[]) => Object3D<Object3DEventMap>[]) | Readonly<(name: string, value: any, optionalTarget?: Object3D<...>[]) => Object3D<...>[]>"
        }
      },
      "getWorldPosition": {
        "defaultValue": null,
        "description": "Returns a vector representing the position of the object in world space.\n@param target The result will be copied into this Vector3.",
        "name": "getWorldPosition",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((target: Vector3) => Vector3) | Readonly<(target: Vector3) => Vector3>"
        }
      },
      "getWorldQuaternion": {
        "defaultValue": null,
        "description": "Returns a quaternion representing the rotation of the object in world space.\n@param target The result will be copied into this Quaternion.",
        "name": "getWorldQuaternion",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((target: Quaternion) => Quaternion) | Readonly<(target: Quaternion) => Quaternion>"
        }
      },
      "getWorldScale": {
        "defaultValue": null,
        "description": "Returns a vector of the scaling factors applied to the object for each axis in world space.\n@param target The result will be copied into this Vector3.",
        "name": "getWorldScale",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((target: Vector3) => Vector3) | Readonly<(target: Vector3) => Vector3>"
        }
      },
      "getWorldDirection": {
        "defaultValue": null,
        "description": "Returns a vector representing the direction of object's positive z-axis in world space.\n@param target The result will be copied into this Vector3.",
        "name": "getWorldDirection",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((target: Vector3) => Vector3) | Readonly<(target: Vector3) => Vector3>"
        }
      },
      "raycast": {
        "defaultValue": null,
        "description": "Abstract (empty) method to get intersections between a casted ray and this object\n@remarks Subclasses such as {@link THREE.Mesh Mesh}, {@link THREE.Line Line}, and {@link THREE.Points Points} implement this method in order to use raycasting.\n@see {@link THREE.Raycaster Raycaster}\n@param raycaster\n@param intersects\n@defaultValue `() => {}`",
        "name": "raycast",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((raycaster: Raycaster, intersects: Intersection<Object3D<Object3DEventMap>>[]) => void) | Readonly<(raycaster: Raycaster, intersects: Intersection<...>[]) => void>"
        }
      },
      "traverse": {
        "defaultValue": null,
        "description": "Executes the callback on this object and all descendants.\n@remarks Note: Modifying the scene graph inside the callback is discouraged.\n@param callback A function with as first argument an {@link Object3D } object.",
        "name": "traverse",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((callback: (object: Object3D<Object3DEventMap>) => any) => void) | Readonly<(callback: (object: Object3D<Object3DEventMap>) => any) => void>"
        }
      },
      "traverseVisible": {
        "defaultValue": null,
        "description": "Like traverse, but the callback will only be executed for visible objects\n@remarks Descendants of invisible objects are not traversed.\nNote: Modifying the scene graph inside the callback is discouraged.\n@param callback A function with as first argument an {@link Object3D } object.",
        "name": "traverseVisible",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((callback: (object: Object3D<Object3DEventMap>) => any) => void) | Readonly<(callback: (object: Object3D<Object3DEventMap>) => any) => void>"
        }
      },
      "traverseAncestors": {
        "defaultValue": null,
        "description": "Executes the callback on all ancestors.\n@remarks Note: Modifying the scene graph inside the callback is discouraged.\n@param callback A function with as first argument an {@link Object3D } object.",
        "name": "traverseAncestors",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((callback: (object: Object3D<Object3DEventMap>) => any) => void) | Readonly<(callback: (object: Object3D<Object3DEventMap>) => any) => void>"
        }
      },
      "updateMatrix": {
        "defaultValue": null,
        "description": "Updates local transform.",
        "name": "updateMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(() => void) | Readonly<() => void>"
        }
      },
      "updateMatrixWorld": {
        "defaultValue": null,
        "description": "Updates the global transform of the object.\nAnd will update the object descendants if {@link matrixWorldNeedsUpdate.matrixWorldNeedsUpdate} is set to true or if the {@link force} parameter is set to `true`.\n@param force A boolean that can be used to bypass {@link matrixWorldAutoUpdate .matrixWorldAutoUpdate}, to recalculate the world matrix of the object and descendants on the current frame.\nUseful if you cannot wait for the renderer to update it on the next frame, assuming {@link matrixWorldAutoUpdate .matrixWorldAutoUpdate} set to `true`.",
        "name": "updateMatrixWorld",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((force?: boolean) => void) | Readonly<(force?: boolean) => void>"
        }
      },
      "updateWorldMatrix": {
        "defaultValue": null,
        "description": "Updates the global transform of the object.\n@param updateParents Recursively updates global transform of ancestors.\n@param updateChildren Recursively updates global transform of descendants.",
        "name": "updateWorldMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((updateParents: boolean, updateChildren: boolean) => void) | Readonly<(updateParents: boolean, updateChildren: boolean) => void>"
        }
      },
      "toJSON": {
        "defaultValue": null,
        "description": "Convert the object to three.js {@link https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format}.\n@param meta Object containing metadata such as materials, textures or images for the object.",
        "name": "toJSON",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((meta?: JSONMeta) => Object3DJSON) | Readonly<(meta?: JSONMeta) => Object3DJSON>"
        }
      },
      "clone": {
        "defaultValue": null,
        "description": "Returns a clone of `this` object and optionally all descendants.\n@param recursive If true, descendants of the object are also cloned. Default `true`",
        "name": "clone",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((recursive?: boolean) => Object3D<Object3DEventMap>) | Readonly<(recursive?: boolean) => Object3D<Object3DEventMap>>"
        }
      },
      "copy": {
        "defaultValue": null,
        "description": "Copies the given object into this object.\n@remarks Event listeners and user-defined callbacks ({@link .onAfterRender} and {@link .onBeforeRender}) are not copied.\n@param object\n@param recursive If set to `true`, descendants of the object are copied next to the existing ones. If set to\n`false`, descendants are left unchanged. Default is `true`.",
        "name": "copy",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((object: Object3D<Object3DEventMap>, recursive?: boolean) => Object3D<Object3DEventMap>) | Readonly<(object: Object3D<Object3DEventMap>, recursive?: boolean) => Object3D<...>>"
        }
      },
      "addEventListener": {
        "defaultValue": null,
        "description": "Adds a listener to an event type.\n@param type The type of event to listen to.\n@param listener The function that gets called when the event is fired.",
        "name": "addEventListener",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(<T extends keyof Object3DEventMap>(type: T, listener: EventListener<Object3DEventMap[T], T, Object3D<Object3DEventMap>>) => void) | Readonly<...>"
        }
      },
      "hasEventListener": {
        "defaultValue": null,
        "description": "Checks if listener is added to an event type.\n@param type The type of event to listen to.\n@param listener The function that gets called when the event is fired.",
        "name": "hasEventListener",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(<T extends keyof Object3DEventMap>(type: T, listener: EventListener<Object3DEventMap[T], T, Object3D<Object3DEventMap>>) => boolean) | Readonly<...>"
        }
      },
      "removeEventListener": {
        "defaultValue": null,
        "description": "Removes a listener from an event type.\n@param type The type of the listener that gets removed.\n@param listener The listener function that gets removed.",
        "name": "removeEventListener",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(<T extends keyof Object3DEventMap>(type: T, listener: EventListener<Object3DEventMap[T], T, Object3D<Object3DEventMap>>) => void) | Readonly<...>"
        }
      },
      "dispatchEvent": {
        "defaultValue": null,
        "description": "Fire an event type.\n@param event The event that gets fired.",
        "name": "dispatchEvent",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(<T extends keyof Object3DEventMap>(event: BaseEvent<T> & Object3DEventMap[T]) => void) | Readonly<(<T extends keyof Object3DEventMap>(event: BaseEvent<...> & Object3DEventMap[T]) => void)>"
        }
      }
    }
  },
  {
    "tags": {},
    "filePath": "src/symbols/nodes/Svg.tsx",
    "description": "",
    "displayName": "Svg",
    "methods": [],
    "props": {
      "color": {
        "defaultValue": null,
        "description": "Color of the node. Handles selected/etc.",
        "name": "color",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "ColorRepresentation"
        }
      },
      "node": {
        "defaultValue": null,
        "description": "The internal node model.",
        "name": "node",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "InternalGraphNode"
        }
      },
      "size": {
        "defaultValue": null,
        "description": "Size of the node.",
        "name": "size",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "number"
        }
      },
      "active": {
        "defaultValue": null,
        "description": "Whether the node is active or not.",
        "name": "active",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "selected": {
        "defaultValue": null,
        "description": "Whether the node is selected or not.",
        "name": "selected",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "opacity": {
        "defaultValue": {
          "value": "1"
        },
        "description": "Opacity of the node. Mainly used for selection.",
        "name": "opacity",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "animated": {
        "defaultValue": null,
        "description": "Animation of the node.",
        "name": "animated",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "boolean"
        }
      },
      "id": {
        "defaultValue": null,
        "description": "ID of the node.",
        "name": "id",
        "parent": {
          "fileName": "reagraph/src/types.ts",
          "name": "NodeRendererProps"
        },
        "declarations": [
          {
            "fileName": "reagraph/src/types.ts",
            "name": "NodeRendererProps"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      },
      "layers": {
        "defaultValue": null,
        "description": "The layer membership of the object.\n@remarks The object is only visible if it has at least one layer in common with the {@link THREE.Object3DCamera Camera} in use.\nThis property can also be used to filter out unwanted objects in ray-intersection tests when using {@link THREE.Raycaster Raycaster}.\n@defaultValue `new THREE.Layers()`",
        "name": "layers",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Layers | [layer: number] | readonly [layer: number] | Readonly<Layers>"
        }
      },
      "quaternion": {
        "defaultValue": null,
        "description": "Object's local rotation as a {@link THREE.Quaternion Quaternion}.\n@defaultValue `new THREE.Quaternion()` - that is `(0,  0, 0, 1)`.",
        "name": "quaternion",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Quaternion | [x: number, y: number, z: number, w: number] | readonly [x: number, y: number, z: number, w: number] | Readonly<Quaternion>"
        }
      },
      "type": {
        "defaultValue": null,
        "description": "A Read-only _string_ to check `this` object type.\n@remarks This can be used to find a specific type of Object3D in a scene.\nSub-classes will update this value.\n@defaultValue `Object3D`",
        "name": "type",
        "declarations": [],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "isObject3D": {
        "defaultValue": null,
        "description": "Flag to check if a given object is of type {@link Object3D}.\n@remarks This is a _constant_ value\n@defaultValue `true`",
        "name": "isObject3D",
        "declarations": [],
        "required": false,
        "type": {
          "name": "true"
        }
      },
      "uuid": {
        "defaultValue": null,
        "description": "{@link http://en.wikipedia.org/wiki/Universally_unique_identifier UUID} of this object instance.\n@remarks This gets automatically assigned and shouldn't be edited.",
        "name": "uuid",
        "declarations": [],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "name": {
        "defaultValue": null,
        "description": "Optional name of the object\n@remarks _(doesn't need to be unique)_.\n@defaultValue `\"\"`",
        "name": "name",
        "declarations": [],
        "required": false,
        "type": {
          "name": "string"
        }
      },
      "parent": {
        "defaultValue": null,
        "description": "Object's parent in the {@link https://en.wikipedia.org/wiki/Scene_graph scene graph}.\n@remarks An object can have at most one parent.\n@defaultValue `null`",
        "name": "parent",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Object3D<Object3DEventMap> | Readonly<Object3D<Object3DEventMap>>"
        }
      },
      "up": {
        "defaultValue": null,
        "description": "This is used by the {@link lookAtlookAt} method, for example, to determine the orientation of the result.\n@defaultValue {@link DEFAULT_UP Object3D.DEFAULT_UP} - that is `(0, 1, 0)`.",
        "name": "up",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Vector3 | [x: number, y: number, z: number] | readonly [x: number, y: number, z: number] | Readonly<Vector3>"
        }
      },
      "position": {
        "defaultValue": null,
        "description": "Object's local position.\n@defaultValue `new THREE.Vector3()` - that is `(0, 0, 0)`.",
        "name": "position",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Vector3 | [x: number, y: number, z: number] | readonly [x: number, y: number, z: number] | Readonly<Vector3>"
        }
      },
      "rotation": {
        "defaultValue": null,
        "description": "Object's local rotation ({@link https://en.wikipedia.org/wiki/Euler_angles Euler angles}), in radians.\n@defaultValue `new THREE.Euler()` - that is `(0, 0, 0, Euler.DEFAULT_ORDER)`.",
        "name": "rotation",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Euler | [x: number, y: number, z: number, order?: EulerOrder] | readonly [x: number, y: number, z: number, order?: EulerOrder] | Readonly<Euler>"
        }
      },
      "scale": {
        "defaultValue": null,
        "description": "The object's local scale.\n@defaultValue `new THREE.Vector3( 1, 1, 1 )`",
        "name": "scale",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number | Vector3 | [x: number, y: number, z: number] | readonly [x: number, y: number, z: number] | Readonly<Vector3>"
        }
      },
      "modelViewMatrix": {
        "defaultValue": null,
        "description": "@defaultValue `new THREE.Matrix4()`",
        "name": "modelViewMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | readonly [n11: number, n12: number, n13: ... 13 more ..., n14: number] | Readonly<...>"
        }
      },
      "normalMatrix": {
        "defaultValue": null,
        "description": "@defaultValue `new THREE.Matrix3()`",
        "name": "normalMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Matrix3 | [n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number] | readonly [n11: number, n12: number, n13: number, n21: number, n22: number, n23: number, n31: number, n32: number, n33: number] | Readonly<...>"
        }
      },
      "matrix": {
        "defaultValue": null,
        "description": "The local transform matrix.\n@defaultValue `new THREE.Matrix4()`",
        "name": "matrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | readonly [n11: number, n12: number, n13: ... 13 more ..., n14: number] | Readonly<...>"
        }
      },
      "matrixWorld": {
        "defaultValue": null,
        "description": "The global transform of the object.\n@remarks If the {@link Object3D } has no parent, then it's identical to the local transform {@link THREE.Object3D.matrix .matrix}.\n@defaultValue `new THREE.Matrix4()`",
        "name": "matrixWorld",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Matrix4 | [n11: number, n12: number, n13: number, n14: number, n21: number, n22: number, n23: number, n24: number, n31: number, n32: number, n33: number, n34: number, n41: number, n42: number, n43: number, n44: number] | readonly [n11: number, n12: number, n13: ... 13 more ..., n14: number] | Readonly<...>"
        }
      },
      "matrixAutoUpdate": {
        "defaultValue": null,
        "description": "When this is set, it calculates the matrix of position, (rotation or quaternion) and\nscale every frame and also recalculates the matrixWorld property.\n@defaultValue {@link DEFAULT_MATRIX_AUTO_UPDATE } - that is `(true)`.",
        "name": "matrixAutoUpdate",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "matrixWorldAutoUpdate": {
        "defaultValue": null,
        "description": "If set, then the renderer checks every frame if the object and its children need matrix updates.\nWhen it isn't, then you have to maintain all matrices in the object and its children yourself.\n@defaultValue {@link DEFAULT_MATRIX_WORLD_AUTO_UPDATE } - that is `(true)`.",
        "name": "matrixWorldAutoUpdate",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "matrixWorldNeedsUpdate": {
        "defaultValue": null,
        "description": "When this is set, it calculates the matrixWorld in that frame and resets this property to false.\n@defaultValue `false`",
        "name": "matrixWorldNeedsUpdate",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "visible": {
        "defaultValue": null,
        "description": "Object gets rendered if `true`.\n@defaultValue `true`",
        "name": "visible",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "castShadow": {
        "defaultValue": null,
        "description": "Whether the object gets rendered into shadow map.\n@defaultValue `false`",
        "name": "castShadow",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "receiveShadow": {
        "defaultValue": null,
        "description": "Whether the material receives shadows.\n@defaultValue `false`",
        "name": "receiveShadow",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "frustumCulled": {
        "defaultValue": null,
        "description": "When this is set, it checks every frame if the object is in the frustum of the camera before rendering the object.\nIf set to `false` the object gets rendered every frame even if it is not in the frustum of the camera.\n@defaultValue `true`",
        "name": "frustumCulled",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Readonly<boolean>"
        }
      },
      "renderOrder": {
        "defaultValue": null,
        "description": "This value allows the default rendering order of {@link https://en.wikipedia.org/wiki/Scene_graph scene graph}\nobjects to be overridden although opaque and transparent objects remain sorted independently.\n@remarks When this property is set for an instance of {@link Group Group}, all descendants objects will be sorted and rendered together.\nSorting is from lowest to highest renderOrder.\n@defaultValue `0`",
        "name": "renderOrder",
        "declarations": [],
        "required": false,
        "type": {
          "name": "number"
        }
      },
      "animations": {
        "defaultValue": null,
        "description": "Array with object's animation clips.\n@defaultValue `[]`",
        "name": "animations",
        "declarations": [],
        "required": false,
        "type": {
          "name": "AnimationClip[] | readonly AnimationClip[]"
        }
      },
      "userData": {
        "defaultValue": {
          "value": "`{}`"
        },
        "description": "An object that can be used to store custom data about the {@link Object3D}.\n@remarks It should not hold references to _functions_ as these **will not** be cloned.",
        "name": "userData",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Record<string, any> | Readonly<Record<string, any>>"
        }
      },
      "customDepthMaterial": {
        "defaultValue": null,
        "description": "Custom depth material to be used when rendering to the depth map.\n@remarks Can only be used in context of meshes.\nWhen shadow-casting with a {@link THREE.DirectionalLight DirectionalLight} or {@link THREE.SpotLight SpotLight},\nif you are modifying vertex positions in the vertex shader you must specify a customDepthMaterial for proper shadows.\n@defaultValue `undefined`",
        "name": "customDepthMaterial",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Material | Readonly<Material>"
        }
      },
      "customDistanceMaterial": {
        "defaultValue": null,
        "description": "Same as {@link customDepthMaterial}, but used with {@link THREE.Object3DPointLight PointLight}.\n@defaultValue `undefined`",
        "name": "customDistanceMaterial",
        "declarations": [],
        "required": false,
        "type": {
          "name": "Material | Readonly<Material>"
        }
      },
      "onBeforeShadow": {
        "defaultValue": null,
        "description": "An optional callback that is executed immediately before a 3D object is rendered to a shadow map.\n@remarks This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry,\ndepthMaterial, group.\nPlease notice that this callback is only executed for `renderable` 3D objects. Meaning 3D objects which\ndefine their visual appearance with geometries and materials like instances of {@link Mesh }, {@link Line },\n{@link Points } or {@link Sprite }. Instances of {@link Object3D }, {@link Group } or {@link Bone } are not renderable\nand thus this callback is not executed for such objects.",
        "name": "onBeforeShadow",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((renderer: WebGLRenderer, scene: Scene, camera: Camera, shadowCamera: Camera, geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, depthMaterial: Material, group: Group<...>) => void) | Readonly<...>"
        }
      },
      "onAfterShadow": {
        "defaultValue": null,
        "description": "An optional callback that is executed immediately after a 3D object is rendered to a shadow map.\n@remarks This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry,\ndepthMaterial, group.\nPlease notice that this callback is only executed for `renderable` 3D objects. Meaning 3D objects which\ndefine their visual appearance with geometries and materials like instances of {@link Mesh }, {@link Line },\n{@link Points } or {@link Sprite }. Instances of {@link Object3D }, {@link Group } or {@link Bone } are not renderable\nand thus this callback is not executed for such objects.",
        "name": "onAfterShadow",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((renderer: WebGLRenderer, scene: Scene, camera: Camera, shadowCamera: Camera, geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, depthMaterial: Material, group: Group<...>) => void) | Readonly<...>"
        }
      },
      "onBeforeRender": {
        "defaultValue": null,
        "description": "An optional callback that is executed immediately before a 3D object is rendered.\n@remarks This function is called with the following parameters: renderer, scene, camera, geometry, material, group.\nPlease notice that this callback is only executed for `renderable` 3D objects. Meaning 3D objects which\ndefine their visual appearance with geometries and materials like instances of {@link Mesh }, {@link Line },\n{@link Points } or {@link Sprite }. Instances of {@link Object3D }, {@link Group } or {@link Bone } are not renderable\nand thus this callback is not executed for such objects.",
        "name": "onBeforeRender",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, material: Material, group: Group<...>) => void) | Readonly<...>"
        }
      },
      "onAfterRender": {
        "defaultValue": null,
        "description": "An optional callback that is executed immediately after a 3D object is rendered.\n@remarks This function is called with the following parameters: renderer, scene, camera, geometry, material, group.\nPlease notice that this callback is only executed for `renderable` 3D objects. Meaning 3D objects which\ndefine their visual appearance with geometries and materials like instances of {@link Mesh }, {@link Line },\n{@link Points } or {@link Sprite }. Instances of {@link Object3D }, {@link Group } or {@link Bone } are not renderable\nand thus this callback is not executed for such objects.",
        "name": "onAfterRender",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((renderer: WebGLRenderer, scene: Scene, camera: Camera, geometry: BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, material: Material, group: Group<...>) => void) | Readonly<...>"
        }
      },
      "applyMatrix4": {
        "defaultValue": null,
        "description": "Applies the matrix transform to the object and updates the object's position, rotation and scale.\n@param matrix",
        "name": "applyMatrix4",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((matrix: Matrix4) => void) | Readonly<(matrix: Matrix4) => void>"
        }
      },
      "applyQuaternion": {
        "defaultValue": null,
        "description": "Applies the rotation represented by the quaternion to the object.\n@param quaternion",
        "name": "applyQuaternion",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((quaternion: Quaternion) => Object3D<Object3DEventMap>) | Readonly<(quaternion: Quaternion) => Object3D<Object3DEventMap>>"
        }
      },
      "setRotationFromAxisAngle": {
        "defaultValue": null,
        "description": "Calls {@link THREE.Quaternion.setFromAxisAngle setFromAxisAngle}({@link axis}, {@link angle}) on the {@link quaternion.quaternion}.\n@param axis A normalized vector in object space.\n@param angle Angle in radians. Expects a `Float`",
        "name": "setRotationFromAxisAngle",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((axis: Vector3, angle: number) => void) | Readonly<(axis: Vector3, angle: number) => void>"
        }
      },
      "setRotationFromEuler": {
        "defaultValue": null,
        "description": "Calls {@link THREE.Quaternion.setFromEuler setFromEuler}({@link euler}) on the {@link quaternion.quaternion}.\n@param euler Euler angle specifying rotation amount.",
        "name": "setRotationFromEuler",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((euler: Euler) => void) | Readonly<(euler: Euler) => void>"
        }
      },
      "setRotationFromMatrix": {
        "defaultValue": null,
        "description": "Calls {@link THREE.Quaternion.setFromRotationMatrix setFromRotationMatrix}({@link m}) on the {@link quaternion.quaternion}.\n@remarks Note that this assumes that the upper 3x3 of m is a pure rotation matrix (i.e, unscaled).\n@param m Rotate the quaternion by the rotation component of the matrix.",
        "name": "setRotationFromMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((m: Matrix4) => void) | Readonly<(m: Matrix4) => void>"
        }
      },
      "setRotationFromQuaternion": {
        "defaultValue": null,
        "description": "Copy the given {@link THREE.Quaternion Quaternion} into {@link quaternion.quaternion}.\n@param q Normalized Quaternion.",
        "name": "setRotationFromQuaternion",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((q: Quaternion) => void) | Readonly<(q: Quaternion) => void>"
        }
      },
      "rotateOnAxis": {
        "defaultValue": null,
        "description": "Rotate an object along an axis in object space.\n@remarks The axis is assumed to be normalized.\n@param axis A normalized vector in object space.\n@param angle The angle in radians. Expects a `Float`",
        "name": "rotateOnAxis",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((axis: Vector3, angle: number) => Object3D<Object3DEventMap>) | Readonly<(axis: Vector3, angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "rotateOnWorldAxis": {
        "defaultValue": null,
        "description": "Rotate an object along an axis in world space.\n@remarks The axis is assumed to be normalized\nMethod Assumes no rotated parent.\n@param axis A normalized vector in world space.\n@param angle The angle in radians. Expects a `Float`",
        "name": "rotateOnWorldAxis",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((axis: Vector3, angle: number) => Object3D<Object3DEventMap>) | Readonly<(axis: Vector3, angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "rotateX": {
        "defaultValue": null,
        "description": "Rotates the object around _x_ axis in local space.\n@param rad The angle to rotate in radians. Expects a `Float`",
        "name": "rotateX",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((angle: number) => Object3D<Object3DEventMap>) | Readonly<(angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "rotateY": {
        "defaultValue": null,
        "description": "Rotates the object around _y_ axis in local space.\n@param rad The angle to rotate in radians. Expects a `Float`",
        "name": "rotateY",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((angle: number) => Object3D<Object3DEventMap>) | Readonly<(angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "rotateZ": {
        "defaultValue": null,
        "description": "Rotates the object around _z_ axis in local space.\n@param rad The angle to rotate in radians. Expects a `Float`",
        "name": "rotateZ",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((angle: number) => Object3D<Object3DEventMap>) | Readonly<(angle: number) => Object3D<Object3DEventMap>>"
        }
      },
      "translateOnAxis": {
        "defaultValue": null,
        "description": "Translate an object by distance along an axis in object space\n@remarks The axis is assumed to be normalized.\n@param axis A normalized vector in object space.\n@param distance The distance to translate. Expects a `Float`",
        "name": "translateOnAxis",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((axis: Vector3, distance: number) => Object3D<Object3DEventMap>) | Readonly<(axis: Vector3, distance: number) => Object3D<Object3DEventMap>>"
        }
      },
      "translateX": {
        "defaultValue": null,
        "description": "Translates object along x axis in object space by {@link distance} units.\n@param distance Expects a `Float`",
        "name": "translateX",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((distance: number) => Object3D<Object3DEventMap>) | Readonly<(distance: number) => Object3D<Object3DEventMap>>"
        }
      },
      "translateY": {
        "defaultValue": null,
        "description": "Translates object along _y_ axis in object space by {@link distance} units.\n@param distance Expects a `Float`",
        "name": "translateY",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((distance: number) => Object3D<Object3DEventMap>) | Readonly<(distance: number) => Object3D<Object3DEventMap>>"
        }
      },
      "translateZ": {
        "defaultValue": null,
        "description": "Translates object along _z_ axis in object space by {@link distance} units.\n@param distance Expects a `Float`",
        "name": "translateZ",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((distance: number) => Object3D<Object3DEventMap>) | Readonly<(distance: number) => Object3D<Object3DEventMap>>"
        }
      },
      "localToWorld": {
        "defaultValue": null,
        "description": "Converts the vector from this object's local space to world space.\n@param vector A vector representing a position in this object's local space.",
        "name": "localToWorld",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((vector: Vector3) => Vector3) | Readonly<(vector: Vector3) => Vector3>"
        }
      },
      "worldToLocal": {
        "defaultValue": null,
        "description": "Converts the vector from world space to this object's local space.\n@param vector A vector representing a position in world space.",
        "name": "worldToLocal",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((vector: Vector3) => Vector3) | Readonly<(vector: Vector3) => Vector3>"
        }
      },
      "lookAt": {
        "defaultValue": null,
        "description": "Rotates the object to face a point in world space.\n@remarks This method does not support objects having non-uniformly-scaled parent(s).\n@param vector A vector representing a position in world space to look at.\n@remarks This method does not support objects having non-uniformly-scaled parent(s).\n@param x Expects a `Float`\n@param y Expects a `Float`\n@param z Expects a `Float`",
        "name": "lookAt",
        "declarations": [],
        "required": false,
        "type": {
          "name": "{ (vector: Vector3): void; (x: number, y: number, z: number): void; } | Readonly<{ (vector: Vector3): void; (x: number, y: number, z: number): void; }>"
        }
      },
      "add": {
        "defaultValue": null,
        "description": "Adds another {@link Object3D} as child of this {@link Object3D}.\n@remarks An arbitrary number of objects may be added\nAny current parent on an {@link object } passed in here will be removed, since an {@link Object3D } can have at most one parent.\n@see {@link attach }\n@see {@link THREE.Group Group} for info on manually grouping objects.\n@param object",
        "name": "add",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((...object: Object3D<Object3DEventMap>[]) => Object3D<Object3DEventMap>) | Readonly<(...object: Object3D<Object3DEventMap>[]) => Object3D<...>>"
        }
      },
      "remove": {
        "defaultValue": null,
        "description": "Removes a {@link Object3D} as child of this {@link Object3D}.\n@remarks An arbitrary number of objects may be removed.\n@see {@link THREE.Group Group} for info on manually grouping objects.\n@param object",
        "name": "remove",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((...object: Object3D<Object3DEventMap>[]) => Object3D<Object3DEventMap>) | Readonly<(...object: Object3D<Object3DEventMap>[]) => Object3D<...>>"
        }
      },
      "removeFromParent": {
        "defaultValue": null,
        "description": "Removes this object from its current parent.",
        "name": "removeFromParent",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(() => Object3D<Object3DEventMap>) | Readonly<() => Object3D<Object3DEventMap>>"
        }
      },
      "clear": {
        "defaultValue": null,
        "description": "Removes all child objects.",
        "name": "clear",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(() => Object3D<Object3DEventMap>) | Readonly<() => Object3D<Object3DEventMap>>"
        }
      },
      "getObjectById": {
        "defaultValue": null,
        "description": "Searches through an object and its children, starting with the object itself, and returns the first with a matching id.\n@remarks Note that ids are assigned in chronological order: 1, 2, 3, ..., incrementing by one for each new object.\n@see {@link id }\n@param id Unique number of the object instance. Expects a `Integer`",
        "name": "getObjectById",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((id: number) => Object3D<Object3DEventMap>) | Readonly<(id: number) => Object3D<Object3DEventMap>>"
        }
      },
      "getObjectByName": {
        "defaultValue": null,
        "description": "Searches through an object and its children, starting with the object itself, and returns the first with a matching name.\n@remarks Note that for most objects the name is an empty string by default\nYou will have to set it manually to make use of this method.\n@param name String to match to the children's Object3D.name property.",
        "name": "getObjectByName",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((name: string) => Object3D<Object3DEventMap>) | Readonly<(name: string) => Object3D<Object3DEventMap>>"
        }
      },
      "getObjectByProperty": {
        "defaultValue": null,
        "description": "Searches through an object and its children, starting with the object itself,\nand returns the first with a property that matches the value given.\n@param name - the property name to search for.\n@param value - value of the given property.",
        "name": "getObjectByProperty",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((name: string, value: any) => Object3D<Object3DEventMap>) | Readonly<(name: string, value: any) => Object3D<Object3DEventMap>>"
        }
      },
      "getObjectsByProperty": {
        "defaultValue": null,
        "description": "Searches through an object and its children, starting with the object itself,\nand returns the first with a property that matches the value given.\n@param name The property name to search for.\n@param value Value of the given property.\n@param optionalTarget target to set the result. Otherwise a new Array is instantiated. If set, you must clear\nthis array prior to each call (i.e., array.length = 0;).",
        "name": "getObjectsByProperty",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((name: string, value: any, optionalTarget?: Object3D<Object3DEventMap>[]) => Object3D<Object3DEventMap>[]) | Readonly<(name: string, value: any, optionalTarget?: Object3D<...>[]) => Object3D<...>[]>"
        }
      },
      "getWorldPosition": {
        "defaultValue": null,
        "description": "Returns a vector representing the position of the object in world space.\n@param target The result will be copied into this Vector3.",
        "name": "getWorldPosition",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((target: Vector3) => Vector3) | Readonly<(target: Vector3) => Vector3>"
        }
      },
      "getWorldQuaternion": {
        "defaultValue": null,
        "description": "Returns a quaternion representing the rotation of the object in world space.\n@param target The result will be copied into this Quaternion.",
        "name": "getWorldQuaternion",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((target: Quaternion) => Quaternion) | Readonly<(target: Quaternion) => Quaternion>"
        }
      },
      "getWorldScale": {
        "defaultValue": null,
        "description": "Returns a vector of the scaling factors applied to the object for each axis in world space.\n@param target The result will be copied into this Vector3.",
        "name": "getWorldScale",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((target: Vector3) => Vector3) | Readonly<(target: Vector3) => Vector3>"
        }
      },
      "getWorldDirection": {
        "defaultValue": null,
        "description": "Returns a vector representing the direction of object's positive z-axis in world space.\n@param target The result will be copied into this Vector3.",
        "name": "getWorldDirection",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((target: Vector3) => Vector3) | Readonly<(target: Vector3) => Vector3>"
        }
      },
      "raycast": {
        "defaultValue": null,
        "description": "Abstract (empty) method to get intersections between a casted ray and this object\n@remarks Subclasses such as {@link THREE.Mesh Mesh}, {@link THREE.Line Line}, and {@link THREE.Points Points} implement this method in order to use raycasting.\n@see {@link THREE.Raycaster Raycaster}\n@param raycaster\n@param intersects\n@defaultValue `() => {}`",
        "name": "raycast",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((raycaster: Raycaster, intersects: Intersection<Object3D<Object3DEventMap>>[]) => void) | Readonly<(raycaster: Raycaster, intersects: Intersection<...>[]) => void>"
        }
      },
      "traverse": {
        "defaultValue": null,
        "description": "Executes the callback on this object and all descendants.\n@remarks Note: Modifying the scene graph inside the callback is discouraged.\n@param callback A function with as first argument an {@link Object3D } object.",
        "name": "traverse",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((callback: (object: Object3D<Object3DEventMap>) => any) => void) | Readonly<(callback: (object: Object3D<Object3DEventMap>) => any) => void>"
        }
      },
      "traverseVisible": {
        "defaultValue": null,
        "description": "Like traverse, but the callback will only be executed for visible objects\n@remarks Descendants of invisible objects are not traversed.\nNote: Modifying the scene graph inside the callback is discouraged.\n@param callback A function with as first argument an {@link Object3D } object.",
        "name": "traverseVisible",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((callback: (object: Object3D<Object3DEventMap>) => any) => void) | Readonly<(callback: (object: Object3D<Object3DEventMap>) => any) => void>"
        }
      },
      "traverseAncestors": {
        "defaultValue": null,
        "description": "Executes the callback on all ancestors.\n@remarks Note: Modifying the scene graph inside the callback is discouraged.\n@param callback A function with as first argument an {@link Object3D } object.",
        "name": "traverseAncestors",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((callback: (object: Object3D<Object3DEventMap>) => any) => void) | Readonly<(callback: (object: Object3D<Object3DEventMap>) => any) => void>"
        }
      },
      "updateMatrix": {
        "defaultValue": null,
        "description": "Updates local transform.",
        "name": "updateMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(() => void) | Readonly<() => void>"
        }
      },
      "updateMatrixWorld": {
        "defaultValue": null,
        "description": "Updates the global transform of the object.\nAnd will update the object descendants if {@link matrixWorldNeedsUpdate.matrixWorldNeedsUpdate} is set to true or if the {@link force} parameter is set to `true`.\n@param force A boolean that can be used to bypass {@link matrixWorldAutoUpdate .matrixWorldAutoUpdate}, to recalculate the world matrix of the object and descendants on the current frame.\nUseful if you cannot wait for the renderer to update it on the next frame, assuming {@link matrixWorldAutoUpdate .matrixWorldAutoUpdate} set to `true`.",
        "name": "updateMatrixWorld",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((force?: boolean) => void) | Readonly<(force?: boolean) => void>"
        }
      },
      "updateWorldMatrix": {
        "defaultValue": null,
        "description": "Updates the global transform of the object.\n@param updateParents Recursively updates global transform of ancestors.\n@param updateChildren Recursively updates global transform of descendants.",
        "name": "updateWorldMatrix",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((updateParents: boolean, updateChildren: boolean) => void) | Readonly<(updateParents: boolean, updateChildren: boolean) => void>"
        }
      },
      "toJSON": {
        "defaultValue": null,
        "description": "Convert the object to three.js {@link https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 JSON Object/Scene format}.\n@param meta Object containing metadata such as materials, textures or images for the object.",
        "name": "toJSON",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((meta?: JSONMeta) => Object3DJSON) | Readonly<(meta?: JSONMeta) => Object3DJSON>"
        }
      },
      "clone": {
        "defaultValue": null,
        "description": "Returns a clone of `this` object and optionally all descendants.\n@param recursive If true, descendants of the object are also cloned. Default `true`",
        "name": "clone",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((recursive?: boolean) => Object3D<Object3DEventMap>) | Readonly<(recursive?: boolean) => Object3D<Object3DEventMap>>"
        }
      },
      "copy": {
        "defaultValue": null,
        "description": "Copies the given object into this object.\n@remarks Event listeners and user-defined callbacks ({@link .onAfterRender} and {@link .onBeforeRender}) are not copied.\n@param object\n@param recursive If set to `true`, descendants of the object are copied next to the existing ones. If set to\n`false`, descendants are left unchanged. Default is `true`.",
        "name": "copy",
        "declarations": [],
        "required": false,
        "type": {
          "name": "((object: Object3D<Object3DEventMap>, recursive?: boolean) => Object3D<Object3DEventMap>) | Readonly<(object: Object3D<Object3DEventMap>, recursive?: boolean) => Object3D<...>>"
        }
      },
      "addEventListener": {
        "defaultValue": null,
        "description": "Adds a listener to an event type.\n@param type The type of event to listen to.\n@param listener The function that gets called when the event is fired.",
        "name": "addEventListener",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(<T extends keyof Object3DEventMap>(type: T, listener: EventListener<Object3DEventMap[T], T, Object3D<Object3DEventMap>>) => void) | Readonly<...>"
        }
      },
      "hasEventListener": {
        "defaultValue": null,
        "description": "Checks if listener is added to an event type.\n@param type The type of event to listen to.\n@param listener The function that gets called when the event is fired.",
        "name": "hasEventListener",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(<T extends keyof Object3DEventMap>(type: T, listener: EventListener<Object3DEventMap[T], T, Object3D<Object3DEventMap>>) => boolean) | Readonly<...>"
        }
      },
      "removeEventListener": {
        "defaultValue": null,
        "description": "Removes a listener from an event type.\n@param type The type of the listener that gets removed.\n@param listener The listener function that gets removed.",
        "name": "removeEventListener",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(<T extends keyof Object3DEventMap>(type: T, listener: EventListener<Object3DEventMap[T], T, Object3D<Object3DEventMap>>) => void) | Readonly<...>"
        }
      },
      "dispatchEvent": {
        "defaultValue": null,
        "description": "Fire an event type.\n@param event The event that gets fired.",
        "name": "dispatchEvent",
        "declarations": [],
        "required": false,
        "type": {
          "name": "(<T extends keyof Object3DEventMap>(event: BaseEvent<T> & Object3DEventMap[T]) => void) | Readonly<(<T extends keyof Object3DEventMap>(event: BaseEvent<...> & Object3DEventMap[T]) => void)>"
        }
      },
      "image": {
        "defaultValue": null,
        "description": "The image to display on the icon.",
        "name": "image",
        "declarations": [
          {
            "fileName": "src/symbols/nodes/Svg.tsx",
            "name": "TypeLiteral"
          }
        ],
        "required": true,
        "type": {
          "name": "string"
        }
      }
    }
  }
]