{
  "__schema": "APISchema",
  "location": {
    "filePath": "index.tsx",
    "line": 6,
    "character": 1
  },
  "module": {
    "__schema": "ModuleSchema",
    "location": {
      "filePath": "index.tsx",
      "line": 6,
      "character": 1
    },
    "exports": [
      {
        "__schema": "ExportSchema",
        "location": {
          "filePath": "index.tsx",
          "line": 6,
          "character": 10
        },
        "signature": "function TreeLayer<Payload = any>({ childNodes, depth }: TreeLayerProps<Payload>): React.JSX.Element",
        "name": "TreeLayer",
        "exportNode": {
          "__schema": "ReactSchema",
          "location": {
            "filePath": "tree-layer.tsx",
            "line": 5,
            "character": 1
          },
          "signature": "function TreeLayer<Payload = any>({ childNodes, depth }: TreeLayerProps<Payload>): React.JSX.Element",
          "name": "TreeLayer",
          "props": {
            "__schema": "ParameterSchema",
            "location": {
              "filePath": "tree-layer.tsx",
              "line": 5,
              "character": 42
            },
            "name": "{ childNodes, depth }",
            "type": {
              "__schema": "TypeRefSchema",
              "location": {
                "filePath": "tree-layer.tsx",
                "line": 5,
                "character": 65
              },
              "name": "TreeLayerProps",
              "internalFilePath": "tree-types.ts",
              "typeArgs": [
                {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-layer.tsx",
                    "line": 5,
                    "character": 80
                  },
                  "name": "Payload"
                }
              ]
            },
            "isOptional": false,
            "objectBindingNodes": [
              {
                "__schema": "InferenceTypeSchema",
                "location": {
                  "filePath": "tree-layer.tsx",
                  "line": 5,
                  "character": 44
                },
                "name": "childNodes",
                "type": "TreeNode<Payload>[]",
                "isSpread": false
              },
              {
                "__schema": "InferenceTypeSchema",
                "location": {
                  "filePath": "tree-layer.tsx",
                  "line": 5,
                  "character": 56
                },
                "name": "depth",
                "type": "number",
                "isSpread": false
              }
            ],
            "isSpread": false
          },
          "returnType": {
            "__schema": "TypeRefSchema",
            "location": {
              "filePath": "tree-layer.tsx",
              "line": 5,
              "character": 1
            },
            "name": "React.JSX.Element",
            "packageName": "react"
          },
          "modifiers": [
            "export"
          ],
          "typeParams": [
            "Payload"
          ]
        }
      },
      {
        "__schema": "TypeSchema",
        "location": {
          "filePath": "tree-node-context.tsx",
          "line": 5,
          "character": 1
        },
        "signature": "type TreeNodeRenderer<Payload = any> = (props: TreeNodeProps<Payload>) => ReactElement",
        "name": "TreeNodeRenderer",
        "type": {
          "__schema": "FunctionLikeSchema",
          "location": {
            "filePath": "tree-node-context.tsx",
            "line": 5,
            "character": 47
          },
          "signature": "(props: TreeNodeProps<Payload>): (package: react) ReactElement",
          "name": "",
          "params": [
            {
              "__schema": "ParameterSchema",
              "location": {
                "filePath": "tree-node-context.tsx",
                "line": 5,
                "character": 48
              },
              "name": "props",
              "type": {
                "__schema": "TypeRefSchema",
                "location": {
                  "filePath": "tree-node-context.tsx",
                  "line": 5,
                  "character": 55
                },
                "name": "TreeNodeProps",
                "internalFilePath": "tree-types.ts",
                "typeArgs": [
                  {
                    "__schema": "TypeRefSchema",
                    "location": {
                      "filePath": "tree-node-context.tsx",
                      "line": 5,
                      "character": 69
                    },
                    "name": "Payload"
                  }
                ]
              },
              "isOptional": false,
              "isSpread": false
            }
          ],
          "returnType": {
            "__schema": "TypeRefSchema",
            "location": {
              "filePath": "tree-node-context.tsx",
              "line": 5,
              "character": 82
            },
            "name": "ReactElement",
            "packageName": "react"
          },
          "modifiers": []
        }
      },
      {
        "__schema": "VariableLikeSchema",
        "location": {
          "filePath": "tree-node-context.tsx",
          "line": 7,
          "character": 14
        },
        "signature": "const TreeNodeContext: React.Context<TreeNodeRenderer<any>>",
        "name": "TreeNodeContext",
        "type": {
          "__schema": "TypeRefSchema",
          "location": {
            "filePath": "tree-node-context.tsx",
            "line": 7,
            "character": 31
          },
          "name": "React.Context",
          "typeArgs": [
            {
              "__schema": "TypeRefSchema",
              "location": {
                "filePath": "tree-node-context.tsx",
                "line": 7,
                "character": 45
              },
              "name": "TreeNodeRenderer",
              "internalFilePath": "tree-node-context.tsx",
              "typeArgs": [
                {
                  "__schema": "KeywordTypeSchema",
                  "location": {
                    "filePath": "tree-node-context.tsx",
                    "line": 7,
                    "character": 62
                  },
                  "name": "any"
                }
              ]
            }
          ]
        },
        "isOptional": false,
        "defaultValue": "createContext<TreeNodeRenderer>(DefaultTreeNode)"
      },
      {
        "__schema": "TypeSchema",
        "location": {
          "filePath": "tree-types.ts",
          "line": 3,
          "character": 1
        },
        "signature": "type treeNodeComponentProvider = (node: TreeNode) => ComponentType<TreeNodeProps>",
        "name": "treeNodeComponentProvider",
        "type": {
          "__schema": "FunctionLikeSchema",
          "location": {
            "filePath": "tree-types.ts",
            "line": 3,
            "character": 41
          },
          "signature": "(node: TreeNode): (package: react) ComponentType<TreeNodeProps>",
          "name": "",
          "params": [
            {
              "__schema": "ParameterSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 3,
                "character": 42
              },
              "name": "node",
              "type": {
                "__schema": "TypeRefSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 3,
                  "character": 48
                },
                "name": "TreeNode",
                "internalFilePath": "tree-types.ts"
              },
              "isOptional": false,
              "isSpread": false
            }
          ],
          "returnType": {
            "__schema": "TypeRefSchema",
            "location": {
              "filePath": "tree-types.ts",
              "line": 3,
              "character": 61
            },
            "name": "ComponentType",
            "packageName": "react",
            "typeArgs": [
              {
                "__schema": "TypeRefSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 3,
                  "character": 75
                },
                "name": "TreeNodeProps",
                "internalFilePath": "tree-types.ts"
              }
            ]
          },
          "modifiers": []
        }
      },
      {
        "__schema": "TypeSchema",
        "location": {
          "filePath": "tree-types.ts",
          "line": 5,
          "character": 1
        },
        "signature": "type TreeLayerProps<Payload = any> = {\n    childNodes: TreeNode<Payload>[];\n    depth: number;\n}",
        "name": "TreeLayerProps",
        "type": {
          "__schema": "TypeLiteralSchema",
          "location": {
            "filePath": "tree-types.ts",
            "line": 5,
            "character": 45
          },
          "members": [
            {
              "__schema": "VariableLikeSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 6,
                "character": 3
              },
              "signature": "(property) childNodes: TreeNode<Payload>[]",
              "name": "childNodes",
              "type": {
                "__schema": "TypeArraySchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 6,
                  "character": 15
                },
                "type": {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 6,
                    "character": 15
                  },
                  "name": "TreeNode",
                  "internalFilePath": "tree-types.ts",
                  "typeArgs": [
                    {
                      "__schema": "TypeRefSchema",
                      "location": {
                        "filePath": "tree-types.ts",
                        "line": 6,
                        "character": 24
                      },
                      "name": "Payload"
                    }
                  ]
                }
              },
              "isOptional": false
            },
            {
              "__schema": "VariableLikeSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 7,
                "character": 3
              },
              "signature": "(property) depth: number",
              "name": "depth",
              "type": {
                "__schema": "KeywordTypeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 7,
                  "character": 10
                },
                "name": "number"
              },
              "isOptional": false
            }
          ]
        }
      },
      {
        "__schema": "TypeSchema",
        "location": {
          "filePath": "tree-types.ts",
          "line": 10,
          "character": 1
        },
        "signature": "type TreeNodeProps<Payload = any> = {\n    node: TreeNode<Payload>;\n    depth: number;\n    TreeNode?: TreeNodeProps<Payload>;\n}",
        "name": "TreeNodeProps",
        "type": {
          "__schema": "TypeLiteralSchema",
          "location": {
            "filePath": "tree-types.ts",
            "line": 10,
            "character": 44
          },
          "members": [
            {
              "__schema": "VariableLikeSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 11,
                "character": 3
              },
              "signature": "(property) node: TreeNode<Payload>",
              "name": "node",
              "type": {
                "__schema": "TypeRefSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 11,
                  "character": 9
                },
                "name": "TreeNode",
                "internalFilePath": "tree-types.ts",
                "typeArgs": [
                  {
                    "__schema": "TypeRefSchema",
                    "location": {
                      "filePath": "tree-types.ts",
                      "line": 11,
                      "character": 18
                    },
                    "name": "Payload"
                  }
                ]
              },
              "isOptional": false
            },
            {
              "__schema": "VariableLikeSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 12,
                "character": 3
              },
              "signature": "(property) depth: number",
              "name": "depth",
              "type": {
                "__schema": "KeywordTypeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 12,
                  "character": 10
                },
                "name": "number"
              },
              "isOptional": false
            },
            {
              "__schema": "VariableLikeSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 13,
                "character": 3
              },
              "signature": "(property) TreeNode?: TreeNodeProps<Payload>",
              "name": "TreeNode",
              "type": {
                "__schema": "TypeRefSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 13,
                  "character": 14
                },
                "name": "TreeNodeProps",
                "internalFilePath": "tree-types.ts",
                "typeArgs": [
                  {
                    "__schema": "TypeRefSchema",
                    "location": {
                      "filePath": "tree-types.ts",
                      "line": 13,
                      "character": 28
                    },
                    "name": "Payload"
                  }
                ]
              },
              "isOptional": true
            }
          ]
        }
      },
      {
        "__schema": "TypeSchema",
        "location": {
          "filePath": "tree-types.ts",
          "line": 16,
          "character": 1
        },
        "signature": "type TreeNode<Payload = any> = {\n    id: string;\n    children?: TreeNode<Payload>[];\n    payload?: Payload;\n}",
        "name": "TreeNode",
        "type": {
          "__schema": "TypeLiteralSchema",
          "location": {
            "filePath": "tree-types.ts",
            "line": 16,
            "character": 39
          },
          "members": [
            {
              "__schema": "VariableLikeSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 17,
                "character": 3
              },
              "signature": "(property) id: string",
              "name": "id",
              "type": {
                "__schema": "KeywordTypeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 17,
                  "character": 7
                },
                "name": "string"
              },
              "isOptional": false
            },
            {
              "__schema": "VariableLikeSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 18,
                "character": 3
              },
              "signature": "(property) children?: TreeNode<Payload>[]",
              "name": "children",
              "type": {
                "__schema": "TypeArraySchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 18,
                  "character": 14
                },
                "type": {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 18,
                    "character": 14
                  },
                  "name": "TreeNode",
                  "internalFilePath": "tree-types.ts",
                  "typeArgs": [
                    {
                      "__schema": "TypeRefSchema",
                      "location": {
                        "filePath": "tree-types.ts",
                        "line": 18,
                        "character": 23
                      },
                      "name": "Payload"
                    }
                  ]
                }
              },
              "isOptional": true
            },
            {
              "__schema": "VariableLikeSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 19,
                "character": 3
              },
              "signature": "(property) payload?: Payload = any",
              "name": "payload",
              "type": {
                "__schema": "TypeRefSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 19,
                  "character": 13
                },
                "name": "Payload"
              },
              "isOptional": true
            }
          ]
        }
      }
    ],
    "internals": []
  },
  "internals": [
    {
      "__schema": "ModuleSchema",
      "location": {
        "filePath": "tree-layer.tsx",
        "line": 1,
        "character": 1
      },
      "exports": [
        {
          "__schema": "ReactSchema",
          "location": {
            "filePath": "tree-layer.tsx",
            "line": 5,
            "character": 1
          },
          "signature": "function TreeLayer<Payload = any>({ childNodes, depth }: TreeLayerProps<Payload>): React.JSX.Element",
          "name": "TreeLayer",
          "props": {
            "__schema": "ParameterSchema",
            "location": {
              "filePath": "tree-layer.tsx",
              "line": 5,
              "character": 42
            },
            "name": "{ childNodes, depth }",
            "type": {
              "__schema": "TypeRefSchema",
              "location": {
                "filePath": "tree-layer.tsx",
                "line": 5,
                "character": 65
              },
              "name": "TreeLayerProps",
              "internalFilePath": "tree-types.ts",
              "typeArgs": [
                {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-layer.tsx",
                    "line": 5,
                    "character": 80
                  },
                  "name": "Payload"
                }
              ]
            },
            "isOptional": false,
            "objectBindingNodes": [
              {
                "__schema": "InferenceTypeSchema",
                "location": {
                  "filePath": "tree-layer.tsx",
                  "line": 5,
                  "character": 44
                },
                "name": "childNodes",
                "type": "TreeNode<Payload>[]",
                "isSpread": false
              },
              {
                "__schema": "InferenceTypeSchema",
                "location": {
                  "filePath": "tree-layer.tsx",
                  "line": 5,
                  "character": 56
                },
                "name": "depth",
                "type": "number",
                "isSpread": false
              }
            ],
            "isSpread": false
          },
          "returnType": {
            "__schema": "TypeRefSchema",
            "location": {
              "filePath": "tree-layer.tsx",
              "line": 5,
              "character": 1
            },
            "name": "React.JSX.Element",
            "packageName": "react"
          },
          "modifiers": [
            "export"
          ],
          "typeParams": [
            "Payload"
          ]
        }
      ],
      "internals": []
    },
    {
      "__schema": "ModuleSchema",
      "location": {
        "filePath": "tree-node-context.tsx",
        "line": 1,
        "character": 1
      },
      "exports": [
        {
          "__schema": "TypeSchema",
          "location": {
            "filePath": "tree-node-context.tsx",
            "line": 5,
            "character": 1
          },
          "signature": "type TreeNodeRenderer<Payload = any> = (props: TreeNodeProps<Payload>) => ReactElement",
          "name": "TreeNodeRenderer",
          "type": {
            "__schema": "FunctionLikeSchema",
            "location": {
              "filePath": "tree-node-context.tsx",
              "line": 5,
              "character": 47
            },
            "signature": "(props: TreeNodeProps<Payload>): (package: react) ReactElement",
            "name": "",
            "params": [
              {
                "__schema": "ParameterSchema",
                "location": {
                  "filePath": "tree-node-context.tsx",
                  "line": 5,
                  "character": 48
                },
                "name": "props",
                "type": {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-node-context.tsx",
                    "line": 5,
                    "character": 55
                  },
                  "name": "TreeNodeProps",
                  "internalFilePath": "tree-types.ts",
                  "typeArgs": [
                    {
                      "__schema": "TypeRefSchema",
                      "location": {
                        "filePath": "tree-node-context.tsx",
                        "line": 5,
                        "character": 69
                      },
                      "name": "Payload"
                    }
                  ]
                },
                "isOptional": false,
                "isSpread": false
              }
            ],
            "returnType": {
              "__schema": "TypeRefSchema",
              "location": {
                "filePath": "tree-node-context.tsx",
                "line": 5,
                "character": 82
              },
              "name": "ReactElement",
              "packageName": "react"
            },
            "modifiers": []
          }
        },
        {
          "__schema": "VariableLikeSchema",
          "location": {
            "filePath": "tree-node-context.tsx",
            "line": 7,
            "character": 14
          },
          "signature": "const TreeNodeContext: React.Context<TreeNodeRenderer<any>>",
          "name": "TreeNodeContext",
          "type": {
            "__schema": "TypeRefSchema",
            "location": {
              "filePath": "tree-node-context.tsx",
              "line": 7,
              "character": 31
            },
            "name": "React.Context",
            "typeArgs": [
              {
                "__schema": "TypeRefSchema",
                "location": {
                  "filePath": "tree-node-context.tsx",
                  "line": 7,
                  "character": 45
                },
                "name": "TreeNodeRenderer",
                "internalFilePath": "tree-node-context.tsx",
                "typeArgs": [
                  {
                    "__schema": "KeywordTypeSchema",
                    "location": {
                      "filePath": "tree-node-context.tsx",
                      "line": 7,
                      "character": 62
                    },
                    "name": "any"
                  }
                ]
              }
            ]
          },
          "isOptional": false,
          "defaultValue": "createContext<TreeNodeRenderer>(DefaultTreeNode)"
        }
      ],
      "internals": []
    },
    {
      "__schema": "ModuleSchema",
      "location": {
        "filePath": "tree-types.ts",
        "line": 1,
        "character": 1
      },
      "exports": [
        {
          "__schema": "TypeSchema",
          "location": {
            "filePath": "tree-types.ts",
            "line": 3,
            "character": 1
          },
          "signature": "type treeNodeComponentProvider = (node: TreeNode) => ComponentType<TreeNodeProps>",
          "name": "treeNodeComponentProvider",
          "type": {
            "__schema": "FunctionLikeSchema",
            "location": {
              "filePath": "tree-types.ts",
              "line": 3,
              "character": 41
            },
            "signature": "(node: TreeNode): (package: react) ComponentType<TreeNodeProps>",
            "name": "",
            "params": [
              {
                "__schema": "ParameterSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 3,
                  "character": 42
                },
                "name": "node",
                "type": {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 3,
                    "character": 48
                  },
                  "name": "TreeNode",
                  "internalFilePath": "tree-types.ts"
                },
                "isOptional": false,
                "isSpread": false
              }
            ],
            "returnType": {
              "__schema": "TypeRefSchema",
              "location": {
                "filePath": "tree-types.ts",
                "line": 3,
                "character": 61
              },
              "name": "ComponentType",
              "packageName": "react",
              "typeArgs": [
                {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 3,
                    "character": 75
                  },
                  "name": "TreeNodeProps",
                  "internalFilePath": "tree-types.ts"
                }
              ]
            },
            "modifiers": []
          }
        },
        {
          "__schema": "TypeSchema",
          "location": {
            "filePath": "tree-types.ts",
            "line": 5,
            "character": 1
          },
          "signature": "type TreeLayerProps<Payload = any> = {\n    childNodes: TreeNode<Payload>[];\n    depth: number;\n}",
          "name": "TreeLayerProps",
          "type": {
            "__schema": "TypeLiteralSchema",
            "location": {
              "filePath": "tree-types.ts",
              "line": 5,
              "character": 45
            },
            "members": [
              {
                "__schema": "VariableLikeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 6,
                  "character": 3
                },
                "signature": "(property) childNodes: TreeNode<Payload>[]",
                "name": "childNodes",
                "type": {
                  "__schema": "TypeArraySchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 6,
                    "character": 15
                  },
                  "type": {
                    "__schema": "TypeRefSchema",
                    "location": {
                      "filePath": "tree-types.ts",
                      "line": 6,
                      "character": 15
                    },
                    "name": "TreeNode",
                    "internalFilePath": "tree-types.ts",
                    "typeArgs": [
                      {
                        "__schema": "TypeRefSchema",
                        "location": {
                          "filePath": "tree-types.ts",
                          "line": 6,
                          "character": 24
                        },
                        "name": "Payload"
                      }
                    ]
                  }
                },
                "isOptional": false
              },
              {
                "__schema": "VariableLikeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 7,
                  "character": 3
                },
                "signature": "(property) depth: number",
                "name": "depth",
                "type": {
                  "__schema": "KeywordTypeSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 7,
                    "character": 10
                  },
                  "name": "number"
                },
                "isOptional": false
              }
            ]
          }
        },
        {
          "__schema": "TypeSchema",
          "location": {
            "filePath": "tree-types.ts",
            "line": 10,
            "character": 1
          },
          "signature": "type TreeNodeProps<Payload = any> = {\n    node: TreeNode<Payload>;\n    depth: number;\n    TreeNode?: TreeNodeProps<Payload>;\n}",
          "name": "TreeNodeProps",
          "type": {
            "__schema": "TypeLiteralSchema",
            "location": {
              "filePath": "tree-types.ts",
              "line": 10,
              "character": 44
            },
            "members": [
              {
                "__schema": "VariableLikeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 11,
                  "character": 3
                },
                "signature": "(property) node: TreeNode<Payload>",
                "name": "node",
                "type": {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 11,
                    "character": 9
                  },
                  "name": "TreeNode",
                  "internalFilePath": "tree-types.ts",
                  "typeArgs": [
                    {
                      "__schema": "TypeRefSchema",
                      "location": {
                        "filePath": "tree-types.ts",
                        "line": 11,
                        "character": 18
                      },
                      "name": "Payload"
                    }
                  ]
                },
                "isOptional": false
              },
              {
                "__schema": "VariableLikeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 12,
                  "character": 3
                },
                "signature": "(property) depth: number",
                "name": "depth",
                "type": {
                  "__schema": "KeywordTypeSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 12,
                    "character": 10
                  },
                  "name": "number"
                },
                "isOptional": false
              },
              {
                "__schema": "VariableLikeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 13,
                  "character": 3
                },
                "signature": "(property) TreeNode?: TreeNodeProps<Payload>",
                "name": "TreeNode",
                "type": {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 13,
                    "character": 14
                  },
                  "name": "TreeNodeProps",
                  "internalFilePath": "tree-types.ts",
                  "typeArgs": [
                    {
                      "__schema": "TypeRefSchema",
                      "location": {
                        "filePath": "tree-types.ts",
                        "line": 13,
                        "character": 28
                      },
                      "name": "Payload"
                    }
                  ]
                },
                "isOptional": true
              }
            ]
          }
        },
        {
          "__schema": "TypeSchema",
          "location": {
            "filePath": "tree-types.ts",
            "line": 16,
            "character": 1
          },
          "signature": "type TreeNode<Payload = any> = {\n    id: string;\n    children?: TreeNode<Payload>[];\n    payload?: Payload;\n}",
          "name": "TreeNode",
          "type": {
            "__schema": "TypeLiteralSchema",
            "location": {
              "filePath": "tree-types.ts",
              "line": 16,
              "character": 39
            },
            "members": [
              {
                "__schema": "VariableLikeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 17,
                  "character": 3
                },
                "signature": "(property) id: string",
                "name": "id",
                "type": {
                  "__schema": "KeywordTypeSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 17,
                    "character": 7
                  },
                  "name": "string"
                },
                "isOptional": false
              },
              {
                "__schema": "VariableLikeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 18,
                  "character": 3
                },
                "signature": "(property) children?: TreeNode<Payload>[]",
                "name": "children",
                "type": {
                  "__schema": "TypeArraySchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 18,
                    "character": 14
                  },
                  "type": {
                    "__schema": "TypeRefSchema",
                    "location": {
                      "filePath": "tree-types.ts",
                      "line": 18,
                      "character": 14
                    },
                    "name": "TreeNode",
                    "internalFilePath": "tree-types.ts",
                    "typeArgs": [
                      {
                        "__schema": "TypeRefSchema",
                        "location": {
                          "filePath": "tree-types.ts",
                          "line": 18,
                          "character": 23
                        },
                        "name": "Payload"
                      }
                    ]
                  }
                },
                "isOptional": true
              },
              {
                "__schema": "VariableLikeSchema",
                "location": {
                  "filePath": "tree-types.ts",
                  "line": 19,
                  "character": 3
                },
                "signature": "(property) payload?: Payload = any",
                "name": "payload",
                "type": {
                  "__schema": "TypeRefSchema",
                  "location": {
                    "filePath": "tree-types.ts",
                    "line": 19,
                    "character": 13
                  },
                  "name": "Payload"
                },
                "isOptional": true
              }
            ]
          }
        }
      ],
      "internals": []
    }
  ],
  "componentId": {
    "scope": "teambit.base-ui",
    "name": "graph/tree/recursive-tree",
    "version": "a4de05200fa41ab92cef1bb4ab892df7a96523d2"
  },
  "taggedModuleExports": []
}