{"data":{"allFile":{"nodes":[{"relativePath":"charts-api/api.json","internal":{"content":"{\n  \"_config_\": {},\n  \"AgChartTooltipOptions\": {\n    \"enabled\": {\n      \"default\": true\n    },\n    \"tracking\": {\n      \"default\": true\n    },\n    \"delay\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 1000,\n      \"unit\": \"ms\"\n    },\n    \"range\": {\n      \"default\": \"nearest\"\n    }\n  },\n  \"AgChartPaddingOptions\": {\n    \"top\": {\n      \"default\": 20,\n      \"min\": 0,\n      \"max\": 40\n    },\n    \"right\": {\n      \"default\": 20,\n      \"min\": 0,\n      \"max\": 40\n    },\n    \"bottom\": {\n      \"default\": 20,\n      \"min\": 0,\n      \"max\": 40\n    },\n    \"left\": {\n      \"default\": 20,\n      \"min\": 0,\n      \"max\": 40\n    }\n  },\n  \"AgSeriesAreaPaddingOptions\": {\n    \"top\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 40\n    },\n    \"right\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 40\n    },\n    \"bottom\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 40\n    },\n    \"left\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 40\n    }\n  },\n  \"AgChartOverlayOptions\": {\n    \"text\": {\n      \"default\": \"No data to display\"\n    }\n  },\n  \"AgChartBackground\": {\n    \"fill\": {\n      \"default\": \"#FFFFFF\"\n    },\n    \"visible\": {\n      \"default\": true\n    }\n  },\n  \"AgChartCaptionOptions\": {\n    \"enabled\": {\n      \"default\": false\n    },\n    \"text\": {\n      \"default\": \"Title\"\n    },\n    \"color\": {\n      \"default\": \"#000000\"\n    },\n    \"fontStyle\": {\n      \"default\": \"normal\",\n      \"options\": [\"normal\", \"italic\", \"oblique\"]\n    },\n    \"fontWeight\": {\n      \"default\": \"bold\",\n      \"options\": [\n        \"normal\",\n        \"bold\",\n        \"bolder\",\n        \"lighter\",\n        \"100\",\n        \"200\",\n        \"300\",\n        \"400\",\n        \"500\",\n        \"600\",\n        \"700\",\n        \"800\",\n        \"900\"\n      ],\n      \"breakIndex\": 4\n    },\n    \"fontSize\": {\n      \"default\": 18,\n      \"min\": 1,\n      \"max\": 30,\n      \"unit\": \"px\"\n    },\n    \"fontFamily\": {\n      \"default\": \"Verdana, sans-serif\",\n      \"suggestions\": [\n        \"Verdana, sans-serif\",\n        \"Arial, sans-serif\",\n        \"Times New Roman, serif\"\n      ]\n    }\n  },\n  \"AgChartSubtitleOptions\": {\n    \"enabled\": {\n      \"default\": false\n    },\n    \"text\": {\n      \"default\": \"Subtitle\"\n    },\n    \"color\": {\n      \"default\": \"#000000\"\n    },\n    \"fontStyle\": {\n      \"default\": \"normal\",\n      \"options\": [\"normal\", \"italic\", \"oblique\"]\n    },\n    \"fontWeight\": {\n      \"default\": \"bold\",\n      \"options\": [\n        \"normal\",\n        \"bold\",\n        \"bolder\",\n        \"lighter\",\n        \"100\",\n        \"200\",\n        \"300\",\n        \"400\",\n        \"500\",\n        \"600\",\n        \"700\",\n        \"800\",\n        \"900\"\n      ],\n      \"breakIndex\": 4\n    },\n    \"fontSize\": {\n      \"default\": 18,\n      \"min\": 1,\n      \"max\": 30,\n      \"unit\": \"px\"\n    },\n    \"fontFamily\": {\n      \"default\": \"Verdana, sans-serif\",\n      \"suggestions\": [\n        \"Verdana, sans-serif\",\n        \"Arial, sans-serif\",\n        \"Times New Roman, serif\"\n      ]\n    }\n  },\n  \"AgChartFooterOptions\": {\n    \"enabled\": {\n      \"default\": false\n    },\n    \"text\": {\n      \"default\": \"Footer\"\n    },\n    \"color\": {\n      \"default\": \"#000000\"\n    },\n    \"fontStyle\": {\n      \"default\": \"normal\",\n      \"options\": [\"normal\", \"italic\", \"oblique\"]\n    },\n    \"fontWeight\": {\n      \"default\": \"bold\",\n      \"options\": [\n        \"normal\",\n        \"bold\",\n        \"bolder\",\n        \"lighter\",\n        \"100\",\n        \"200\",\n        \"300\",\n        \"400\",\n        \"500\",\n        \"600\",\n        \"700\",\n        \"800\",\n        \"900\"\n      ],\n      \"breakIndex\": 4\n    },\n    \"fontSize\": {\n      \"default\": 18,\n      \"min\": 1,\n      \"max\": 30,\n      \"unit\": \"px\"\n    },\n    \"fontFamily\": {\n      \"default\": \"Verdana, sans-serif\",\n      \"suggestions\": [\n        \"Verdana, sans-serif\",\n        \"Arial, sans-serif\",\n        \"Times New Roman, serif\"\n      ]\n    }\n  },\n  \"AgChartLegendOptions\": {\n    \"enabled\": {\n      \"default\": true\n    },\n    \"position\": {\n      \"default\": \"right\",\n      \"options\": [\"top\", \"right\", \"bottom\", \"left\"]\n    },\n    \"spacing\": {\n      \"default\": 20,\n      \"min\": 0,\n      \"max\": 40,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgChartLegendItemOptions\": {\n    \"paddingX\": {\n      \"default\": 16,\n      \"description\": \"The horizontal spacing in pixels to use between legend items.\",\n      \"min\": 0,\n      \"max\": 40,\n      \"unit\": \"px\"\n    },\n    \"paddingY\": {\n      \"default\": 8,\n      \"description\": \"The vertical spacing in pixels to use between legend items.\",\n      \"min\": 0,\n      \"max\": 40,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgChartLegendMarkerOptions\": {\n    \"padding\": {\n      \"default\": 8,\n      \"min\": 0,\n      \"max\": 40,\n      \"unit\": \"px\"\n    },\n    \"shape\": {\n      \"default\": \"square\",\n      \"options\": [\"circle\", \"cross\", \"diamond\", \"plus\", \"square\", \"triangle\"]\n    },\n    \"size\": {\n      \"default\": 15,\n      \"min\": 0,\n      \"max\": 30,\n      \"unit\": \"px\"\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 10,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgChartLegendLabelOptions\": {\n    \"color\": {\n      \"default\": \"black\"\n    },\n    \"fontStyle\": {\n      \"default\": \"normal\",\n      \"options\": [\"normal\", \"italic\", \"oblique\"]\n    },\n    \"fontWeight\": {\n      \"default\": \"normal\",\n      \"options\": [\n        \"normal\",\n        \"bold\",\n        \"bolder\",\n        \"lighter\",\n        \"100\",\n        \"200\",\n        \"300\",\n        \"400\",\n        \"500\",\n        \"600\",\n        \"700\",\n        \"800\",\n        \"900\"\n      ],\n      \"breakIndex\": 4\n    },\n    \"fontSize\": {\n      \"default\": 12,\n      \"min\": 1,\n      \"max\": 30,\n      \"unit\": \"px\"\n    },\n    \"fontFamily\": {\n      \"default\": \"Verdana, sans-serif\",\n      \"suggestions\": [\n        \"Verdana, sans-serif\",\n        \"Arial, sans-serif\",\n        \"Times New Roman, serif\"\n      ]\n    }\n  },\n  \"AgNavigatorOptions\": {\n    \"enabled\": {\n      \"default\": false\n    },\n    \"height\": {\n      \"default\": 30,\n      \"min\": 10,\n      \"max\": 100,\n      \"unit\": \"px\"\n    },\n    \"margin\": {\n      \"default\": 10,\n      \"min\": 0,\n      \"max\": 100,\n      \"unit\": \"px\"\n    },\n    \"min\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.01\n    },\n    \"max\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.01\n    }\n  },\n  \"AgNavigatorMaskOptions\": {\n    \"fill\": {\n      \"default\": \"#999999\"\n    },\n    \"stroke\": {\n      \"default\": \"#999999\"\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 5,\n      \"unit\": \"px\"\n    },\n    \"fillOpacity\": {\n      \"default\": 0.2,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    }\n  },\n  \"AgNavigatorHandleOptions\": {\n    \"fill\": {\n      \"default\": \"#f2f2f2\"\n    },\n    \"stroke\": {\n      \"default\": \"#999999\"\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 5,\n      \"unit\": \"px\"\n    },\n    \"width\": {\n      \"default\": 8,\n      \"min\": 4,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"height\": {\n      \"default\": 16,\n      \"min\": 8,\n      \"max\": 26,\n      \"unit\": \"px\"\n    },\n    \"gripLineLength\": {\n      \"default\": 8,\n      \"min\": 4,\n      \"max\": 16,\n      \"unit\": \"px\"\n    },\n    \"gripLineGap\": {\n      \"default\": 2,\n      \"min\": 1,\n      \"max\": 8,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgCartesianChartOptions\": {\n    \"meta\": {\n      \"ordering\": {\n        \"type\": \"high\",\n        \"data\": \"high\",\n        \"container\": \"high\",\n        \"axes\": \"high\",\n        \"series\": \"high\",\n        \"navigator\": \"low\",\n        \"theme\": \"low\"\n      }\n    },\n    \"data\": {\n      \"isRequired\": true\n    },\n    \"autoSize\": {\n      \"default\": true\n    },\n    \"width\": {\n      \"min\": 1,\n      \"max\": 1024,\n      \"unit\": \"px\"\n    },\n    \"height\": {\n      \"min\": 1,\n      \"max\": 1024,\n      \"unit\": \"px\"\n    },\n    \"axes\": {\n      \"type\": \"AgCartesianAxisOptions[]\"\n    },\n    \"series\": {\n      \"type\": \"AgCartesianSeriesOptions[]\"\n    },\n    \"theme\": {\n      \"default\": \"ag-default\",\n      \"options\": [\n        \"ag-default\",\n        \"ag-material\",\n        \"ag-pastel\",\n        \"ag-solar\",\n        \"ag-vivid\",\n        \"ag-default-dark\",\n        \"ag-material-dark\",\n        \"ag-pastel-dark\",\n        \"ag-solar-dark\",\n        \"ag-vivid-dark\"\n      ],\n      \"breakIndex\": 5\n    }\n  },\n  \"AgPolarChartOptions\": {\n    \"meta\": {\n      \"ordering\": {\n        \"type\": \"high\",\n        \"data\": \"high\",\n        \"container\": \"high\",\n        \"axes\": \"high\",\n        \"series\": \"high\",\n        \"theme\": \"low\"\n      }\n    },\n    \"data\": {\n      \"isRequired\": true\n    },\n    \"autoSize\": {\n      \"default\": true\n    },\n    \"width\": {\n      \"min\": 1,\n      \"max\": 1024,\n      \"unit\": \"px\"\n    },\n    \"height\": {\n      \"min\": 1,\n      \"max\": 1024,\n      \"unit\": \"px\"\n    },\n    \"series\": {\n      \"type\": \"AgPolarSeriesOptions[]\"\n    },\n    \"theme\": {\n      \"default\": \"ag-default\",\n      \"options\": [\n        \"ag-default\",\n        \"ag-material\",\n        \"ag-pastel\",\n        \"ag-solar\",\n        \"ag-vivid\",\n        \"ag-default-dark\",\n        \"ag-material-dark\",\n        \"ag-pastel-dark\",\n        \"ag-solar-dark\",\n        \"ag-vivid-dark\"\n      ],\n      \"breakIndex\": 5\n    }\n  },\n  \"AgHierarchyChartOptions\": {\n    \"meta\": {\n      \"ordering\": {\n        \"type\": \"high\",\n        \"data\": \"high\",\n        \"container\": \"high\",\n        \"axes\": \"high\",\n        \"series\": \"high\",\n        \"theme\": \"low\"\n      }\n    },\n    \"data\": {\n      \"isRequired\": true\n    },\n    \"autoSize\": {\n      \"default\": true\n    },\n    \"width\": {\n      \"min\": 1,\n      \"max\": 1024,\n      \"unit\": \"px\"\n    },\n    \"height\": {\n      \"min\": 1,\n      \"max\": 1024,\n      \"unit\": \"px\"\n    },\n    \"series\": {\n      \"type\": \"AgHierarchySeriesOptions[]\"\n    },\n    \"theme\": {\n      \"default\": \"ag-default\",\n      \"options\": [\n        \"ag-default\",\n        \"ag-material\",\n        \"ag-pastel\",\n        \"ag-solar\",\n        \"ag-vivid\",\n        \"ag-default-dark\",\n        \"ag-material-dark\",\n        \"ag-pastel-dark\",\n        \"ag-solar-dark\",\n        \"ag-vivid-dark\"\n      ],\n      \"breakIndex\": 5\n    }\n  },\n  \"AgNumberAxisOptions\": {\n    \"nice\": {\n      \"default\": true\n    }\n  },\n  \"AgLogAxisOptions\": {\n    \"nice\": {\n      \"default\": true\n    },\n    \"base\": {\n      \"default\": 10\n    }\n  },\n  \"AgCategoryAxisOptions\": {},\n  \"AgGroupedCategoryAxisOptions\": {},\n  \"AgTimeAxisOptions\": {\n    \"nice\": {\n      \"default\": true\n    }\n  },\n  \"AgBaseCartesianAxisOptions\": {},\n  \"AgAxisLineOptions\": {\n    \"width\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 10,\n      \"unit\": \"px\"\n    },\n    \"color\": {\n      \"default\": \"rgba(195, 195, 195, 1)\"\n    }\n  },\n  \"AgAxisNumberTickOptions\": {\n    \"width\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 10,\n      \"unit\": \"px\"\n    },\n    \"size\": {\n      \"default\": 6,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"color\": {\n      \"default\": \"rgba(195, 195, 195, 1)\"\n    },\n    \"count\": {\n      \"min\": 0,\n      \"max\": 20\n    }\n  },\n  \"AgAxisTimeTickOptions\": {\n    \"width\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 10,\n      \"unit\": \"px\"\n    },\n    \"size\": {\n      \"default\": 6,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"color\": {\n      \"default\": \"rgba(195, 195, 195, 1)\"\n    }\n  },\n  \"AgAxisLabelOptions\": {\n    \"fontStyle\": {\n      \"default\": \"normal\"\n    },\n    \"fontWeight\": {\n      \"default\": \"normal\"\n    },\n    \"fontSize\": {\n      \"default\": 12\n    },\n    \"fontFamily\": {\n      \"default\": \"Verdana, sans-serif\"\n    },\n    \"color\": {\n      \"default\": \"#000000\"\n    },\n    \"padding\": {\n      \"default\": 5,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"rotation\": {\n      \"default\": 0,\n      \"min\": -359,\n      \"max\": 359,\n      \"unit\": \"&deg;\"\n    },\n    \"autoRotate\": {\n      \"default\": false\n    },\n    \"autoRotateAngle\": {\n      \"default\": 335,\n      \"min\": -359,\n      \"max\": 359,\n      \"unit\": \"&deg;\"\n    },\n    \"format\": {\n      \"type\": \"string\",\n      \"more\": {\n        \"name\": \"Axis Label Formatting\",\n        \"url\": \"/axes/#number-label-format-string\"\n      }\n    }\n  },\n  \"AgAxisGridStyle\": {\n    \"meta\": {\n      \"requiresWholeObject\": true\n    },\n    \"stroke\": {\n      \"default\": \"rgba(195, 195, 195, 1)\"\n    },\n    \"lineDash\": {\n      \"default\": [4, 2]\n    }\n  },\n  \"AgBaseSeriesOptions\": {\n    \"visible\": {\n      \"default\": true\n    },\n    \"cursor\": {\n      \"default\": \"default\"\n    },\n    \"showInLegend\": {\n      \"default\": true\n    },\n    \"nodeClickRange\": {\n      \"default\": \"exact\"\n    }\n  },\n  \"AgAreaSeriesOptions\": {\n    \"xKey\": {\n      \"isRequired\": true\n    },\n    \"yKey\": {\n      \"isRequired\": true\n    },\n    \"normalizedTo\": {\n      \"min\": 1,\n      \"max\": 100\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"nodeClickRange\": {\n      \"default\": \"nearest\"\n    },\n    \"marker\": {\n      \"enabled\": {\n        \"default\": false\n      },\n      \"shape\": {\n        \"default\": \"circle\",\n        \"options\": [\"circle\", \"cross\", \"diamond\", \"plus\", \"square\", \"triangle\"]\n      },\n      \"size\": {\n        \"default\": 8,\n        \"min\": 1,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"maxSize\": {\n        \"default\": 30,\n        \"min\": 1,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"strokeWidth\": {\n        \"min\": 0,\n        \"max\": 10,\n        \"unit\": \"px\"\n      }\n    },\n    \"label\": {\n      \"enabled\": {\n        \"default\": true\n      },\n      \"color\": {\n        \"default\": \"rgba(70, 70, 70, 1)\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\"\n      },\n      \"fontSize\": {\n        \"default\": 12\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\"\n      }\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgBarSeriesOptions\": {\n    \"xKey\": {\n      \"isRequired\": true\n    },\n    \"yKey\": {\n      \"isRequired\": true\n    },\n    \"grouped\": {\n      \"default\": false\n    },\n    \"normalizedTo\": {\n      \"min\": 1,\n      \"max\": 100\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"shadow\": {\n      \"enabled\": {\n        \"default\": true\n      },\n      \"color\": {\n        \"default\": \"rgba(0, 0, 0, 0.5)\"\n      },\n      \"xOffset\": {\n        \"default\": 0,\n        \"min\": -20,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"yOffset\": {\n        \"default\": 0,\n        \"min\": -20,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"blur\": {\n        \"default\": 5,\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      }\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    },\n    \"label\": {\n      \"enabled\": {\n        \"default\": true\n      },\n      \"placement\": {\n        \"default\": \"inside\",\n        \"options\": [\"inside\", \"outside\"]\n      },\n      \"color\": {\n        \"default\": \"rgba(70, 70, 70, 1)\"\n      },\n      \"fontStyle\": {\n        \"default\": \"normal\"\n      },\n      \"fontWeight\": {\n        \"default\": \"normal\"\n      },\n      \"fontSize\": {\n        \"default\": 12\n      },\n      \"fontFamily\": {\n        \"default\": \"Verdana, sans-serif\"\n      }\n    }\n  },\n  \"AgHistogramSeriesOptions\": {\n    \"xKey\": {\n      \"isRequired\": true\n    },\n    \"binCount\": {\n      \"default\": 10,\n      \"min\": 1,\n      \"max\": 30\n    },\n    \"aggregation\": {\n      \"default\": \"sum\",\n      \"options\": [\"count\", \"sum\", \"mean\"]\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    },\n    \"fill\": {\n      \"default\": \"#f3622d\"\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"stroke\": {\n      \"default\": \"#aa4520\"\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgLineSeriesOptions\": {\n    \"xKey\": {\n      \"isRequired\": true\n    },\n    \"yKey\": {\n      \"isRequired\": true\n    },\n    \"stroke\": {\n      \"default\": \"#aa4520\"\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgCartesianSeriesMarker\": {\n    \"enabled\": {\n      \"default\": true\n    },\n    \"shape\": {\n      \"type\": \"string | Marker\",\n      \"default\": \"circle\",\n      \"options\": [\"circle\", \"cross\", \"diamond\", \"plus\", \"square\", \"triangle\"]\n    },\n    \"size\": {\n      \"default\": 8,\n      \"min\": 1,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"maxSize\": {\n      \"default\": 30,\n      \"min\": 1,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"fill\": {\n      \"type\": \"string\"\n    },\n    \"stroke\": {\n      \"type\": \"string\"\n    },\n    \"strokeWidth\": {\n      \"type\": \"number\",\n      \"min\": 0,\n      \"max\": 10,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgAreaSeriesMarker\": {\n    \"enabled\": {\n      \"default\": false\n    }\n  },\n  \"AgPieSeriesOptions\": {\n    \"angleKey\": {\n      \"isRequired\": true\n    },\n    \"labelKey\": {\n      \"isRequired\": true\n    },\n    \"lineDashOffset\": {\n      \"default\": 0,\n      \"min\": 0,\n      \"max\": 200,\n      \"unit\": \"px\"\n    },\n    \"rotation\": {\n      \"default\": 0,\n      \"min\": -359,\n      \"max\": 359,\n      \"unit\": \"&deg\"\n    },\n    \"innerRadiusOffset\": {\n      \"default\": 0,\n      \"min\": -50,\n      \"max\": 50,\n      \"unit\": \"px\"\n    },\n    \"outerRadiusOffset\": {\n      \"default\": 0,\n      \"min\": -50,\n      \"max\": 50,\n      \"unit\": \"px\"\n    },\n    \"fills\": {\n      \"default\": [\n        \"#f3622d\",\n        \"#fba71b\",\n        \"#57b757\",\n        \"#41a9c9\",\n        \"#4258c9\",\n        \"#9a42c8\",\n        \"#c84164\",\n        \"#888888\"\n      ]\n    },\n    \"fillOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokes\": {\n      \"default\": [\n        \"#aa4520\",\n        \"#b07513\",\n        \"#3d803d\",\n        \"#2d768d\",\n        \"#2e3e8d\",\n        \"#6c2e8c\",\n        \"#8c2d46\",\n        \"#5f5f5f\"\n      ]\n    },\n    \"strokeOpacity\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 1,\n      \"step\": 0.05\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    },\n    \"label\": {\n      \"offset\": {\n        \"default\": 3,\n        \"min\": 0,\n        \"max\": 20,\n        \"unit\": \"px\"\n      },\n      \"minAngle\": {\n        \"default\": 20,\n        \"min\": 0,\n        \"max\": 360,\n        \"unit\": \"&deg;\"\n      },\n      \"formatter\": {\n        \"type\": {\n          \"parameters\": {\n            \"value\": \"string\"\n          },\n          \"returnType\": \"string\"\n        },\n        \"description\": \"Function used to turn 'labelKey' values into text to be displayed next to each pie sector. Be default the values are simply stringified.\"\n      }\n    }\n  },\n  \"AgPieSeriesSectorLabelOptions\": {\n    \"positionOffset\": {\n      \"default\": 0\n    },\n    \"positionRatio\": {\n      \"default\": 0.5,\n      \"min\": 0,\n      \"max\": 1\n    }\n  },\n  \"AgPieSeriesCalloutOptions\": {\n    \"colors\": {\n      \"default\": [\n        \"#aa4520\",\n        \"#b07513\",\n        \"#3d803d\",\n        \"#2d768d\",\n        \"#2e3e8d\",\n        \"#6c2e8c\",\n        \"#8c2d46\",\n        \"#5f5f5f\"\n      ]\n    },\n    \"strokeWidth\": {\n      \"default\": 1,\n      \"min\": 1,\n      \"max\": 10,\n      \"unit\": \"px\"\n    },\n    \"length\": {\n      \"default\": 10,\n      \"min\": 0,\n      \"max\": 20,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgScatterSeriesOptions\": {\n    \"xKey\": {\n      \"isRequired\": true\n    },\n    \"yKey\": {\n      \"isRequired\": true\n    }\n  },\n  \"AgTreemapSeriesLabelOptions\": {\n    \"padding\": {\n      \"default\": 15,\n      \"min\": 4,\n      \"max\": 20,\n      \"unit\": \"px\"\n    }\n  },\n  \"AgTreemapSeriesTooltip\": {\n    \"meta\": {\n      \"description\": \"Series-specific tooltip configuration.\"\n    },\n    \"enabled\": {\n      \"default\": true,\n      \"description\": \"Whether or not to show tooltips when the series are hovered over.\"\n    },\n    \"renderer\": {\n      \"type\": {\n        \"parameters\": {\n          \"datum\": \"any\",\n          \"labelKey\": \"string\",\n          \"sizeKey?\": \"string\",\n          \"colorKey?\": \"string\"\n        },\n        \"returnType\": \"string\"\n      },\n      \"description\": \"Function used to create the content for tooltips.\"\n    }\n  },\n  \"AgTreemapSeriesOptions\": {\n    \"labelKey\": {\n      \"default\": \"label\"\n    },\n    \"sizeKey\": {\n      \"default\": \"size\"\n    },\n    \"colorKey\": {\n      \"default\": \"color\"\n    },\n    \"colorDomain\": {\n      \"default\": [-5, 5]\n    },\n    \"colorRange\": {\n      \"default\": [\"#cb4b3f\", \"#6acb64\"]\n    },\n    \"groupFill\": {\n      \"default\": \"#272931\"\n    },\n    \"gradient\": {\n      \"default\": true\n    }\n  },\n  \"AgChartTheme\": {\n    \"baseTheme\": {\n      \"default\": \"ag-default\"\n    }\n  },\n  \"AgCartesianAxesTheme\": {\n    \"number\": {\n      \"more\": {\n        \"name\": \"Common Axis Config\",\n        \"url\": \"/charts-api-themes/#reference-axis\"\n      }\n    },\n    \"log\": {\n      \"more\": {\n        \"name\": \"Common Axis Config\",\n        \"url\": \"/charts-api-themes/#reference-axis\"\n      }\n    },\n    \"category\": {\n      \"more\": {\n        \"name\": \"Common Axis Config\",\n        \"url\": \"/charts-api-themes/#reference-axis\"\n      }\n    },\n    \"groupedCategory\": {\n      \"more\": {\n        \"name\": \"Common Axis Config\",\n        \"url\": \"/charts-api-themes/#reference-axis\"\n      }\n    },\n    \"time\": {\n      \"more\": {\n        \"name\": \"Common Axis Config\",\n        \"url\": \"/charts-api-themes/#reference-axis\"\n      }\n    }\n  }\n}\n"}},{"relativePath":"charts-api/doc-interfaces.HTML.json","internal":{"content":"{\n    \"comment\": \"This file can be used to provide custom HTML to expandable interface components. It will get appended to the current content.\",\n    \"usefulTool\": \"https://tableconvert.com/html-to-html\"\n}"}},{"relativePath":"charts-overview/gallery.json","internal":{"content":"\n{\n    \"Bar / Column\": {\n        \"Simple Bar\": {\n            \"description\": \"Bar charts represent data using horizontal bars, with the length of each bar proportional to the value being plotted. They are useful for categorical data, and are simple to interpret. They work best where the number of data points is limited.\",\n            \"example\": \"simple-bar\"\n        },\n        \"Grouped Bar\": {\n            \"description\": \"Grouped bar charts (also known as clustered bar charts) show multiple series with the <a href='../simple-bar/'>bars</a> grouped by category, to allow for easier comparisons across different series.\",\n            \"example\": \"grouped-bar\"\n        },\n        \"Stacked Bar\": {\n            \"description\": \"Stacked bar charts allow part-to-whole comparisons, with series stacked from left to right in the horizontal <a href='../simple-bar/'>bars</a>. They make it easy to compare combined bar lengths.\",\n            \"example\": \"stacked-bar\"\n        },\n        \"100% Stacked Bar\": {\n            \"description\": \"100% stacked bar charts show the relative percentage of multiple series in <a href='../stacked-bar/'>stacked bars</a>, where each stacked bar always totals to 100%.\",\n            \"example\": \"100--stacked-bar\"\n        },\n        \"Bar With Labels\": {\n            \"description\": \"Using labels in a <a href='../simple-bar/'>bar chart</a> can be useful to highlight the values of each bar.\",\n            \"example\": \"bar-with-labels\"\n        },\n        \"Simple Column\": {\n            \"description\": \"Column charts (also known as vertical <a href='../simple-bar/'>bar charts</a>) represent data using vertical columns, with the height of each column proportional to the value being plotted. They can be used to plot both nominal and ordinal data, and are simple to interpret. They work best where the number of data points is limited.\",\n            \"example\": \"simple-column\"\n        },\n        \"Grouped Column\": {\n            \"description\": \"Grouped column charts (also known as clustered column charts) present multiple series with the <a href='../simple-column/'>columns</a> grouped by category, to allow for easier comparisons across different series.\",\n            \"example\": \"grouped-column\"\n        },\n        \"Stacked Column\": {\n            \"description\": \"Stacked column charts allow part-to-whole comparisons, with series stacked on top of each other in the vertical <a href='../simple-column/'>columns</a>.\",\n            \"example\": \"stacked-column\"\n        },\n        \"100% Stacked Column\": {\n            \"description\": \"100% stacked column charts show the relative percentage of multiple series in <a href='../stacked-column/'>stacked columns</a>, where each stacked column always totals to 100%.\",\n            \"example\": \"100--stacked-column\"\n        },\n        \"Column With Negative Values\": {\n            \"description\": \"Column and bar charts can also be used to represent negative values alongside positive ones.\",\n            \"example\": \"column-with-negative-values\"\n        }\n    },\n    \"Pie / Doughnut\": {\n        \"Simple Pie\": {\n            \"description\": \"Pie charts are used to express a part-to-whole relationship, where all the slices combine to represent 100%. They work best for a small number of categories.\",\n            \"example\": \"simple-pie\"\n        },\n        \"Simple Doughnut\": {\n            \"description\": \"Doughnut charts are similar to <a href='../simple-pie/'>pie charts</a>, being used to express a part-to-whole relationship, but allow for multiple series to be shown on the same chart for comparison.\",\n            \"example\": \"simple-doughnut\"\n        },\n        \"Pie In A Doughnut\": {\n            \"description\": \"There can be multiple levels of Pie/Doughnut charts. It can be used when comparing shares for different periods.\",\n            \"example\": \"pie-in-a-doughnut\"\n        },\n        \"Pie With Variable Radius\": {\n            \"description\": \"Pie sectors radius can be encoded by an additional numeric scale.\",\n            \"example\": \"pie-with-variable-radius\"\n        }\n    },\n    \"Line\": {\n        \"Simple Line\": {\n            \"description\": \"Line charts represent each series as a separate line. They are useful to show change or trends over time, and are able to better present more data points than <a href='../simple-bar/'>bar</a> or <a href='../simple-column/'>column</a> charts.\",\n            \"example\": \"simple-line\"\n        },\n        \"Line With Gaps\": {\n            \"description\": \"When data is missing in some line series compared to others, these gaps in the data are reflected in the lines.\",\n            \"example\": \"line-with-gaps\"\n        }\n    },\n    \"Scatter / Bubble\": {\n        \"Simple Scatter\": {\n            \"description\": \"Scatter charts (also known as scatter plots or XY charts) show the relationship between two variables, placing one variable on each axis, and can be useful for demonstrating any correlation between the variables.\",\n            \"example\": \"simple-scatter\"\n        },\n        \"Simple Bubble\": {\n            \"description\": \"Bubble charts are a specialised type of <a href='../simple-scatter/'>scatter charts</a> that can represent a third variable through the size of each marker (or bubble).\",\n            \"example\": \"simple-bubble\"\n        },\n        \"Bubble With Negative Values\": {\n            \"description\": \"The axes of scatter and bubble charts can be extended to plot positive and negative values.\",\n            \"example\": \"bubble-with-negative-values\"\n        },\n        \"Bubble With Categories\": {\n            \"description\": \"The axes of scatter and bubble charts can show categories in addition to values.\",\n            \"example\": \"bubble-with-categories\"\n        }\n    },\n    \"Area\": {\n        \"Simple Area\": {\n            \"description\": \"Area charts plot series using a line with the area below the line filled. They are useful to show changes over time, and are easy to interpret.\",\n            \"example\": \"simple-area\"\n        },\n        \"Stacked Area\": {\n            \"description\": \"Stacked area charts plot multiple <a href='../simple-area/'>area</a> series stacked on top of each other, showing how part-to-whole relationships change over time.\",\n            \"example\": \"stacked-area\"\n        },\n        \"100% Stacked Area\": {\n            \"description\": \"100% stacked area charts show the relative percentage of multiple series in <a href='../stacked-area/'>stacked areas</a>, where the cumulative area always totals to 100%.\",\n            \"example\": \"100--stacked-area\"\n        },\n        \"Area With Negative Values\": {\n            \"description\": \"<a href='../simple-area/'>Area charts</a> can also be used with negative values, with the area between the line and the axis being filled.\",\n            \"example\": \"area-with-negative-values\"\n        }\n    },\n    \"Histogram\": {\n        \"Simple Histogram\": {\n            \"description\": \"Histograms show your data grouped into bins, revealing underlying trends. A standard histogram plots the population size of each bin against the y-axis. Here we show the distribution of car engine sizes, using the <code>engine-size</code> field from the available data.\",\n            \"example\": \"simple-histogram\"\n        },\n        \"Histogram With Specified Bins\": {\n            \"description\": \"Rather than using the automatically generated fixed-width bins, it is possible to explicitly specify bins. In this case the bins can be different widths. In the example below the data is split into light, medium, and heavy vehicles, and we also demonstrate custom tooltips to give names to these categories.\",\n            \"example\": \"histogram-with-specified-bins\"\n        },\n        \"XY Histogram With Mean Aggregation\": {\n            \"description\": \"Here we bin the data by car engine size, but plot the average highway MPG in the y-axis, revealing the relationship between these two fields. We also plot the same data as a scatter series to illustrate the aggregation.\",\n            \"example\": \"xy-histogram-with-mean-aggregation\"\n        }\n    },\n    \"Treemap\": {\n        \"Market Index Treemap\": {\n            \"description\": \"A treemap of a snapshot of the S&P 500 stock market index.\",\n            \"example\": \"market-index-treemap\"\n        }\n    },\n    \"Feature Highlights\": {\n        \"Cross Lines\": {\n            \"description\": \"Cross lines or shaded regions will emphasise trends and draw attention to important information such as a threshold.\",\n            \"example\": \"cross-lines\"\n        },\n        \"Time Axis With Irregular Intervals\": {\n            \"description\": \"A time axis represents a continuous length of time, and so can be easily used to visualise data with irregular time intervals.\",\n            \"example\": \"time-axis-with-irregular-intervals\"\n        },\n        \"Log Axis\": {\n            \"description\": \"Log axis charts are great at showing the rate of change over time. If the line is straight, the rate of change is constant.\",\n            \"example\": \"log-axis\"\n        },\n        \"Real-Time Data Updates\": {\n            \"description\": \"Charts will re-render immediately when new data is provided. This example demonstrates the performance of a chart with new data introduced every 50 milliseconds.\",\n            \"example\": \"real-time-data-updates\"\n        },\n        \"Combination of Different Series Types\": {\n            \"description\": \"Different types of data series can be combined together in the same chart. This example shows how a <a href='../simple-line/'>line series</a> might be combined with a <a href='../grouped-column/'>grouped column series</a>.\",\n            \"example\": \"combination-of-different-series-types\"\n        },\n        \"_Large Datasets\": {\n            \"description\": \"Scatter, line, area and bar series have been optimised for large datasets. This example shows a configuration that is optimised for fast rendering of these series types.\",\n            \"example\": \"\"\n        },\n        \"Chart Customisation\": {\n            \"description\": \"As well as the series themselves, many other aspects of the charts can be customised and formatted to your liking, including the background, padding, titles, axes, and legend.\",\n            \"example\": \"chart-customisation\"\n        },\n        \"Custom Marker Shapes\": {\n            \"description\": \"The library provides a variety of different marker shapes that can be used. In addition, you can provide your own shapes by extending the <code>Marker</code> class, as shown with the heart-shaped marker below.\",\n            \"example\": \"custom-marker-shapes\"\n        },\n        \"Custom Tooltips\": {\n            \"description\": \"The tooltips used in the charts can be fully customised, using your own HTML and CSS to achieve the look you want.\",\n            \"example\": \"custom-tooltips\"\n        },\n        \"Per-Marker Customisation\": {\n            \"description\": \"As well as customising all markers for a particular series, you can also customise each marker in the series individually, based on the datum that the marker represents. For example, the colour of the markers below is set based on the magnitude.\",\n            \"example\": \"per-marker-customisation\"\n        }\n    }\n}\n"}},{"relativePath":"column-api/column-api.AUTO.json","internal":{"content":"{\n  \"sizeColumnsToFit\": {\n    \"description\": \"/** Gets the grid to size the columns to the specified width in pixels, e.g. `sizeColumnsToFit(900)`. To have the grid fit the columns to the grid's width, use the Grid API `gridApi.sizeColumnsToFit()` instead. */\",\n    \"type\": { \"arguments\": { \"gridWidth\": \"number\" }, \"returnType\": \"void\" }\n  },\n  \"setColumnGroupOpened\": {\n    \"description\": \"/** Call this if you want to open or close a column group. */\",\n    \"type\": {\n      \"arguments\": {\n        \"group\": \"ProvidedColumnGroup | string\",\n        \"newValue\": \"boolean\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getColumnGroup\": {\n    \"description\": \"/** Returns the column group with the given name. */\",\n    \"type\": {\n      \"arguments\": { \"name\": \"string\", \"instanceId?\": \"number\" },\n      \"returnType\": \"ColumnGroup | null\"\n    }\n  },\n  \"getProvidedColumnGroup\": {\n    \"description\": \"/** Returns the provided column group with the given name. */\",\n    \"type\": {\n      \"arguments\": { \"name\": \"string\" },\n      \"returnType\": \"ProvidedColumnGroup | null\"\n    }\n  },\n  \"getDisplayNameForColumn\": {\n    \"description\": \"/** Returns the display name for a column. Useful if you are doing your own header rendering and want the grid to work out if `headerValueGetter` is used, or if you are doing your own column management GUI, to know what to show as the column name. */\",\n    \"type\": {\n      \"arguments\": { \"column\": \"Column\", \"location\": \"string | null\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"getDisplayNameForColumnGroup\": {\n    \"description\": \"/** Returns the display name for a column group (when grouping columns). */\",\n    \"type\": {\n      \"arguments\": {\n        \"columnGroup\": \"ColumnGroup\",\n        \"location\": \"string | null\"\n      },\n      \"returnType\": \"string\"\n    }\n  },\n  \"getColumn\": {\n    \"description\": \"/** Returns the column with the given `colKey`, which can either be the `colId` (a string) or the `colDef` (an object). */\",\n    \"type\": { \"arguments\": { \"key\": \"any\" }, \"returnType\": \"Column | null\" }\n  },\n  \"getColumns\": {\n    \"description\": \"/** Returns all the columns, regardless of visible or not. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[] | null\" }\n  },\n  \"applyColumnState\": {\n    \"description\": \"/** Applies the state of the columns from a previous state. Returns `false` if one or more columns could not be found. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ApplyColumnStateParams\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"getColumnState\": {\n    \"description\": \"/** Gets the state of the columns. Typically used when saving column state. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"ColumnState[]\" }\n  },\n  \"resetColumnState\": {\n    \"description\": \"/** Sets the state back to match the originally provided column definitions. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"getColumnGroupState\": {\n    \"description\": \"/** Gets the state of the column groups. Typically used when saving column group state. */\",\n    \"type\": {\n      \"arguments\": {},\n      \"returnType\": \"{ groupId: string, open: boolean }[]\"\n    }\n  },\n  \"setColumnGroupState\": {\n    \"description\": \"/** Sets the state of the column group state from a previous state. */\",\n    \"type\": {\n      \"arguments\": { \"stateItems\": \"({ groupId: string; open: boolean; })[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"resetColumnGroupState\": {\n    \"description\": \"/** Sets the state back to match the originally provided column definitions. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"isPinning\": {\n    \"description\": \"/** Returns `true` if pinning left or right, otherwise `false`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isPinningLeft\": {\n    \"description\": \"/** Returns `true` if pinning left, otherwise `false`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isPinningRight\": {\n    \"description\": \"/** Returns `true` if pinning right, otherwise `false`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"getDisplayedColAfter\": {\n    \"description\": \"/** Returns the column to the right of the provided column, taking into consideration open / closed column groups and visible columns. This is useful if you need to know what column is beside yours e.g. if implementing your own cell navigation. */\",\n    \"type\": { \"arguments\": { \"col\": \"Column\" }, \"returnType\": \"Column | null\" }\n  },\n  \"getDisplayedColBefore\": {\n    \"description\": \"/** Same as `getVisibleColAfter` except gives column to the left. */\",\n    \"type\": { \"arguments\": { \"col\": \"Column\" }, \"returnType\": \"Column | null\" }\n  },\n  \"setColumnVisible\": {\n    \"description\": \"/** Sets the visibility of a column. Key can be the column ID or `Column` object. */\",\n    \"type\": {\n      \"arguments\": { \"key\": \"string | Column\", \"visible\": \"boolean\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setColumnsVisible\": {\n    \"description\": \"/** Same as `setColumnVisible`, but provide a list of column keys. */\",\n    \"type\": {\n      \"arguments\": { \"keys\": \"(string | Column)[]\", \"visible\": \"boolean\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setColumnPinned\": {\n    \"description\": \"/** Sets the column pinned / unpinned. Key can be the column ID, field, `ColDef` object or `Column` object. */\",\n    \"type\": {\n      \"arguments\": { \"key\": \"string | Column\", \"pinned\": \"ColumnPinnedType\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setColumnsPinned\": {\n    \"description\": \"/** Same as `setColumnPinned`, but provide a list of column keys. */\",\n    \"type\": {\n      \"arguments\": {\n        \"keys\": \"(string | Column)[]\",\n        \"pinned\": \"ColumnPinnedType\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getAllGridColumns\": {\n    \"description\": \"/** Returns all the grid columns, same as `getColumns()`, except\\n     *\\n     *  a) it has the order of the columns that are presented in the grid\\n     *\\n     *  b) it's after the 'pivot' step, so if pivoting, has the value columns for the pivot.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"getDisplayedLeftColumns\": {\n    \"description\": \"/** Same as `getAllDisplayedColumns` but just for the pinned left portion of the grid. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"getDisplayedCenterColumns\": {\n    \"description\": \"/** Same as `getAllDisplayedColumns` but just for the center portion of the grid. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"getDisplayedRightColumns\": {\n    \"description\": \"/** Same as `getAllDisplayedColumns` but just for the pinned right portion of the grid. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"getAllDisplayedColumns\": {\n    \"description\": \"/** Returns all columns currently displayed (e.g. are visible and if in a group, the group is showing the columns) for the pinned left, centre and pinned right portions of the grid. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"getAllDisplayedVirtualColumns\": {\n    \"description\": \"/** Same as `getAllGridColumns()`, except only returns rendered columns, i.e. columns that are not within the viewport and therefore not rendered, due to column virtualisation, are not displayed. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"moveColumn\": {\n    \"description\": \"/** Moves a column to `toIndex`. The column is first removed, then added at the `toIndex` location, thus index locations will change to the right of the column after the removal. */\",\n    \"type\": {\n      \"arguments\": { \"key\": \"string | Column\", \"toIndex\": \"number\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"moveColumnByIndex\": {\n    \"description\": \"/** Same as `moveColumn` but works on index locations. */\",\n    \"type\": {\n      \"arguments\": { \"fromIndex\": \"number\", \"toIndex\": \"number\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"moveColumns\": {\n    \"description\": \"/** Same as `moveColumn` but works on list. */\",\n    \"type\": {\n      \"arguments\": {\n        \"columnsToMoveKeys\": \"(string | Column)[]\",\n        \"toIndex\": \"number\"\n      }\n    }\n  },\n  \"moveRowGroupColumn\": {\n    \"description\": \"/** Move the column to a new position in the row grouping order. */\",\n    \"type\": {\n      \"arguments\": { \"fromIndex\": \"number\", \"toIndex\": \"number\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setColumnAggFunc\": {\n    \"description\": \"/** Sets the agg function for a column. `aggFunc` can be one of the built-in aggregations or a custom aggregation by name or direct function. */\",\n    \"type\": {\n      \"arguments\": {\n        \"key\": \"string | Column\",\n        \"aggFunc\": \"string | IAggFunc | null | undefined\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setColumnWidth\": {\n    \"description\": \"/** Sets the column width on a single column. The finished flag gets included in the resulting event and not used internally by the grid. The finished flag is intended for dragging, where a dragging action will produce many `columnWidth` events, so the consumer of events knows when it receives the last event in a stream. The finished parameter is optional, and defaults to `true`. */\",\n    \"type\": {\n      \"arguments\": {\n        \"key\": \"string | Column\",\n        \"newWidth\": \"number\",\n        \"finished\": \"boolean = true\",\n        \"source?\": \"ColumnEventType\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setColumnWidths\": {\n    \"description\": \"/** Sets the column widths on multiple columns. This method offers better performance than calling `setColumnWidth` multiple times. The finished flag gets included in the resulting event and not used internally by the grid. The finished flag is intended for dragging, where a dragging action will produce many `columnWidth` events, so the consumer of events knows when it receives the last event in a stream. The finished parameter is optional, and defaults to `true`. */\",\n    \"type\": {\n      \"arguments\": {\n        \"columnWidths\": \"{ key: string | Column; newWidth: number; }[]\",\n        \"finished\": \"boolean = true\",\n        \"source?\": \"ColumnEventType\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setPivotMode\": {\n    \"description\": \"/** Set the pivot mode. */\",\n    \"type\": { \"arguments\": { \"pivotMode\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"isPivotMode\": {\n    \"description\": \"/** Get the pivot mode. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"getPivotResultColumn\": {\n    \"description\": \"/** Returns the pivot result column for the given `pivotKeys` and `valueColId`. Useful to then call operations on the pivot column. */\",\n    \"type\": {\n      \"arguments\": {\n        \"pivotKeys\": \"string[]\",\n        \"valueColKey\": \"string | Column\"\n      },\n      \"returnType\": \"Column | null\"\n    }\n  },\n  \"setValueColumns\": {\n    \"description\": \"/** Set the value columns to the provided list of columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getValueColumns\": {\n    \"description\": \"/** Get a list of the existing value columns. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"removeValueColumn\": {\n    \"description\": \"/** Remove the given column from the existing set of value columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKey\": \"(string | Column)\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removeValueColumns\": {\n    \"description\": \"/** Like `removeValueColumn` but remove the given list of columns from the existing set of value columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addValueColumn\": {\n    \"description\": \"/** Add the given column to the set of existing value columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKey\": \"(string | Column)\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addValueColumns\": {\n    \"description\": \"/** Like `addValueColumn` but add the given list of columns to the existing set of value columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setRowGroupColumns\": {\n    \"description\": \"/** Set the row group columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removeRowGroupColumn\": {\n    \"description\": \"/** Remove a column from the row groups. */\",\n    \"type\": {\n      \"arguments\": { \"colKey\": \"string | Column\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removeRowGroupColumns\": {\n    \"description\": \"/** Same as `removeRowGroupColumn` but provide a list of columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addRowGroupColumn\": {\n    \"description\": \"/** Add a column to the row groups. */\",\n    \"type\": {\n      \"arguments\": { \"colKey\": \"string | Column\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addRowGroupColumns\": {\n    \"description\": \"/** Same as `addRowGroupColumn` but provide a list of columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getRowGroupColumns\": {\n    \"description\": \"/** Get row group columns. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"setPivotColumns\": {\n    \"description\": \"/** Set the pivot columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removePivotColumn\": {\n    \"description\": \"/** Remove a pivot column. */\",\n    \"type\": {\n      \"arguments\": { \"colKey\": \"string | Column\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removePivotColumns\": {\n    \"description\": \"/** Same as `removePivotColumn` but provide a list of columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addPivotColumn\": {\n    \"description\": \"/** Add a pivot column. */\",\n    \"type\": {\n      \"arguments\": { \"colKey\": \"string | Column\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addPivotColumns\": {\n    \"description\": \"/** Same as `addPivotColumn` but provide a list of columns. */\",\n    \"type\": {\n      \"arguments\": { \"colKeys\": \"(string | Column)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getPivotColumns\": {\n    \"description\": \"/** Get the pivot columns. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[]\" }\n  },\n  \"getLeftDisplayedColumnGroups\": {\n    \"description\": \"/** Same as `getAllDisplayedColumnGroups` but just for the pinned left portion of the grid. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"IHeaderColumn[]\" }\n  },\n  \"getCenterDisplayedColumnGroups\": {\n    \"description\": \"/** Same as `getAllDisplayedColumnGroups` but just for the center portion of the grid. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"IHeaderColumn[]\" }\n  },\n  \"getRightDisplayedColumnGroups\": {\n    \"description\": \"/** Same as `getAllDisplayedColumnGroups` but just for the pinned right portion of the grid. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"IHeaderColumn[]\" }\n  },\n  \"getAllDisplayedColumnGroups\": {\n    \"description\": \"/** Returns all 'root' column headers. If you are not grouping columns, these return the columns. If you are grouping, these return the top level groups - you can navigate down through each one to get the other lower level headers and finally the columns at the bottom. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"IHeaderColumn[] | null\" }\n  },\n  \"autoSizeColumn\": {\n    \"description\": \"/** Auto-sizes a column based on its contents. */\",\n    \"type\": {\n      \"arguments\": { \"key\": \"string | Column\", \"skipHeader?\": \"boolean\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"autoSizeColumns\": {\n    \"description\": \"/** Same as `autoSizeColumn`, but provide a list of column keys. */\",\n    \"type\": {\n      \"arguments\": { \"keys\": \"(string | Column)[]\", \"skipHeader?\": \"boolean\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"autoSizeAllColumns\": {\n    \"description\": \"/** Calls `autoSizeColumns` on all displayed columns. */\",\n    \"type\": { \"arguments\": { \"skipHeader?\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"setPivotResultColumns\": {\n    \"description\": \"/** Set the pivot result columns. */\",\n    \"type\": {\n      \"arguments\": { \"colDefs\": \"(ColDef | ColGroupDef)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getPivotResultColumns\": {\n    \"description\": \"/** Returns the grid's pivot result columns. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[] | null\" }\n  },\n  \"getAllColumns\": {\n    \"description\": \"/** @deprecated v28 Use `getColumns` instead */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[] | null\" }\n  },\n  \"getOriginalColumnGroup\": {\n    \"description\": \"/** @deprecated v27 getOriginalColumnGroup is deprecated, use getProvidedColumnGroup. */\",\n    \"type\": {\n      \"arguments\": { \"name\": \"string\" },\n      \"returnType\": \"ProvidedColumnGroup | null\"\n    }\n  },\n  \"getPrimaryColumns\": {\n    \"description\": \"/** @deprecated v28 Use `getColumns` instead. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[] | null\" }\n  },\n  \"getSecondaryColumns\": {\n    \"description\": \"/** @deprecated v28 Use `getPivotResultColumns` instead. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Column[] | null\" }\n  },\n  \"setSecondaryColumns\": {\n    \"description\": \"/** @deprecated v28 Use `setPivotResultColumns` instead. */\",\n    \"type\": {\n      \"arguments\": { \"colDefs\": \"(ColDef | ColGroupDef)[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getSecondaryPivotColumn\": {\n    \"description\": \"/** @deprecated v28 Use `getPivotResultColumn` instead */\",\n    \"type\": {\n      \"arguments\": {\n        \"pivotKeys\": \"string[]\",\n        \"valueColKey\": \"string | Column\"\n      },\n      \"returnType\": \"Column | null\"\n    }\n  }\n}\n"}},{"relativePath":"column-object/column.AUTO.json","internal":{"content":"{\n  \"EVENT_MOVING_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_LEFT_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_WIDTH_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_LAST_LEFT_PINNED_CHANGED\": {\n    \"type\": { \"returnType\": \"ColumnEventName\" }\n  },\n  \"EVENT_FIRST_RIGHT_PINNED_CHANGED\": {\n    \"type\": { \"returnType\": \"ColumnEventName\" }\n  },\n  \"EVENT_VISIBLE_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_FILTER_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_FILTER_ACTIVE_CHANGED\": {\n    \"type\": { \"returnType\": \"ColumnEventName\" }\n  },\n  \"EVENT_SORT_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_COL_DEF_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_MENU_VISIBLE_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_ROW_GROUP_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_PIVOT_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"EVENT_VALUE_CHANGED\": { \"type\": { \"returnType\": \"ColumnEventName\" } },\n  \"getInstanceId\": { \"type\": { \"arguments\": {}, \"returnType\": \"number\" } },\n  \"setColDef\": {\n    \"type\": {\n      \"arguments\": {\n        \"colDef\": \"ColDef\",\n        \"userProvidedColDef\": \"ColDef | null\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getUserProvidedColDef\": {\n    \"description\": \"/** Returns the column definition provided by the application.\\n     * This may not be correct, as items can be superseded by default column options.\\n     * However it's useful for comparison, eg to know which application column definition matches that column.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"ColDef | null\" }\n  },\n  \"setParent\": {\n    \"type\": { \"arguments\": { \"parent\": \"ColumnGroup\" }, \"returnType\": \"void\" }\n  },\n  \"getParent\": {\n    \"description\": \"/** Returns the parent column group, if column grouping is active. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"ColumnGroup\" }\n  },\n  \"setOriginalParent\": {\n    \"type\": {\n      \"arguments\": { \"originalParent\": \"ProvidedColumnGroup | null\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getOriginalParent\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"ProvidedColumnGroup | null\" }\n  },\n  \"resetActualWidth\": {\n    \"type\": {\n      \"arguments\": { \"source\": \"ColumnEventType = 'api'\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isEmptyGroup\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isRowGroupDisplayed\": {\n    \"type\": { \"arguments\": { \"colId\": \"string\" }, \"returnType\": \"boolean\" }\n  },\n  \"isPrimary\": {\n    \"description\": \"/** Returns `true` if column is a primary column, `false` if secondary. Secondary columns are used for pivoting. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isFilterAllowed\": {\n    \"description\": \"/** Returns `true` if column filtering is allowed. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isFieldContainsDots\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isTooltipEnabled\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isTooltipFieldContainsDots\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"addEventListener\": {\n    \"description\": \"/** Add an event listener to the column. */\",\n    \"type\": {\n      \"arguments\": { \"eventType\": \"ColumnEventName\", \"listener\": \"Function\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removeEventListener\": {\n    \"description\": \"/** Remove event listener from the column. */\",\n    \"type\": {\n      \"arguments\": { \"eventType\": \"ColumnEventName\", \"listener\": \"Function\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"createColumnFunctionCallbackParams\": {\n    \"type\": {\n      \"arguments\": { \"rowNode\": \"IRowNode\" },\n      \"returnType\": \"ColumnFunctionCallbackParams\"\n    }\n  },\n  \"isSuppressNavigable\": {\n    \"type\": { \"arguments\": { \"rowNode\": \"IRowNode\" }, \"returnType\": \"boolean\" }\n  },\n  \"isCellEditable\": {\n    \"description\": \"/** Returns `true` if the cell for this column is editable for the given `rowNode`, otherwise `false`.\\n     */\",\n    \"type\": { \"arguments\": { \"rowNode\": \"IRowNode\" }, \"returnType\": \"boolean\" }\n  },\n  \"isSuppressFillHandle\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isAutoHeight\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isAutoHeaderHeight\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isRowDrag\": {\n    \"type\": { \"arguments\": { \"rowNode\": \"IRowNode\" }, \"returnType\": \"boolean\" }\n  },\n  \"isDndSource\": {\n    \"type\": { \"arguments\": { \"rowNode\": \"IRowNode\" }, \"returnType\": \"boolean\" }\n  },\n  \"isCellCheckboxSelection\": {\n    \"type\": { \"arguments\": { \"rowNode\": \"IRowNode\" }, \"returnType\": \"boolean\" }\n  },\n  \"isSuppressPaste\": {\n    \"type\": { \"arguments\": { \"rowNode\": \"IRowNode\" }, \"returnType\": \"boolean\" }\n  },\n  \"isResizable\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"setMoving\": {\n    \"type\": {\n      \"arguments\": {\n        \"moving\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isMoving\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"getSort\": {\n    \"description\": \"/** If sorting is active, returns the sort direction e.g. `'asc'` or `'desc'`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"SortDirection | undefined\" }\n  },\n  \"setSort\": {\n    \"type\": {\n      \"arguments\": {\n        \"sort\": \"SortDirection | undefined\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setMenuVisible\": {\n    \"type\": {\n      \"arguments\": {\n        \"visible\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isMenuVisible\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isSortAscending\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isSortDescending\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isSortNone\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isSorting\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"getSortIndex\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"number | null | undefined\" }\n  },\n  \"setSortIndex\": {\n    \"type\": {\n      \"arguments\": { \"sortOrder?\": \"number | null\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setAggFunc\": {\n    \"type\": {\n      \"arguments\": { \"aggFunc\": \"string | IAggFunc | null | undefined\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getAggFunc\": {\n    \"description\": \"/** If aggregation is set for the column, returns the aggregation function. */\",\n    \"type\": {\n      \"arguments\": {},\n      \"returnType\": \"string | IAggFunc | null | undefined\"\n    }\n  },\n  \"getLeft\": { \"type\": { \"arguments\": {}, \"returnType\": \"number | null\" } },\n  \"getOldLeft\": { \"type\": { \"arguments\": {}, \"returnType\": \"number | null\" } },\n  \"getRight\": { \"type\": { \"arguments\": {}, \"returnType\": \"number\" } },\n  \"setLeft\": {\n    \"type\": {\n      \"arguments\": {\n        \"left\": \"number | null\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      }\n    }\n  },\n  \"isFilterActive\": {\n    \"description\": \"/** Returns `true` if filter is active on the column. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"setFilterActive\": {\n    \"type\": {\n      \"arguments\": {\n        \"active\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\",\n        \"additionalEventAttributes?\": \"any\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isHovered\": {\n    \"description\": \"/** Returns `true` when this `Column` is hovered, otherwise `false` */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"setPinned\": {\n    \"type\": {\n      \"arguments\": { \"pinned\": \"ColumnPinnedType\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setFirstRightPinned\": {\n    \"type\": {\n      \"arguments\": {\n        \"firstRightPinned\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setLastLeftPinned\": {\n    \"type\": {\n      \"arguments\": {\n        \"lastLeftPinned\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isFirstRightPinned\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isLastLeftPinned\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isPinned\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isPinnedLeft\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isPinnedRight\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"getPinned\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"ColumnPinnedType\" }\n  },\n  \"setVisible\": {\n    \"type\": {\n      \"arguments\": {\n        \"visible\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isVisible\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isSpanHeaderHeight\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"getColDef\": {\n    \"description\": \"/** Returns the column definition for this column.\\n     * The column definition will be the result of merging the application provided column definition with any provided defaults\\n     * (e.g. `defaultColDef` grid option, or column types.\\n     *\\n     * Equivalent: `getDefinition` */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"ColDef\" }\n  },\n  \"getColumnGroupShow\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"ColumnGroupShowType | undefined\" }\n  },\n  \"getColId\": {\n    \"description\": \"/** Returns the unique ID for the column.\\n     *\\n     * Equivalent: `getId`, `getUniqueId` */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"string\" }\n  },\n  \"getId\": {\n    \"description\": \"/** Returns the unique ID for the column.\\n     *\\n     * Equivalent: `getColId`, `getUniqueId` */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"string\" }\n  },\n  \"getUniqueId\": {\n    \"description\": \"/** Returns the unique ID for the column.\\n     *\\n     * Equivalent: `getColId`, `getId` */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"string\" }\n  },\n  \"getDefinition\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"AbstractColDef\" }\n  },\n  \"getActualWidth\": {\n    \"description\": \"/** Returns the current width of the column. If the column is resized, the actual width is the new size. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"getAutoHeaderHeight\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"number | null\" }\n  },\n  \"setAutoHeaderHeight\": {\n    \"description\": \"/** Returns true if the header height has changed */\",\n    \"type\": { \"arguments\": { \"height\": \"number\" }, \"returnType\": \"boolean\" }\n  },\n  \"getColSpan\": {\n    \"type\": { \"arguments\": { \"rowNode\": \"IRowNode\" }, \"returnType\": \"number\" }\n  },\n  \"getRowSpan\": {\n    \"type\": { \"arguments\": { \"rowNode\": \"IRowNode\" }, \"returnType\": \"number\" }\n  },\n  \"setActualWidth\": {\n    \"type\": {\n      \"arguments\": {\n        \"actualWidth\": \"number\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\",\n        \"silent\": \"boolean = false\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"fireColumnWidthChangedEvent\": {\n    \"type\": {\n      \"arguments\": { \"source\": \"ColumnEventType\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isGreaterThanMax\": {\n    \"type\": { \"arguments\": { \"width\": \"number\" }, \"returnType\": \"boolean\" }\n  },\n  \"getMinWidth\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"number | null | undefined\" }\n  },\n  \"getMaxWidth\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"number | null | undefined\" }\n  },\n  \"getFlex\": { \"type\": { \"arguments\": {}, \"returnType\": \"number\" } },\n  \"setFlex\": { \"type\": { \"arguments\": { \"flex\": \"number | null\" } } },\n  \"setMinimum\": {\n    \"type\": {\n      \"arguments\": { \"source\": \"ColumnEventType = \\\"api\\\"\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setRowGroupActive\": {\n    \"type\": {\n      \"arguments\": {\n        \"rowGroup\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isRowGroupActive\": {\n    \"description\": \"/** Returns `true` if row group is currently active for this column. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"setPivotActive\": {\n    \"type\": {\n      \"arguments\": {\n        \"pivot\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isPivotActive\": {\n    \"description\": \"/** Returns `true` if pivot is currently active for this column. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isAnyFunctionActive\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isAnyFunctionAllowed\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"setValueActive\": {\n    \"type\": {\n      \"arguments\": {\n        \"value\": \"boolean\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isValueActive\": {\n    \"description\": \"/** Returns `true` if value (aggregation) is currently active for this column. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isAllowPivot\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isAllowValue\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"isAllowRowGroup\": { \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" } },\n  \"getMenuTabs\": {\n    \"type\": {\n      \"arguments\": { \"defaultValues\": \"ColumnMenuTab[]\" },\n      \"returnType\": \"ColumnMenuTab[]\"\n    }\n  }\n}\n"}},{"relativePath":"column-properties/column-options.AUTO.json","internal":{"content":"{\n  \"headerName\": {\n    \"description\": \"/** The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"headerValueGetter\": {\n    \"description\": \"/** Function or expression. Gets the value for display in the header. */\",\n    \"type\": { \"returnType\": \"string | HeaderValueGetterFunc<TData>\" }\n  },\n  \"headerTooltip\": {\n    \"description\": \"/** Tooltip for the column header */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"headerClass\": {\n    \"description\": \"/** CSS class to use for the header cell. Can be a string, array of strings, or function. */\",\n    \"type\": { \"returnType\": \"HeaderClass\" }\n  },\n  \"suppressHeaderKeyboardEvent\": {\n    \"description\": \"/** Suppress the grid taking action for the relevant keyboard event when a header is focused. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"SuppressHeaderKeyboardEventParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"columnGroupShow\": {\n    \"description\": \"/** Whether to only show the column when the group is open / closed. If not set the column is always displayed as part of the group. */\",\n    \"type\": { \"returnType\": \"ColumnGroupShowType\" }\n  },\n  \"toolPanelClass\": {\n    \"description\": \"/** CSS class to use for the tool panel cell. Can be a string, array of strings, or function. */\",\n    \"type\": { \"returnType\": \"ToolPanelClass<TData>\" }\n  },\n  \"suppressColumnsToolPanel\": {\n    \"description\": \"/** Set to `true` if you do not want this column or group to appear in the Columns Tool Panel. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressFiltersToolPanel\": {\n    \"description\": \"/** Set to `true` if you do not want this column (filter) or group (filter group) to appear in the Filters Tool Panel. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"tooltipComponent\": {\n    \"description\": \"/** Provide your own tooltip component for the column.\\n    * See [Tooltip Component](https://www.ag-grid.com/javascript-data-grid/component-tooltip/) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"tooltipComponentFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `tooltipComponent` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"tooltipComponentParams\": {\n    \"description\": \"/** The params used to configure `tooltipComponent`. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"pivotKeys\": {\n    \"description\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n    \"type\": { \"returnType\": \"string[]\" }\n  },\n  \"children\": {\n    \"description\": \"/** A list containing a mix of columns and column groups. */\",\n    \"type\": { \"returnType\": \"(ColDef<TData> | ColGroupDef<TData>)[]\" }\n  },\n  \"groupId\": {\n    \"description\": \"/** The unique ID to give the column. This is optional. If missing, a unique ID will be generated. This ID is used to identify the column group in the column API. */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"openByDefault\": {\n    \"description\": \"/** Set to `true` if this group should be opened by default. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"marryChildren\": {\n    \"description\": \"/** Set to `true` to keep columns in this group beside each other in the grid. Moving the columns outside of the group (and hence breaking the group) is not allowed. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"stickyLabel\": {\n    \"description\": \"/** If `true` the label of the Column Group will scroll alongside the grid to always remain visible. Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"headerGroupComponent\": {\n    \"description\": \"/** The custom header group component to be used for rendering the component header. If none specified the default AG Grid is used.\\n    * See [Header Group Component](https://www.ag-grid.com/javascript-data-grid/component-header/#header-group-components/) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"headerGroupComponentFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `headerGroupComponent` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"headerGroupComponentParams\": {\n    \"description\": \"/** The params used to configure the `headerGroupComponent`. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"colId\": {\n    \"description\": \"/** The unique ID to give the column. This is optional. If missing, the ID will default to the field.\\n     *  If both field and colId are missing, a unique ID will be generated.\\n     *  This ID is used to identify the column in the API for sorting, filtering etc. */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"field\": {\n    \"description\": \"/** The field of the row object to get the cell's data from.\\n     * Deep references into a row object is supported via dot notation, i.e `'address.firstLine'`.\\n     */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"type\": {\n    \"description\": \"/** A comma separated string or array of strings containing `ColumnType` keys which can be used as a template for a column.\\n     * This helps to reduce duplication of properties when you have a lot of common column properties.\\n     */\",\n    \"type\": { \"returnType\": \"string | string[]\" }\n  },\n  \"valueGetter\": {\n    \"description\": \"/** Function or expression. Gets the value from your data for display. */\",\n    \"type\": { \"returnType\": \"string | ValueGetterFunc<TData>\" }\n  },\n  \"valueFormatter\": {\n    \"description\": \"/** A function or expression to format a value, should return a string. Not used for CSV export or copy to clipboard, only for UI cell rendering. */\",\n    \"type\": { \"returnType\": \"string | ValueFormatterFunc<TData>\" }\n  },\n  \"refData\": {\n    \"description\": \"/** Provided a reference data map to be used to map column values to their respective value from the map. */\",\n    \"type\": { \"returnType\": \"{ [key: string]: string; }\" }\n  },\n  \"keyCreator\": {\n    \"description\": \"/** Function to return a string key for a value.\\n     * This string is used for grouping, Set filtering, and searching within cell editor dropdowns.\\n     * When filtering and searching the string is exposed to the user, so make sure to return a human-readable value. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"KeyCreatorParams<TData>\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"equals\": {\n    \"description\": \"/** Custom comparator for values, used by renderer to know if values have changed. Cells who's values have not changed don't get refreshed.\\n     * By default the grid uses `===` is used which should work for most use cases.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"valueA\": \"any\", \"valueB\": \"any\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"tooltipField\": {\n    \"description\": \"/** The field of the tooltip to apply to the cell. */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"tooltipValueGetter\": {\n    \"description\": \"/** Callback that should return the string to use for a tooltip, `tooltipField` takes precedence if set.\\n     * If using a custom `tooltipComponent` you may return any custom value to be passed to your tooltip component.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ITooltipParams<TData>\" },\n      \"returnType\": \"string | any\"\n    }\n  },\n  \"checkboxSelection\": {\n    \"description\": \"/** Set to `true` (or return `true` from function) to render a selection checkbox in the column. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean | CheckboxSelectionCallback<TData>\" }\n  },\n  \"showDisabledCheckboxes\": {\n    \"description\": \"/** Set to `true` to display a disabled checkbox when row is not selectable and checkboxes are enabled. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"icons\": {\n    \"description\": \"/** Icons to use inside the column instead of the grid's default icons. Leave undefined to use defaults. */\",\n    \"type\": { \"returnType\": \"{ [key: string]: Function | string; }\" }\n  },\n  \"suppressNavigable\": {\n    \"description\": \"/** Set to `true` if this column is not navigable (i.e. cannot be tabbed into), otherwise `false`.\\n     * Can also be a callback function to have different rows navigable.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean | SuppressNavigableCallback<TData>\" }\n  },\n  \"suppressKeyboardEvent\": {\n    \"description\": \"/** Allows the user to suppress certain keyboard events in the grid cell. Default: `false` */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"SuppressKeyboardEventParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"suppressPaste\": {\n    \"description\": \"/** Pasting is on by default as long as cells are editable (non-editable cells cannot be modified, even with a paste operation).\\n     * Set to `true` turn paste operations off.\\n     */\",\n    \"type\": { \"returnType\": \"boolean | SuppressPasteCallback<TData>\" }\n  },\n  \"suppressFillHandle\": {\n    \"description\": \"/** Set to true to prevent the fillHandle from being rendered in any cell that belongs to this column */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"hide\": {\n    \"description\": \"/** Set to `true` for this column to be hidden. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"initialHide\": {\n    \"description\": \"/** Same as `hide`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"lockVisible\": {\n    \"description\": \"/** Set to `true` to block making column visible / hidden via the UI (API will still work). Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"lockPosition\": {\n    \"description\": \"/** Lock a column to position to `'left'` or`'right'` to always have this column displayed in that position. `true` is treated as `'left'` */\",\n    \"type\": { \"returnType\": \"boolean | 'left' | 'right'\" }\n  },\n  \"suppressMovable\": {\n    \"description\": \"/** Set to `true` if you do not want this column to be movable via dragging. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"editable\": {\n    \"description\": \"/** Set to `true` if this column is editable, otherwise `false`. Can also be a function to have different rows editable. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean | EditableCallback<TData>\" }\n  },\n  \"valueSetter\": {\n    \"description\": \"/** Function or expression. Sets the value into your data for saving. Return `true` if the data changed. */\",\n    \"type\": { \"returnType\": \"string | ValueSetterFunc<TData>\" }\n  },\n  \"valueParser\": {\n    \"description\": \"/** Function or expression. Parses the value for saving. */\",\n    \"type\": { \"returnType\": \"string | ValueParserFunc<TData>\" }\n  },\n  \"cellEditor\": {\n    \"description\": \"/** Provide your own cell editor component for this column's cells.\\n    * See [Cell Editor](https://www.ag-grid.com/javascript-data-grid/component-cell-editor/) for framework specific implementation detail.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"cellEditorFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `cellEditor` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"cellEditorParams\": {\n    \"description\": \"/** Params to be passed to the `cellEditor` component. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"cellEditorSelector\": {\n    \"description\": \"/** Callback to select which cell editor to be used for a given row within the same column. */\",\n    \"type\": { \"returnType\": \"CellEditorSelectorFunc<TData>\" }\n  },\n  \"singleClickEdit\": {\n    \"description\": \"/** Set to `true` to have cells under this column enter edit mode after single click. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"cellEditorPopup\": {\n    \"description\": \"/** Set to `true`, to have the cell editor appear in a popup.\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"cellEditorPopupPosition\": {\n    \"description\": \"/** Set the position for the popup cell editor. Possible values are\\n     *  - `over` Popup will be positioned over the cell\\n     *  - `under` Popup will be positioned below the cell leaving the cell value visible.\\n     *\\n     * Default: `over`. */\",\n    \"type\": { \"returnType\": \"'over' | 'under'\" }\n  },\n  \"onCellValueChanged\": {\n    \"description\": \"/** Callback for after the value of a cell has changed, either due to editing or the application calling `api.setValue()`. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"NewValueParams<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"onCellClicked\": {\n    \"description\": \"/** Callback called when a cell is clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"onCellDoubleClicked\": {\n    \"description\": \"/** Callback called when a cell is double clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"onCellContextMenu\": {\n    \"description\": \"/** Callback called when a cell is right clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getQuickFilterText\": {\n    \"description\": \"/** A function to tell the grid what Quick Filter text to use for this column if you don't want to use the default (which is calling `toString` on the value). */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"GetQuickFilterTextParams<TData>\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"filterValueGetter\": {\n    \"description\": \"/** Function or expression. Gets the value for filtering purposes. */\",\n    \"type\": { \"returnType\": \"string | ValueGetterFunc<TData>\" }\n  },\n  \"floatingFilter\": {\n    \"description\": \"/** Whether to display a floating filter for this column. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"wrapHeaderText\": {\n    \"description\": \"/** If enabled then column header names that are too long for the column width will wrap onto the next line. Default `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"autoHeaderHeight\": {\n    \"description\": \"/** If enabled then the column header row will automatically adjust height to accommodate the size of the header cell.\\n    * This can be useful when using your own `headerComponent` or long header names in conjunction with `wrapHeaderText`.\\n    * Default: `false`\\n    */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"headerComponent\": {\n    \"description\": \"/** The custom header component to be used for rendering the component header. If none specified the default AG Grid header component is used.\\n    * See [Header Component](https://www.ag-grid.com/javascript-data-grid/component-header/) for framework specific implementation detail.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"headerComponentFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `headerComponent` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"headerComponentParams\": {\n    \"description\": \"/** The parameters to be passed to the `headerComponent`. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"menuTabs\": {\n    \"description\": \"/** Set to an array containing zero, one or many of the following options: `'filterMenuTab' | 'generalMenuTab' | 'columnsMenuTab'`.\\n     * This is used to figure out which menu tabs are present and in which order the tabs are shown.\\n     */\",\n    \"type\": { \"returnType\": \"ColumnMenuTab[]\" }\n  },\n  \"columnsMenuParams\": {\n    \"description\": \"/** Params used to change the behaviour and appearance of the Columns Menu tab. */\",\n    \"type\": { \"returnType\": \"ColumnsMenuParams\" }\n  },\n  \"suppressMenu\": {\n    \"description\": \"/** Set to `true` if no menu should be shown for this column header. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"headerCheckboxSelection\": {\n    \"description\": \"/** If `true` or the callback returns `true`, a 'select all' checkbox will be put into the header. */\",\n    \"type\": { \"returnType\": \"boolean | HeaderCheckboxSelectionCallback<TData>\" }\n  },\n  \"headerCheckboxSelectionFilteredOnly\": {\n    \"description\": \"/** If `true`, the header checkbox selection will only select filtered items. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"headerCheckboxSelectionCurrentPageOnly\": {\n    \"description\": \"/** If `true`, the header checkbox selection will only select nodes on the current page. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"chartDataType\": {\n    \"description\": \"/** Defines the chart data type that should be used for a column. */\",\n    \"type\": { \"returnType\": \"'category' | 'series' | 'time' | 'excluded'\" }\n  },\n  \"pinned\": {\n    \"description\": \"/** Pin a column to one side: `right` or `left`. A value of `true` is converted to `'left'`. */\",\n    \"type\": { \"returnType\": \"boolean | 'left' | 'right' | null\" }\n  },\n  \"initialPinned\": {\n    \"description\": \"/** Same as `pinned`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"boolean | 'left' | 'right'\" }\n  },\n  \"lockPinned\": {\n    \"description\": \"/** Set to true to block the user pinning the column, the column can only be pinned via definitions or API. Default: `false`  */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"pivot\": {\n    \"description\": \"/** Set to true to pivot by this column. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"initialPivot\": {\n    \"description\": \"/** Same as `pivot`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"pivotIndex\": {\n    \"description\": \"/** Set this in columns you want to pivot by.\\n     * If only pivoting by one column, set this to any number (e.g. `0`).\\n     * If pivoting by multiple columns, set this to where you want this column to be in the order of pivots (e.g. `0` for first, `1` for second, and so on).\\n     */\",\n    \"type\": { \"returnType\": \"number | null\" }\n  },\n  \"initialPivotIndex\": {\n    \"description\": \"/** Same as `pivotIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"pivotComparator\": {\n    \"description\": \"/** Comparator to use when ordering the pivot columns, when this column is used to pivot on.\\n     * The values will always be strings, as the pivot service uses strings as keys for the pivot groups.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"valueA\": \"string\", \"valueB\": \"string\" },\n      \"returnType\": \"number\"\n    }\n  },\n  \"enablePivot\": {\n    \"description\": \"/** Set to `true` if you want to be able to pivot by this column via the GUI. This will not block the API or properties being used to achieve pivot. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"cellStyle\": {\n    \"description\": \"/** An object of css values / or function returning an object of css values for a particular cell. */\",\n    \"type\": { \"returnType\": \"CellStyle | CellStyleFunc<TData>\" }\n  },\n  \"cellClass\": {\n    \"description\": \"/** Class to use for the cell. Can be string, array of strings, or function that returns a string or array of strings. */\",\n    \"type\": { \"returnType\": \"string | string[] | CellClassFunc<TData>\" }\n  },\n  \"cellClassRules\": {\n    \"description\": \"/** Rules which can be applied to include certain CSS classes. */\",\n    \"type\": { \"returnType\": \"CellClassRules<TData>\" }\n  },\n  \"cellRenderer\": {\n    \"description\": \"/** Provide your own cell Renderer component for this column's cells.\\n    * See [Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-cell-renderer/) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"cellRendererFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `cellRenderer` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"cellRendererParams\": {\n    \"description\": \"/** Params to be passed to the `cellRenderer` component. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"cellRendererSelector\": {\n    \"description\": \"/** Callback to select which cell renderer to be used for a given row within the same column. */\",\n    \"type\": { \"returnType\": \"CellRendererSelectorFunc<TData>\" }\n  },\n  \"autoHeight\": {\n    \"description\": \"/** Set to `true` to have the grid calculate the height of a row based on contents of this column. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"wrapText\": {\n    \"description\": \"/** Set to `true` to have the text wrap inside the cell - typically used with `autoHeight`. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableCellChangeFlash\": {\n    \"description\": \"/** Set to `true` to flash a cell when it's refreshed. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressCellFlash\": {\n    \"description\": \"/** Set to `true` to prevent this column from flashing on changes. Only applicable if cell flashing is turned on for the grid. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowDrag\": {\n    \"description\": \"/** `boolean` or `Function`. Set to `true` (or return `true` from function) to allow row dragging. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean | RowDragCallback<TData>\" }\n  },\n  \"rowDragText\": {\n    \"description\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the `rowDragText` callback in the `gridOptions` will be used and\\n     * if there is no callback in the `gridOptions` the current cell value will be used.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"IRowDragItem\", \"dragItemCount\": \"number\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"dndSource\": {\n    \"description\": \"/** `boolean` or `Function`. Set to `true` (or return `true` from function) to allow dragging for native drag and drop. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean | DndSourceCallback<TData>\" }\n  },\n  \"dndSourceOnRowDrag\": {\n    \"description\": \"/** Function to allow custom drag functionality for native drag and drop. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"DndSourceOnRowDragParams<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"rowGroup\": {\n    \"description\": \"/** Set to `true` to row group by this column. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"initialRowGroup\": {\n    \"description\": \"/** Same as `rowGroup`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowGroupIndex\": {\n    \"description\": \"/** Set this in columns you want to group by.\\n     * If only grouping by one column, set this to any number (e.g. `0`).\\n     * If grouping by multiple columns, set this to where you want this column to be in the group (e.g. `0` for first, `1` for second, and so on).\\n     */\",\n    \"type\": { \"returnType\": \"number | null\" }\n  },\n  \"initialRowGroupIndex\": {\n    \"description\": \"/** Same as `rowGroupIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"enableRowGroup\": {\n    \"description\": \"/** Set to `true` if you want to be able to row group by this column via the GUI.\\n     * This will not block the API or properties being used to achieve row grouping.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableValue\": {\n    \"description\": \"/** Set to `true` if you want to be able to aggregate by this column via the GUI.\\n     * This will not block the API or properties being used to achieve aggregation.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"aggFunc\": {\n    \"description\": \"/** Name of function to use for aggregation. In-built options are: `sum`, `min`, `max`, `count`, `avg`, `first`, `last`. Also accepts a custom aggregation name or an aggregation function. */\",\n    \"type\": { \"returnType\": \"string | IAggFunc<TData> | null\" }\n  },\n  \"initialAggFunc\": {\n    \"description\": \"/** Same as `aggFunc`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"string | IAggFunc<TData>\" }\n  },\n  \"defaultAggFunc\": {\n    \"description\": \"/** The name of the aggregation function to use for this column when it is enabled via the GUI.\\n     * Note that this does not immediately apply the aggregation function like `aggFunc`\\n     * Default: `sum`\\n     */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"allowedAggFuncs\": {\n    \"description\": \"/** Aggregation functions allowed on this column e.g. `['sum', 'avg']`.\\n     * If missing, all installed functions are allowed.\\n     * This will only restrict what the GUI allows a user to select, it does not impact when you set a function via the API. */\",\n    \"type\": { \"returnType\": \"string[]\" }\n  },\n  \"showRowGroup\": {\n    \"description\": \"/** Set to true to have the grid place the values for the group into the cell, or put the name of a grouped column to just show that group. */\",\n    \"type\": { \"returnType\": \"string | boolean\" }\n  },\n  \"sortable\": {\n    \"description\": \"/** Set to `true` to allow sorting on this column. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"sort\": {\n    \"description\": \"/** If sorting by default, set it here. Set to `asc` or `desc`. */\",\n    \"type\": { \"returnType\": \"SortDirection\" }\n  },\n  \"initialSort\": {\n    \"description\": \"/** Same as `sort`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"SortDirection\" }\n  },\n  \"sortIndex\": {\n    \"description\": \"/** If sorting more than one column by default, specifies order in which the sorting should be applied. */\",\n    \"type\": { \"returnType\": \"number | null\" }\n  },\n  \"initialSortIndex\": {\n    \"description\": \"/** Same as `sortIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"sortingOrder\": {\n    \"description\": \"/**  Array defining the order in which sorting occurs (if sorting is enabled). An array with any of the following in any order `['asc','desc',null]` */\",\n    \"type\": { \"returnType\": \"(SortDirection)[]\" }\n  },\n  \"comparator\": {\n    \"description\": \"/** Override the default sorting order by providing a custom sort comparator.\\n     *\\n     * - `valueA`, `valueB` are the values to compare.\\n     * - `nodeA`,  `nodeB` are the corresponding RowNodes. Useful if additional details are required by the sort.\\n     * - `isDescending` - `true` if sort direction is `desc`. Not to be used for inverting the return value as the grid already applies `asc` or `desc` ordering.\\n     *\\n     * Return:\\n     *  - `0`  valueA is the same as valueB\\n     *  - `> 0` Sort valueA after valueB\\n     *  - `< 0` Sort valueA before valueB\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"valueA\": \"any\",\n        \"valueB\": \"any\",\n        \"nodeA\": \"IRowNode<TData>\",\n        \"nodeB\": \"IRowNode<TData>\",\n        \"isDescending\": \"boolean\"\n      },\n      \"returnType\": \"number\"\n    }\n  },\n  \"unSortIcon\": {\n    \"description\": \"/** Set to `true` if you want the unsorted icon to be shown when no sort is applied to this column. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"colSpan\": {\n    \"description\": \"/** By default, each cell will take up the width of one column. You can change this behaviour to allow cells to span multiple columns. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ColSpanParams<TData>\" },\n      \"returnType\": \"number\"\n    }\n  },\n  \"rowSpan\": {\n    \"description\": \"/** By default, each cell will take up the height of one row. You can change this behaviour to allow cells to span multiple rows. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"RowSpanParams<TData>\" },\n      \"returnType\": \"number\"\n    }\n  },\n  \"width\": {\n    \"description\": \"/** Initial width in pixels for the cell. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"initialWidth\": {\n    \"description\": \"/** Same as `width`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"minWidth\": {\n    \"description\": \"/** Minimum width in pixels for the cell. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"maxWidth\": {\n    \"description\": \"/** Maximum width in pixels for the cell. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"flex\": {\n    \"description\": \"/** Used instead of `width` when the goal is to fill the remaining empty space of the grid. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"initialFlex\": {\n    \"description\": \"/** Same as `flex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"resizable\": {\n    \"description\": \"/** Set to `true` to allow this column should be resized. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressSizeToFit\": {\n    \"description\": \"/** Set to `true` if you want this column's width to be fixed during 'size to fit' operations. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressAutoSize\": {\n    \"description\": \"/** Set to `true` if you do not want this column to be auto-resizable by double clicking it's edge. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"pivotValueColumn\": {\n    \"description\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n    \"type\": { \"returnType\": \"Column | null\" }\n  },\n  \"pivotTotalColumnIds\": {\n    \"description\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n    \"type\": { \"returnType\": \"string[]\" }\n  },\n  \"spanHeaderHeight\": {\n    \"description\": \"/** Set to `true` if you want this column header for this column to span the whole height of the header container. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"filter\": {\n    \"description\": \"/** Filter component to use for this column.\\n     * - Set to `true` to use the default filter.\\n     * - Set to the name of a provided filter: `set`, `number`, `text`, `date`.\\n     * - Set to a `IFilterComp`.\\n     */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"filterFramework\": {\n    \"description\": \"/** @deprecated Provided a custom framework filter to use for this column. As of v27, you can use filter instead for Framework Components.  */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"filterParams\": {\n    \"description\": \"/** Params to be passed to the filter component specified in `filter` or `filterFramework`. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"floatingFilterComponent\": {\n    \"description\": \"/** The custom component to be used for rendering the floating filter.\\n     * If none is specified the default AG Grid is used.\\n     */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"floatingFilterComponentFramework\": {\n    \"description\": \"/** @deprecated Floating filter framework component to use for this column. As of v27, you can use floatingFilterComponent instead for Framework Components. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"floatingFilterComponentParams\": {\n    \"description\": \"/** Params to be passed to `floatingFilterComponent` or `floatingFilterComponentFramework`. */\",\n    \"type\": { \"returnType\": \"any\" }\n  }\n}\n"}},{"relativePath":"column-api/api.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"column-api/column-api.AUTO.json\"\n    },\n    \"columns\": {\n        \"meta\": {\n            \"displayName\": \"Columns\"\n        },\n        \"getColumn\": {},\n        \"getColumns\": {},\n        \"getAllGridColumns\": {}\n    },\n    \"state\": {\n        \"meta\": {\n            \"displayName\": \"State\",\n            \"description\": \"See [Column State](/column-state/)\"\n        },\n        \"getColumnState\": {},\n        \"applyColumnState\": {},\n        \"resetColumnState\": {},\n        \"getColumnGroupState\": {},\n        \"setColumnGroupState\": {},\n        \"resetColumnGroupState\": {}\n    },\n    \"colGroups\": {\n        \"meta\": {\n            \"displayName\": \"Column Groups\",\n            \"description\": \"See [Column Groups](/column-groups/)\"\n        },\n        \"getColumnGroup\": {\n            \"more\": {\n                \"name\": \"Column Groups\",\n                \"url\": \"/column-groups/\"\n            }\n        },\n        \"getProvidedColumnGroup\": {},\n        \"setColumnGroupOpened\": {}\n    },\n    \"Sizing\": {\n        \"meta\": {\n            \"displayName\": \"Sizing\",\n            \"description\": \"See [Column Sizing](/column-sizing/)\"\n        },\n        \"setColumnWidth\": {},\n        \"setColumnWidths\": {},\n        \"sizeColumnsToFit\": {},\n        \"autoSizeColumn\": {},\n        \"autoSizeColumns\": {},\n        \"autoSizeAllColumns\": {}\n    },\n    \"Moving\": {\n        \"meta\": {\n            \"displayName\": \"Moving\",\n            \"description\": \"See [Column Moving](/column-moving/)\"\n        },\n        \"moveColumn\": {},\n        \"moveColumns\": {},\n        \"moveColumnByIndex\": {}\n    },\n    \"Pinning\": {\n        \"meta\": {\n            \"displayName\": \"Pinning\",\n            \"description\": \"See [Column Pinning](/column-pinning/)\"\n        },\n        \"isPinning\": {},\n        \"isPinningLeft\": {},\n        \"isPinningRight\": {},\n        \"setColumnPinned\": {},\n        \"setColumnsPinned\": {}\n    },\n    \"Visibility and Display\": {\n        \"meta\": {\n            \"displayName\": \"Visibility and Display\"\n        },\n        \"setColumnVisible\": {},\n        \"setColumnsVisible\": {},\n        \"getDisplayNameForColumn\": {},\n        \"getDisplayNameForColumnGroup\": {},\n        \"getDisplayedColAfter\": {},\n        \"getDisplayedColBefore\": {},\n        \"getAllDisplayedVirtualColumns\": {},\n        \"getAllDisplayedColumns\": {},\n        \"getDisplayedCenterColumns\": {},\n        \"getDisplayedLeftColumns\": {},\n        \"getDisplayedRightColumns\": {},\n        \"getAllDisplayedColumnGroups\": {},\n        \"getCenterDisplayedColumnGroups\": {},\n        \"getLeftDisplayedColumnGroups\": {},\n        \"getRightDisplayedColumnGroups\": {}\n    },\n    \"valueColumns\": {\n        \"meta\": {\n            \"displayName\": \"Value Columns\",\n            \"description\": \"Methods for management of value column aggregates (for aggregating when grouping or pivoting).\"\n        },\n        \"getValueColumns\": {},\n        \"addValueColumn\": {},\n        \"addValueColumns\": {},\n        \"removeValueColumn\": {},\n        \"removeValueColumns\": {},\n        \"setValueColumns\": {},\n        \"setColumnAggFunc\": {}\n    },\n    \"rowGroups\": {\n        \"meta\": {\n            \"displayName\": \"Row Grouping\",\n            \"description\": \"See [Row Grouping](/grouping/)\"\n        },\n        \"getRowGroupColumns\": {},\n        \"setRowGroupColumns\": {},\n        \"addRowGroupColumn\": {},\n        \"addRowGroupColumns\": {},\n        \"removeRowGroupColumn\": {},\n        \"removeRowGroupColumns\": {},\n        \"moveRowGroupColumn\": {}\n    },\n    \"Pivoting\": {\n        \"meta\": {\n            \"displayName\": \"Pivoting\",\n            \"description\": \"See [Pivoting](/pivoting/)\"\n        },\n        \"isPivotMode\": {},\n        \"setPivotMode\": {},\n        \"getPivotColumns\": {},\n        \"setPivotColumns\": {},\n        \"addPivotColumn\": {},\n        \"addPivotColumns\": {},\n        \"removePivotColumn\": {},\n        \"removePivotColumns\": {},\n        \"getPivotResultColumn\": {},\n        \"setPivotResultColumns\": {},\n        \"getPivotResultColumns\": {\n            \"more\": {\n                \"name\": \"Columns vs Pivot Result Columns\",\n                \"url\": \"/pivoting/#columns-vs-pivot-result-columns\"\n            }\n        }\n    }\n}"}},{"relativePath":"column-object/reference.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"column-object/column.AUTO.json\"\n    },\n    \"methods\": {\n        \"meta\": {\n            \"displayName\": \"Column Methods\"\n        },\n        \"getColId\": {},\n        \"getColDef\": {},\n        \"getUserProvidedColDef\": {},\n        \"getParent\": {},\n        \"isFilterAllowed\": {},\n        \"isFilterActive\": {},\n        \"isCellEditable\": {},\n        \"isHovered\": {},\n        \"getSort\": {},\n        \"getAggFunc\": {},\n        \"getActualWidth\": {},\n        \"isRowGroupActive\": {},\n        \"isPivotActive\": {},\n        \"isValueActive\": {},\n        \"isPrimary\": {},\n        \"addEventListener\": {},\n        \"removeEventListener\": {}\n    },\n    \"events\": {\n        \"meta\": {\n            \"displayName\": \"Events on Column\",\n            \"description\": \"Columns emit the following events:\",\n            \"isEvent\": true,\n            \"suppressMissingPropCheck\": true\n        },\n        \"filterActiveChanged\": {\n            \"description\": \"The filter active value has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"sortChanged\": {\n            \"description\": \"The sort value has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"leftChanged\": {\n            \"description\": \"The left position has changed (e.g. column has moved).\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"movingChanged\": {\n            \"description\": \"The column has started / finished moving (i.e. user is dragging the column to a new location).\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"widthChanged\": {\n            \"description\": \"The width value has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"visibleChanged\": {\n            \"description\": \"The visibility value has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"menuVisibleChanged\": {\n            \"description\": \"The column menu was shown / hidden.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"columnRowGroupChanged\": {\n            \"description\": \"The row group value has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"columnPivotChanged\": {\n            \"description\": \"The pivot value has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"columnValueChanged\": {\n            \"description\": \"The 'value' value has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"ColumnEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        }\n    }\n}"}},{"relativePath":"column-properties/properties.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"column-properties/column-options.AUTO.json\"\n    },\n    \"columns\": {\n        \"meta\": {\n            \"displayName\": \"Columns\"\n        },\n        \"field\": {\n            \"more\": {\n                \"name\": \"Accessing Row Data Values\",\n                \"url\": \"/column-definitions/#accessing-row-data-values\"\n            }\n        },\n        \"colId\": {},\n        \"type\": {\n            \"more\": {\n                \"name\": \"Column Types\",\n                \"url\": \"/column-definitions/#default-column-definitions\"\n            }\n        },\n        \"valueGetter\": {\n            \"description\": \"Function or [expression](/cell-expressions/#column-definition-expressions). Gets the value from your data for display.\",\n            \"more\": {\n                \"name\": \"Value Getters\",\n                \"url\": \"/value-getters/\"\n            }\n        },\n        \"valueFormatter\": {\n            \"more\": {\n                \"name\": \"Value Formatters\",\n                \"url\": \"/value-formatters/\"\n            }\n        },\n        \"refData\": {\n            \"more\": {\n                \"name\": \"Using the 'refData' Property\",\n                \"url\": \"/reference-data/#using-the-refdata-property\"\n            }\n        },\n        \"keyCreator\": {},\n        \"equals\": {\n            \"more\": {\n                \"name\": \"Change Detection Comparing Values\",\n                \"url\": \"/change-detection/#comparing-values\"\n            }\n        },\n        \"checkboxSelection\": {},\n        \"showDisabledCheckboxes\": {},\n        \"toolPanelClass\": {},\n        \"suppressColumnsToolPanel\": {},\n        \"columnGroupShow\": {},\n        \"icons\": {\n            \"more\": {\n                \"name\": \"Custom Icons\",\n                \"url\": \"/custom-icons/#set-the-icons-through-gridoptions-javascript\"\n            }\n        },\n        \"suppressNavigable\": {},\n        \"suppressKeyboardEvent\": {\n            \"more\": {\n                \"name\": \"Suppress Keyboard Events\",\n                \"url\": \"/keyboard-navigation/#suppresskeyboardevent\"\n            }\n        },\n        \"suppressPaste\": {},\n        \"suppressFillHandle\": {\n            \"more\": {\n                \"name\": \"Suppressing the Fill Handle\",\n                \"url\": \"/range-selection-fill-handle/#suppressing-the-fill-handle\"\n            }\n        }\n    },\n    \"charts\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Integrated Charts\",\n            \"description\": \"(Enterprise only) See [Integrated Charts](/integrated-charts/)\"\n        },\n        \"chartDataType\": {}\n    },\n    \"tooltips\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Tooltips\"\n        },\n        \"tooltipField\": {},\n        \"tooltipValueGetter\": {\n            \"more\": {\n                \"name\": \"Tooltip Component\",\n                \"url\": \"/component-tooltip\"\n            }\n        },\n        \"tooltipComponent\": {\n            \"description\": \"Provide your own tooltip component for the column.\",\n            \"more\": {\n                \"name\": \"Tooltip Component\",\n                \"url\": \"/component-tooltip\"\n            }\n        },\n        \"tooltipComponentParams\": {}\n    },\n    \"header\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Header\",\n            \"page\": {\n                \"name\": \"Column Headers\",\n                \"url\": \"/column-headers/\"\n            }\n        },\n        \"headerName\": {},\n        \"headerValueGetter\": {\n            \"description\": \"Function or [expression](/cell-expressions/#column-definition-expressions). Gets the value for display in the header.\"\n        },\n        \"headerTooltip\": {},\n        \"headerClass\": {},\n        \"headerComponent\": {\n            \"description\": \"The custom header group component to be used for rendering the component header. If none specified the default AG Grid is used.\",\n            \"more\": {\n                \"name\": \"Header Component\",\n                \"url\": \"/component-header/\"\n            }\n        },\n        \"headerComponentParams\": {},\n        \"wrapHeaderText\": {},\n        \"autoHeaderHeight\": {\n            \"more\": {\n                \"name\": \"Auto Header Height\",\n                \"url\": \"/column-headers/#auto-header-height\"\n            }\n        },\n        \"menuTabs\": {},\n        \"columnsMenuParams\": {\n            \"more\": {\n                \"name\": \"Customising the Columns Menu Tab\",\n                \"url\": \"/column-menu/#customising-the-columns-menu-tab\"\n            }\n        },\n        \"suppressMenu\": {},\n        \"suppressHeaderKeyboardEvent\": {\n            \"more\": {\n                \"name\": \"Suppress Keyboard Events\",\n                \"url\": \"/keyboard-navigation/#suppressheaderkeyboardevent\"\n            }\n        },\n        \"headerCheckboxSelection\": {\n            \"more\": {\n                \"name\": \"Header Checkbox Selection\",\n                \"url\": \"/row-selection/#header-checkbox-selection\"\n            }\n        },\n        \"headerCheckboxSelectionFilteredOnly\": {\n            \"more\": {\n                \"name\": \"Select Everything or Just Filtered\",\n                \"url\": \"/row-selection/#select-everything-or-just-filtered\"\n            }\n        },\n        \"headerCheckboxSelectionCurrentPageOnly\": {\n            \"more\": {\n                \"name\": \"Select Everything on the Current Page\",\n                \"url\": \"/row-selection/#example-select-only-the-current-page\"\n            }\n        }\n    },\n    \"display\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Display\"\n        },\n        \"hide\": {},\n        \"initialHide\": {},\n        \"lockVisible\": {},\n        \"lockPosition\": {},\n        \"suppressMovable\": {}\n    },\n    \"width\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Width\",\n            \"page\": {\n                \"name\": \"Column Sizing\",\n                \"url\": \"/column-sizing/\"\n            }\n        },\n        \"width\": {},\n        \"initialWidth\": {},\n        \"minWidth\": {},\n        \"maxWidth\": {},\n        \"flex\": {\n            \"more\": {\n                \"name\": \"Column Flex\",\n                \"url\": \"/column-sizing/#column-flex\"\n            }\n        },\n        \"initialFlex\": {},\n        \"resizable\": {},\n        \"suppressSizeToFit\": {},\n        \"suppressAutoSize\": {}\n    },\n    \"pinned\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Pinned\",\n            \"page\": {\n                \"name\": \"Column Pinning\",\n                \"url\": \"/column-pinning/\"\n            }\n        },\n        \"pinned\": {},\n        \"initialPinned\": {},\n        \"lockPinned\": {}\n    },\n    \"spanning\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Spanning\",\n            \"description\": \"See [Column](/column-spanning/) / [Row](/row-spanning/) Spanning\"\n        },\n        \"colSpan\": {},\n        \"rowSpan\": {}\n    },\n    \"styling\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Rendering and Styling\"\n        },\n        \"cellStyle\": {\n            \"more\": {\n                \"name\": \"Cell Style\",\n                \"url\": \"/cell-styles/#cell-style\"\n            }\n        },\n        \"cellClass\": {\n            \"more\": {\n                \"name\": \"Cell Class\",\n                \"url\": \"/cell-styles/#cell-class\"\n            }\n        },\n        \"cellClassRules\": {\n            \"more\": {\n                \"name\": \"Cell Class Rules\",\n                \"url\": \"/cell-styles/#cell-class-rules\"\n            }\n        },\n        \"cellRenderer\": {\n            \"description\": \"Provide your own cell Renderer component for this column's cells.\",\n            \"more\": {\n                \"name\": \"Cell Renderer\",\n                \"url\": \"/cell-rendering/\"\n            }\n        },\n        \"cellRendererParams\": {\n            \"more\": {\n                \"name\": \"Cell Renderer Params\",\n                \"url\": \"/component-cell-renderer/#reference-ICellRendererParams\"\n            }\n        },\n        \"cellRendererSelector\": {\n            \"more\": {\n                \"name\": \"Many Renderers One Column\",\n                \"url\": \"/cell-rendering/#many-renderers-one-column\"\n            }\n        },\n        \"autoHeight\": {},\n        \"wrapText\": {},\n        \"enableCellChangeFlash\": {},\n        \"suppressCellFlash\": {}\n    },\n    \"sort\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Sort\",\n            \"page\": {\n                \"name\": \"Row Sorting\",\n                \"url\": \"/row-sorting/\"\n            }\n        },\n        \"sortable\": {},\n        \"sort\": {},\n        \"initialSort\": {},\n        \"sortIndex\": {},\n        \"initialSortIndex\": {},\n        \"sortingOrder\": {},\n        \"comparator\": {},\n        \"unSortIcon\": {}\n    },\n    \"filtering\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Filter\",\n            \"page\": {\n                \"name\": \"Filtering\",\n                \"url\": \"/filtering-overview/\"\n            }\n        },\n        \"filter\": {\n            \"description\": \"Filter component to use for this column. <br/>Set to `true` to use the default filter. <br/>Set to the name of a [Provided Filter](/filtering/#column-filter-types) or set to a `IFilterComp`.\",\n            \"more\": {\n                \"name\": \"Column Filters\",\n                \"url\": \"/filtering/\"\n            }\n        },\n        \"filterParams\": {\n            \"more\": {\n                \"name\": \"Filter Parameters\",\n                \"url\": \"/filtering/\"\n            }\n        },\n        \"filterValueGetter\": {\n            \"description\": \"Function or [expression](/cell-expressions/#column-definition-expressions). Gets the value for filtering purposes.\"\n        },\n        \"getQuickFilterText\": {\n            \"more\": {\n                \"name\": \"Overriding the Quick Filter Value\",\n                \"url\": \"/filter-quick/#overriding-the-quick-filter-value\"\n            }\n        },\n        \"floatingFilter\": {\n            \"more\": {\n                \"name\": \"Floating Filter\",\n                \"url\": \"/floating-filters\"\n            }\n        },\n        \"floatingFilterComponent\": {\n            \"more\": {\n                \"name\": \"Floating Filter Component\",\n                \"url\": \"/component-floating-filter/\"\n            }\n        },\n        \"floatingFilterComponentParams\": {\n            \"more\": {\n                \"name\": \"Floating Filter Parameters\",\n                \"url\": \"/component-floating-filter/#custom-filter-parameters\"\n            }\n        },\n        \"suppressFiltersToolPanel\": {}\n    },\n    \"editing\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Editing\",\n            \"page\": {\n                \"name\": \"Cell Editing\",\n                \"url\": \"/cell-editing/\"\n            }\n        },\n        \"editable\": {},\n        \"valueSetter\": {\n            \"description\": \"Function or [expression](/cell-expressions/#column-definition-expressions). Custom function to modify your data based off the new value for saving. Return `true` if the data changed.\",\n            \"more\": {\n                \"name\": \"Saving Values\",\n                \"url\": \"/value-setters/\"\n            }\n        },\n        \"valueParser\": {\n            \"description\": \"Function or [expression](/cell-expressions/#column-definition-expressions). Parses the value for saving.\",\n            \"more\": {\n                \"name\": \"Parsing Values\",\n                \"url\": \"/value-parsers/\"\n            }\n        },\n        \"cellEditor\": {\n            \"description\": \"Provide your own cell editor component for this column's cells.\",\n            \"more\": {\n                \"name\": \"Cell Editors\",\n                \"url\": \"/component-cell-editor/\"\n            }\n        },\n        \"cellEditorParams\": {},\n        \"cellEditorSelector\": {\n            \"more\": {\n                \"name\": \"Many Editors One Column\",\n                \"url\": \"/cell-editors/#many-editors-one-column\"\n            }\n        },\n        \"cellEditorPopup\": {},\n        \"cellEditorPopupPosition\": {},\n        \"singleClickEdit\": {}\n    },\n    \"grouping\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Row Grouping\",\n            \"description\": \"(Enterprise only) See [Row Grouping](/grouping/)\"\n        },\n        \"rowGroup\": {},\n        \"initialRowGroup\": {},\n        \"rowGroupIndex\": {},\n        \"initialRowGroupIndex\": {},\n        \"enableRowGroup\": {},\n        \"showRowGroup\": {\n            \"more\": {\n                \"name\": \"Custom Group Columns\",\n                \"url\": \"/grouping-custom-group-columns/\"\n            }\n        },\n        \"enableValue\": {},\n        \"aggFunc\": {},\n        \"initialAggFunc\": {},\n        \"allowedAggFuncs\": {},\n        \"defaultAggFunc\": {}\n    },\n    \"pivoting\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Pivoting\",\n            \"description\": \"(Enterprise only) See [Pivoting](/pivoting/)\"\n        },\n        \"pivot\": {},\n        \"initialPivot\": {},\n        \"pivotIndex\": {},\n        \"initialPivotIndex\": {},\n        \"pivotComparator\": {},\n        \"enablePivot\": {}\n    },\n    \"row dragging\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Row Dragging\",\n            \"page\": {\n                \"name\": \"Row Dragging\",\n                \"url\": \"/row-dragging/\"\n            }\n        },\n        \"rowDrag\": {},\n        \"rowDragText\": {},\n        \"dndSource\": {},\n        \"dndSourceOnRowDrag\": {}\n    },\n    \"events\": {\n        \"meta\": {\n            \"displayName\": \"Columns: Events\",\n            \"isEvent\": true\n        },\n        \"onCellValueChanged\": {},\n        \"onCellClicked\": {},\n        \"onCellDoubleClicked\": {},\n        \"onCellContextMenu\": {}\n    },\n    \"columnGroups\": {\n        \"meta\": {\n            \"displayName\": \"Groups\",\n            \"description\": \"For column groups, the property `children` is mandatory. When the grid sees `children` it knows it's a column group.\",\n            \"page\": {\n                \"name\": \"Column Groups\",\n                \"url\": \"/column-groups/\"\n            }\n        },\n        \"children\": {\n            \"isRequired\": true\n        },\n        \"groupId\": {},\n        \"marryChildren\": {},\n        \"stickyLabel\": {},\n        \"openByDefault\": {},\n        \"columnGroupShow\": {},\n        \"toolPanelClass\": {},\n        \"suppressColumnsToolPanel\": {},\n        \"suppressFiltersToolPanel\": {},\n        \"spanHeaderHeight\": {},\n        \"tooltipComponent\": {\n            \"description\": \"Provide your own tooltip component for the column group.\",\n            \"more\": {\n                \"name\": \"Tooltip Component\",\n                \"url\": \"/component-tooltip\"\n            }\n        },\n        \"tooltipComponentParams\": {}\n    },\n    \"groupsHeader\": {\n        \"meta\": {\n            \"displayName\": \"Groups:  Header\",\n            \"page\": {\n                \"name\": \"Column Headers\",\n                \"url\": \"/column-headers/\"\n            }\n        },\n        \"headerName\": {},\n        \"headerClass\": {},\n        \"headerTooltip\": {},\n        \"headerGroupComponent\": {\n            \"description\": \"The custom header group component to be used for rendering the component header. If none specified the default AG Grid is used.\",\n            \"more\": {\n                \"name\": \"Header Group Component\",\n                \"url\": \"/component-header/#header-group-components/\"\n            }\n        },\n        \"headerGroupComponentParams\": {}\n    }\n}"}},{"relativePath":"grid-api/grid-api.AUTO.json","internal":{"content":"{\n  \"registerOverlayWrapperComp\": {\n    \"type\": {\n      \"arguments\": { \"overlayWrapperComp\": \"OverlayWrapperComponent\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"registerSideBarComp\": {\n    \"type\": { \"arguments\": { \"sideBarComp\": \"ISideBar\" }, \"returnType\": \"void\" }\n  },\n  \"___getAlignedGridService\": {\n    \"description\": \"/** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"AlignedGridsService\" }\n  },\n  \"___getContext\": {\n    \"description\": \"/** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Context\" }\n  },\n  \"___setProperty\": {\n    \"description\": \"/** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */\",\n    \"type\": { \"arguments\": { \"propertyName\": \"K\", \"value\": \"GridOptions[K]\" } }\n  },\n  \"addDetailGridInfo\": {\n    \"description\": \"/** Register a detail grid with the master grid when it is created. */\",\n    \"type\": {\n      \"arguments\": { \"id\": \"string\", \"gridInfo\": \"DetailGridInfo\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removeDetailGridInfo\": {\n    \"description\": \"/** Unregister a detail grid from the master grid when it is destroyed. */\",\n    \"type\": { \"arguments\": { \"id\": \"string\" }, \"returnType\": \"void\" }\n  },\n  \"getDetailGridInfo\": {\n    \"description\": \"/** Returns the `DetailGridInfo` corresponding to the supplied `detailGridId`. */\",\n    \"type\": {\n      \"arguments\": { \"id\": \"string\" },\n      \"returnType\": \"DetailGridInfo | undefined\"\n    }\n  },\n  \"forEachDetailGridInfo\": {\n    \"description\": \"/** Iterates through each `DetailGridInfo` in the grid and calls the supplied callback on each. */\",\n    \"type\": {\n      \"arguments\": {\n        \"callback\": \"(gridInfo: DetailGridInfo, index: number) => void\"\n      }\n    }\n  },\n  \"getDataAsCsv\": {\n    \"description\": \"/** Similar to `exportDataAsCsv`, except returns the result as a string rather than download it. */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"CsvExportParams\" },\n      \"returnType\": \"string | undefined\"\n    }\n  },\n  \"exportDataAsCsv\": {\n    \"description\": \"/** Downloads a CSV export of the grid's data. */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"CsvExportParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getDataAsExcel\": {\n    \"description\": \"/** Similar to `exportDataAsExcel`, except instead of downloading a file, it will return a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) to be processed by the user. */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"ExcelExportParams\" },\n      \"returnType\": \"string | Blob | undefined\"\n    }\n  },\n  \"exportDataAsExcel\": {\n    \"description\": \"/** Downloads an Excel export of the grid's data. */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"ExcelExportParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getSheetDataForExcel\": {\n    \"description\": \"/** This is method to be used to get the grid's data as a sheet, that will later be exported either by `getMultipleSheetsAsExcel()` or `exportMultipleSheetsAsExcel()`. */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"ExcelExportParams\" },\n      \"returnType\": \"string | undefined\"\n    }\n  },\n  \"getMultipleSheetsAsExcel\": {\n    \"description\": \"/** Similar to `exportMultipleSheetsAsExcel`, except instead of downloading a file, it will return a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) to be processed by the user. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ExcelExportMultipleSheetParams\" },\n      \"returnType\": \"Blob | undefined\"\n    }\n  },\n  \"exportMultipleSheetsAsExcel\": {\n    \"description\": \"/** Downloads an Excel export of multiple sheets in one file. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ExcelExportMultipleSheetParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGridAriaProperty\": {\n    \"description\": \"/** Sets an ARIA property in the grid panel (element with `role=\\\\\\\"grid\\\\\\\"`), and removes an ARIA property when the value is null.\\n     *\\n     * Example: `api.setGridAriaProperty('label', 'my grid')` will set `aria-label=\\\\\\\"my grid\\\\\\\"`.\\n     *\\n     * `api.setGridAriaProperty('label', null)` will remove the `aria-label` attribute from the grid element.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"property\": \"string\", \"value\": \"string | null\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setServerSideDatasource\": {\n    \"description\": \"/** Set new datasource for Server-Side Row Model. */\",\n    \"type\": { \"arguments\": { \"datasource\": \"IServerSideDatasource\" } }\n  },\n  \"setCacheBlockSize\": {\n    \"description\": \"/** Updates the `cacheBlockSize` when requesting data from the server if `suppressServerSideInfiniteScroll` is not enabled.\\n     * \\n     * Note this purges all the cached data and reloads all the rows of the grid.\\n     * */\",\n    \"type\": { \"arguments\": { \"blockSize\": \"number\" } }\n  },\n  \"setDatasource\": {\n    \"description\": \"/** Set new datasource for Infinite Row Model. */\",\n    \"type\": { \"arguments\": { \"datasource\": \"IDatasource\" } }\n  },\n  \"setViewportDatasource\": {\n    \"description\": \"/** Set new datasource for Viewport Row Model. */\",\n    \"type\": { \"arguments\": { \"viewportDatasource\": \"IViewportDatasource\" } }\n  },\n  \"setRowData\": {\n    \"description\": \"/** Set the row data. */\",\n    \"type\": { \"arguments\": { \"rowData\": \"TData[]\" } }\n  },\n  \"setPinnedTopRowData\": {\n    \"description\": \"/** Set the top pinned rows. Call with no rows / undefined to clear top pinned rows. */\",\n    \"type\": { \"arguments\": { \"rows?\": \"any[]\" }, \"returnType\": \"void\" }\n  },\n  \"setPinnedBottomRowData\": {\n    \"description\": \"/** Set the bottom pinned rows. Call with no rows / undefined to clear bottom pinned rows. */\",\n    \"type\": { \"arguments\": { \"rows?\": \"any[]\" }, \"returnType\": \"void\" }\n  },\n  \"getPinnedTopRowCount\": {\n    \"description\": \"/** Gets the number of top pinned rows. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"getPinnedBottomRowCount\": {\n    \"description\": \"/** Gets the number of bottom pinned rows. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"getPinnedTopRow\": {\n    \"description\": \"/** Gets the top pinned row with the specified index. */\",\n    \"type\": {\n      \"arguments\": { \"index\": \"number\" },\n      \"returnType\": \"IRowNode | undefined\"\n    }\n  },\n  \"getPinnedBottomRow\": {\n    \"description\": \"/** Gets the top pinned row with the specified index. */\",\n    \"type\": {\n      \"arguments\": { \"index\": \"number\" },\n      \"returnType\": \"IRowNode | undefined\"\n    }\n  },\n  \"setColumnDefs\": {\n    \"description\": \"/** Call to set new column definitions. The grid will redraw all the column headers, and then redraw all of the rows.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"colDefs\": \"(ColDef<TData> | ColGroupDef<TData>)[]\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      }\n    }\n  },\n  \"setAutoGroupColumnDef\": {\n    \"description\": \"/** Call to set new auto group column definition. The grid will recreate any auto-group columns if present. */\",\n    \"type\": {\n      \"arguments\": {\n        \"colDef\": \"ColDef<TData>\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      }\n    }\n  },\n  \"setDefaultColDef\": {\n    \"description\": \"/** Call to set new Default Column Definition. */\",\n    \"type\": {\n      \"arguments\": {\n        \"colDef\": \"ColDef<TData>\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      }\n    }\n  },\n  \"setColumnTypes\": {\n    \"description\": \"/** Call to set new Column Types. */\",\n    \"type\": {\n      \"arguments\": {\n        \"columnTypes\": \"{ string: ColDef<TData>; }\",\n        \"source\": \"ColumnEventType = \\\"api\\\"\"\n      }\n    }\n  },\n  \"expireValueCache\": { \"type\": { \"arguments\": {}, \"returnType\": \"void\" } },\n  \"getVerticalPixelRange\": {\n    \"description\": \"/** Returns an object with two properties:\\n     *  - `top`: The top pixel position of the current scroll in the grid\\n     *  - `bottom`: The bottom pixel position of the current scroll in the grid\\n     */\",\n    \"type\": {\n      \"arguments\": {},\n      \"returnType\": \"{ top: number, bottom: number; }\"\n    }\n  },\n  \"getHorizontalPixelRange\": {\n    \"description\": \"/** Returns an object with two properties:\\n     * - `left`: The left pixel position of the current scroll in the grid\\n     * - `right`: The right pixel position of the current scroll in the grid\\n     */\",\n    \"type\": {\n      \"arguments\": {},\n      \"returnType\": \"{ left: number, right: number; }\"\n    }\n  },\n  \"setAlwaysShowHorizontalScroll\": {\n    \"description\": \"/** If `true`, the horizontal scrollbar will always be present, even if not required. Otherwise, it will only be displayed when necessary. */\",\n    \"type\": { \"arguments\": { \"show\": \"boolean\" } }\n  },\n  \"setAlwaysShowVerticalScroll\": {\n    \"description\": \"/** If `true`, the vertical scrollbar will always be present, even if not required. Otherwise it will only be displayed when necessary. */\",\n    \"type\": { \"arguments\": { \"show\": \"boolean\" } }\n  },\n  \"refreshCells\": {\n    \"description\": \"/** Performs change detection on all cells, refreshing cells where required. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"RefreshCellsParams<TData> = {}\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"flashCells\": {\n    \"description\": \"/** Flash rows, columns or individual cells. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"FlashCellsParams<TData> = {}\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"redrawRows\": {\n    \"description\": \"/** Remove row(s) from the DOM and recreate them again from scratch. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"RedrawRowsParams<TData> = {}\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setFunctionsReadOnly\": {\n    \"type\": { \"arguments\": { \"readOnly\": \"boolean\" } }\n  },\n  \"refreshHeader\": {\n    \"description\": \"/** Redraws the header. Useful if a column name changes, or something else that changes how the column header is displayed. */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"isAnyFilterPresent\": {\n    \"description\": \"/** Returns `true` if any filter is set. This includes quick filter, advanced filter or external filter. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isColumnFilterPresent\": {\n    \"description\": \"/** Returns `true` if any column filter is set, otherwise `false`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isQuickFilterPresent\": {\n    \"description\": \"/** Returns `true` if the Quick Filter is set, otherwise `false`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"getModel\": {\n    \"description\": \"/** Returns the row model inside the table.\\n     * From here you can see the original rows, rows after filter has been applied,\\n     * rows after aggregation has been applied, and the final set of 'to be displayed' rows.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"IRowModel\" }\n  },\n  \"setRowNodeExpanded\": {\n    \"description\": \"/** Expand or collapse a specific row node, optionally expanding/collapsing all of its parent nodes. */\",\n    \"type\": {\n      \"arguments\": {\n        \"rowNode\": \"IRowNode\",\n        \"expanded\": \"boolean\",\n        \"expandParents?\": \"boolean\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"onGroupExpandedOrCollapsed\": {\n    \"description\": \"/** Informs the grid that row group expanded state has changed and it needs to rerender the group nodes.\\n     * Typically called after updating the row node expanded state explicitly, i.e `rowNode.expanded = false`,\\n     * across multiple groups and you want to update the grid view in a single rerender instead of on every group change.\\n     */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"refreshClientSideRowModel\": {\n    \"description\": \"/** Refresh the Client-Side Row Model, executing the grouping, filtering and sorting again.\\n     * Optionally provide the step you wish the refresh to apply from. Defaults to `everything`.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"step?\": \"ClientSideRowModelStep\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"isAnimationFrameQueueEmpty\": {\n    \"description\": \"/** Returns `true` when there are no more animation frames left to process. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"flushAllAnimationFrames\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"getRowNode\": {\n    \"description\": \"/** Returns the row node with the given ID.\\n     * The row node ID is the one you provide from the callback `getRowId(params)`,\\n     * otherwise the ID is a number (cast as string) auto-generated by the grid when\\n     * the row data is set.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"id\": \"string\" },\n      \"returnType\": \"IRowNode<TData> | undefined\"\n    }\n  },\n  \"getSizesForCurrentTheme\": {\n    \"description\": \"/** Gets the sizes that various UI elements will be rendered at with the current theme.\\n     * If you override the row or header height using `gridOptions`, the override value you provided will be returned.\\n     */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"expandAll\": {\n    \"description\": \"/** Expand all groups. */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"collapseAll\": {\n    \"description\": \"/** Collapse all groups. */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"addRenderedRowListener\": {\n    \"description\": \"/** Registers a callback to a virtual row.\\n     * A virtual row is a row that is visually rendered on the screen (rows that are not visible because of the scroll position are not rendered).\\n     * Unlike normal events, you do not need to unregister rendered row listeners.\\n     * When the rendered row is removed from the grid, all associated rendered row listeners will also be removed.\\n     * listen for this event if your `cellRenderer` needs to do cleanup when the row no longer exists.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"eventName\": \"string\",\n        \"rowIndex\": \"number\",\n        \"callback\": \"Function\"\n      }\n    }\n  },\n  \"getQuickFilter\": {\n    \"description\": \"/** Get the current Quick Filter text from the grid, or `undefined` if none is set. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"string | undefined\" }\n  },\n  \"setQuickFilter\": {\n    \"description\": \"/** Pass a Quick Filter text into the grid for filtering. */\",\n    \"type\": { \"arguments\": { \"newFilter\": \"string\" }, \"returnType\": \"void\" }\n  },\n  \"setExcludeHiddenColumnsFromQuickFilter\": {\n    \"description\": \"/** \\n     * Updates the `excludeHiddenColumnsFromQuickFilter` grid option.\\n     * Set to `true` to exclude hidden columns from being checked by the Quick Filter (or `false` to include them).\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible.\\n     */\",\n    \"type\": { \"arguments\": { \"value\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"selectAll\": {\n    \"description\": \"/** Select all rows, regardless of filtering and rows that are not visible due to grouping being enabled and their groups not expanded.\\n     * @param source Source property that will appear in the `selectionChanged` event. Default: `'apiSelectAll'`\\n     */\",\n    \"type\": {\n      \"arguments\": { \"source\": \"SelectionEventSourceType = 'apiSelectAll'\" }\n    }\n  },\n  \"deselectAll\": {\n    \"description\": \"/** Clear all row selections, regardless of filtering.\\n     * @param source Source property that will appear in the `selectionChanged` event. Default: `'apiSelectAll'`\\n     */\",\n    \"type\": {\n      \"arguments\": { \"source\": \"SelectionEventSourceType = 'apiSelectAll'\" }\n    }\n  },\n  \"selectAllFiltered\": {\n    \"description\": \"/** Select all filtered rows.\\n     * @param source Source property that will appear in the `selectionChanged` event. Default: `'apiSelectAllFiltered'`\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"source\": \"SelectionEventSourceType = 'apiSelectAllFiltered'\"\n      }\n    }\n  },\n  \"deselectAllFiltered\": {\n    \"description\": \"/** Clear all filtered selections.\\n     * @param source Source property that will appear in the `selectionChanged` event. Default: `'apiSelectAllFiltered'`\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"source\": \"SelectionEventSourceType = 'apiSelectAllFiltered'\"\n      }\n    }\n  },\n  \"getServerSideSelectionState\": {\n    \"description\": \"/** Returns an object containing rules matching the selected rows in the SSRM.\\n     * \\n     * If `groupSelectsChildren=false` the returned object will be flat, and will conform to IServerSideSelectionState.\\n     * If `groupSelectsChildren=true` the retuned object will be hierarchical, and will conform to IServerSideGroupSelectionState.\\n     */\",\n    \"type\": {\n      \"arguments\": {},\n      \"returnType\": \"IServerSideSelectionState | IServerSideGroupSelectionState | null\"\n    }\n  },\n  \"setServerSideSelectionState\": {\n    \"description\": \"/** Set the rules matching the selected rows in the SSRM.\\n     * \\n     * If `groupSelectsChildren=false` the param will be flat, and should conform to IServerSideSelectionState.\\n     * If `groupSelectsChildren=true` the param will be hierarchical, and should conform to IServerSideGroupSelectionState.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"state\": \"IServerSideSelectionState | IServerSideGroupSelectionState\"\n      }\n    }\n  },\n  \"selectAllOnCurrentPage\": {\n    \"description\": \"/** Select all rows on the current page.\\n     * @param source Source property that will appear in the `selectionChanged` event. Default: `'apiSelectAllCurrentPage'`\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"source\": \"SelectionEventSourceType = 'apiSelectAllCurrentPage'\"\n      }\n    }\n  },\n  \"deselectAllOnCurrentPage\": {\n    \"description\": \"/** Clear all filtered on the current page.\\n     * @param source Source property that will appear in the `selectionChanged` event. Default: `'apiSelectAllCurrentPage'`\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"source\": \"SelectionEventSourceType = 'apiSelectAllCurrentPage'\"\n      }\n    }\n  },\n  \"sizeColumnsToFit\": {\n    \"description\": \"/** Sets columns to adjust in size to fit the grid horizontally.\\n     **/\",\n    \"type\": { \"arguments\": { \"params?\": \"ISizeColumnsToFitParams\" } }\n  },\n  \"showLoadingOverlay\": {\n    \"description\": \"/** Show the 'loading' overlay. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"showNoRowsOverlay\": {\n    \"description\": \"/** Show the 'no rows' overlay. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"hideOverlay\": {\n    \"description\": \"/** Hides the overlay if showing. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"getSelectedNodes\": {\n    \"description\": \"/** Returns an unsorted list of selected nodes.\\n     * Getting the underlying node (rather than the data) is useful when working with tree / aggregated data,\\n     * as the node can be traversed.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"IRowNode<TData>[]\" }\n  },\n  \"getSelectedRows\": {\n    \"description\": \"/** Returns an unsorted list of selected rows (i.e. row data that you provided). */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"TData[]\" }\n  },\n  \"getBestCostNodeSelection\": {\n    \"description\": \"/** Returns a list of all selected nodes at 'best cost', a feature to be used with groups / trees.\\n     * If a group has all its children selected, then the group appears in the result, but not the children.\\n     * Designed for use with `'children'` as the group selection type, where groups don't actually appear in the selection normally.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"IRowNode<TData>[] | undefined\" }\n  },\n  \"getRenderedNodes\": {\n    \"description\": \"/** Retrieve rendered nodes. Due to virtualisation this will contain only the current visible rows and those in the buffer. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"IRowNode<TData>[]\" }\n  },\n  \"ensureColumnVisible\": {\n    \"description\": \"/**  Ensures the column is visible by scrolling the table if needed.\\n     *\\n     * This will have no effect before the firstDataRendered event has fired.\\n     *\\n     * @param key - The column to ensure visible\\n     * @param position - Where the column will be positioned.\\n     * - `auto` - Scrolls the minimum amount to make sure the column is visible.\\n     * - `start` - Scrolls the column to the start of the viewport.\\n     * - `middle` - Scrolls the column to the middle of the viewport.\\n     * - `end` - Scrolls the column to the end of the viewport.\\n    */\",\n    \"type\": {\n      \"arguments\": {\n        \"key\": \"string | Column\",\n        \"position\": \"'auto' | 'start' | 'middle' | 'end' = 'auto'\"\n      }\n    }\n  },\n  \"ensureIndexVisible\": {\n    \"description\": \"/** Vertically scrolls the grid until the provided row index is inside the visible viewport.\\n     * If a position is provided, the grid will attempt to scroll until the row is at the given position within the viewport.\\n     * This will have no effect before the firstDataRendered event has fired.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"index\": \"number\",\n        \"position?\": \"'top' | 'bottom' | 'middle' | null\"\n      }\n    }\n  },\n  \"ensureNodeVisible\": {\n    \"description\": \"/** Vertically scrolls the grid until the provided row (or a row matching the provided comparator) is inside the visible viewport.\\n     * If a position is provided, the grid will attempt to scroll until the row is at the given position within the viewport.\\n     * This will have no effect before the firstDataRendered event has fired.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"nodeSelector\": \"TData | IRowNode<TData> | ((row: IRowNode<TData>) => boolean)\",\n        \"position\": \"'top' | 'bottom' | 'middle' | null = null\"\n      }\n    }\n  },\n  \"forEachLeafNode\": {\n    \"description\": \"/** Similar to `forEachNode`, except lists all the leaf nodes.\\n     * This effectively goes through all the data that you provided to the grid before the grid performed any grouping.\\n     * If using tree data, goes through all the nodes for the data you provided, including nodes that have children,\\n     * but excluding groups the grid created where gaps were missing in the hierarchy.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"callback\": \"(rowNode: IRowNode<TData>) => void\" }\n    }\n  },\n  \"forEachNode\": {\n    \"description\": \"/** Iterates through each node (row) in the grid and calls the callback for each node.\\n     * This works similar to the `forEach` method on a JavaScript array.\\n     * This is called for every node, ignoring any filtering or sorting applied within the grid.\\n     * If using the Infinite Row Model, then this gets called for each page loaded in the page cache.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"callback\": \"(rowNode: IRowNode<TData>, index: number) => void\",\n        \"includeFooterNodes?\": \"boolean\"\n      }\n    }\n  },\n  \"forEachNodeAfterFilter\": {\n    \"description\": \"/** Similar to `forEachNode`, except skips any filtered out data. */\",\n    \"type\": {\n      \"arguments\": {\n        \"callback\": \"(rowNode: IRowNode<TData>, index: number) => void\"\n      }\n    }\n  },\n  \"forEachNodeAfterFilterAndSort\": {\n    \"description\": \"/** Similar to `forEachNodeAfterFilter`, except the callbacks are called in the order the rows are displayed in the grid. */\",\n    \"type\": {\n      \"arguments\": {\n        \"callback\": \"(rowNode: IRowNode<TData>, index: number) => void\"\n      }\n    }\n  },\n  \"getFilterInstance\": {\n    \"description\": \"/** Returns the filter component instance for a column.     \\n     * `key` can be a string field name or a ColDef object (matches on object reference, useful if field names are not unique).\\n     * If your filter is created asynchronously, `getFilterInstance` will return `null` so you will need to use the `callback` to access the filter instance instead.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"key\": \"string | Column\",\n        \"callback?\": \"(filter: TFilter | null) => void\"\n      },\n      \"returnType\": \"TFilter | null | undefined\"\n    }\n  },\n  \"destroyFilter\": {\n    \"description\": \"/** Destroys a filter. Useful to force a particular filter to be created from scratch again. */\",\n    \"type\": { \"arguments\": { \"key\": \"string | Column\" } }\n  },\n  \"getStatusPanel\": {\n    \"description\": \"/** Gets the status panel instance corresponding to the supplied `id`. */\",\n    \"type\": {\n      \"arguments\": { \"key\": \"string\" },\n      \"returnType\": \"TStatusPanel | undefined\"\n    }\n  },\n  \"getColumnDef\": {\n    \"type\": {\n      \"arguments\": { \"key\": \"string | Column\" },\n      \"returnType\": \"ColDef<TData> | null\"\n    }\n  },\n  \"getColumnDefs\": {\n    \"description\": \"/** Returns the current column definitions.\\n    */\",\n    \"type\": {\n      \"arguments\": {},\n      \"returnType\": \"(ColDef<TData> | ColGroupDef<TData>)[] | undefined\"\n    }\n  },\n  \"onFilterChanged\": {\n    \"description\": \"/** Informs the grid that a filter has changed. This is typically called after a filter change through one of the filter APIs. */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"onSortChanged\": {\n    \"description\": \"/** Gets the grid to act as if the sort was changed.\\n     * Useful if you update some values and want to get the grid to reorder them according to the new values.\\n     */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"setFilterModel\": {\n    \"description\": \"/** Sets the state of all the advanced filters. Provide it with what you get from `getFilterModel()` to restore filter state. */\",\n    \"type\": { \"arguments\": { \"model\": \"any\" } }\n  },\n  \"getFilterModel\": {\n    \"description\": \"/** Gets the current state of all the advanced filters. Used for saving filter state. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"{ [key: string]: any; }\" }\n  },\n  \"getFocusedCell\": {\n    \"description\": \"/** Returns the focused cell (or the last focused cell if the grid lost focus). */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"CellPosition | null\" }\n  },\n  \"clearFocusedCell\": {\n    \"description\": \"/** Clears the focused cell. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"setFocusedCell\": {\n    \"description\": \"/** Sets the focus to the specified cell. `rowPinned` can be either 'top', 'bottom' or null (for not pinned). */\",\n    \"type\": {\n      \"arguments\": {\n        \"rowIndex\": \"number\",\n        \"colKey\": \"string | Column\",\n        \"rowPinned?\": \"RowPinnedType\"\n      }\n    }\n  },\n  \"setSuppressRowDrag\": {\n    \"description\": \"/** Sets the `suppressRowDrag` property. */\",\n    \"type\": { \"arguments\": { \"value\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"setSuppressMoveWhenRowDragging\": {\n    \"description\": \"/** Sets the `suppressMoveWhenRowDragging` property. */\",\n    \"type\": { \"arguments\": { \"value\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"setSuppressRowClickSelection\": {\n    \"description\": \"/** Sets the `suppressRowClickSelection` property. */\",\n    \"type\": { \"arguments\": { \"value\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"addRowDropZone\": {\n    \"description\": \"/** Adds a drop zone outside of the grid where rows can be dropped. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"RowDropZoneParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removeRowDropZone\": {\n    \"description\": \"/** Removes an external drop zone added by `addRowDropZone`. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"RowDropZoneParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getRowDropZoneParams\": {\n    \"description\": \"/** Returns the `RowDropZoneParams` to be used by another grid's `addRowDropZone` method. */\",\n    \"type\": {\n      \"arguments\": { \"events?\": \"RowDropZoneEvents\" },\n      \"returnType\": \"RowDropZoneParams\"\n    }\n  },\n  \"setHeaderHeight\": {\n    \"description\": \"/** Sets the height in pixels for the row containing the column label header. */\",\n    \"type\": { \"arguments\": { \"headerHeight?\": \"number\" } }\n  },\n  \"setDomLayout\": {\n    \"description\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Defaults to `normal` if no domLayout provided.\\n     */\",\n    \"type\": { \"arguments\": { \"domLayout?\": \"DomLayoutType\" } }\n  },\n  \"setEnableCellTextSelection\": {\n    \"description\": \"/** Sets the `enableCellTextSelection` property. */\",\n    \"type\": { \"arguments\": { \"selectable\": \"boolean\" } }\n  },\n  \"setFillHandleDirection\": {\n    \"description\": \"/** Sets the preferred direction for the selection fill handle. */\",\n    \"type\": { \"arguments\": { \"direction\": \"'x' | 'y' | 'xy'\" } }\n  },\n  \"setGroupHeaderHeight\": {\n    \"description\": \"/** Sets the height in pixels for the rows containing header column groups. */\",\n    \"type\": { \"arguments\": { \"headerHeight?\": \"number\" } }\n  },\n  \"setFloatingFiltersHeight\": {\n    \"description\": \"/** Sets the height in pixels for the row containing the floating filters. */\",\n    \"type\": { \"arguments\": { \"headerHeight?\": \"number\" } }\n  },\n  \"setPivotHeaderHeight\": {\n    \"description\": \"/** Sets the height in pixels for the row containing the columns when in pivot mode. */\",\n    \"type\": { \"arguments\": { \"headerHeight?\": \"number\" } }\n  },\n  \"setPivotGroupHeaderHeight\": {\n    \"description\": \"/** Sets the height in pixels for the row containing header column groups when in pivot mode. */\",\n    \"type\": { \"arguments\": { \"headerHeight?\": \"number\" } }\n  },\n  \"setPivotMode\": { \"type\": { \"arguments\": { \"pivotMode\": \"boolean\" } } },\n  \"setAnimateRows\": {\n    \"type\": { \"arguments\": { \"animateRows\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"setIsExternalFilterPresent\": {\n    \"type\": {\n      \"arguments\": { \"isExternalFilterPresentFunc\": \"() => boolean\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setDoesExternalFilterPass\": {\n    \"type\": {\n      \"arguments\": {\n        \"doesExternalFilterPassFunc\": \"(node: IRowNode) => boolean\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setNavigateToNextCell\": {\n    \"type\": {\n      \"arguments\": {\n        \"navigateToNextCellFunc\": \"(params: NavigateToNextCellParams) => (CellPosition | null)\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setTabToNextCell\": {\n    \"type\": {\n      \"arguments\": {\n        \"tabToNextCellFunc\": \"(params: TabToNextCellParams) => (CellPosition | null)\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setTabToNextHeader\": {\n    \"type\": {\n      \"arguments\": {\n        \"tabToNextHeaderFunc\": \"(params: TabToNextHeaderParams) => (HeaderPosition | null)\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setNavigateToNextHeader\": {\n    \"type\": {\n      \"arguments\": {\n        \"navigateToNextHeaderFunc\": \"(params: NavigateToNextHeaderParams) => (HeaderPosition | null)\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setRowGroupPanelShow\": {\n    \"type\": {\n      \"arguments\": {\n        \"rowGroupPanelShow\": \"'always' | 'onlyWhenGrouping' | 'never'\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGroupRowAggNodes\": {\n    \"description\": \"/** @deprecated v27.2 - Use `setGetGroupRowAgg` instead. */\",\n    \"type\": {\n      \"arguments\": { \"groupRowAggNodesFunc\": \"(nodes: IRowNode[]) => any\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetGroupRowAgg\": {\n    \"type\": {\n      \"arguments\": {\n        \"getGroupRowAggFunc\": \"(params: GetGroupRowAggParams) => any\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetBusinessKeyForNode\": {\n    \"type\": {\n      \"arguments\": {\n        \"getBusinessKeyForNodeFunc\": \"(nodes: IRowNode) => string\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetChildCount\": {\n    \"type\": {\n      \"arguments\": { \"getChildCountFunc\": \"(dataItem: any) => number\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setProcessRowPostCreate\": {\n    \"type\": {\n      \"arguments\": {\n        \"processRowPostCreateFunc\": \"(params: ProcessRowParams) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetRowNodeId\": {\n    \"description\": \"/** @deprecated v27.1 Use `setGetRowId` instead  */\",\n    \"type\": {\n      \"arguments\": { \"getRowNodeIdFunc\": \"GetRowNodeIdFunc\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetRowId\": {\n    \"type\": {\n      \"arguments\": { \"getRowIdFunc\": \"GetRowIdFunc\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetRowClass\": {\n    \"type\": {\n      \"arguments\": {\n        \"rowClassFunc\": \"(params: RowClassParams) => string | string[]\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setIsFullWidthCell\": {\n    \"description\": \"/** @deprecated v27.2 Use `setIsFullWidthRow` instead. */\",\n    \"type\": {\n      \"arguments\": { \"isFullWidthCellFunc\": \"(rowNode: IRowNode) => boolean\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setIsFullWidthRow\": {\n    \"type\": {\n      \"arguments\": {\n        \"isFullWidthRowFunc\": \"(params: IsFullWidthRowParams) => boolean\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setIsRowSelectable\": {\n    \"type\": {\n      \"arguments\": { \"isRowSelectableFunc\": \"IsRowSelectable\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setIsRowMaster\": {\n    \"type\": {\n      \"arguments\": { \"isRowMasterFunc\": \"IsRowMaster\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setPostSort\": {\n    \"description\": \"/** @deprecated v27.2 Use `setPostSortRows` instead */\",\n    \"type\": {\n      \"arguments\": { \"postSortFunc\": \"(nodes: IRowNode[]) => void\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setPostSortRows\": {\n    \"type\": {\n      \"arguments\": {\n        \"postSortRowsFunc\": \"(params: PostSortRowsParams) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetDocument\": {\n    \"type\": {\n      \"arguments\": { \"getDocumentFunc\": \"() => Document\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetContextMenuItems\": {\n    \"type\": {\n      \"arguments\": { \"getContextMenuItemsFunc\": \"GetContextMenuItems\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetMainMenuItems\": {\n    \"type\": {\n      \"arguments\": { \"getMainMenuItemsFunc\": \"GetMainMenuItems\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setProcessCellForClipboard\": {\n    \"type\": {\n      \"arguments\": {\n        \"processCellForClipboardFunc\": \"(params: ProcessCellForExportParams) => any\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setSendToClipboard\": {\n    \"type\": {\n      \"arguments\": {\n        \"sendToClipboardFunc\": \"(params: { data: string; }) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setProcessCellFromClipboard\": {\n    \"type\": {\n      \"arguments\": {\n        \"processCellFromClipboardFunc\": \"(params: ProcessCellForExportParams) => any\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setProcessSecondaryColDef\": {\n    \"description\": \"/** @deprecated v28 use `setProcessPivotResultColDef` instead */\",\n    \"type\": {\n      \"arguments\": { \"processSecondaryColDefFunc\": \"(colDef: ColDef) => void\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setProcessSecondaryColGroupDef\": {\n    \"description\": \"/** @deprecated v28 use `setProcessPivotResultColGroupDef` instead */\",\n    \"type\": {\n      \"arguments\": {\n        \"processSecondaryColGroupDefFunc\": \"(colDef: ColDef) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setProcessPivotResultColDef\": {\n    \"type\": {\n      \"arguments\": {\n        \"processPivotResultColDefFunc\": \"(colDef: ColDef) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setProcessPivotResultColGroupDef\": {\n    \"type\": {\n      \"arguments\": {\n        \"processPivotResultColGroupDefFunc\": \"(colDef: ColDef) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setPostProcessPopup\": {\n    \"type\": {\n      \"arguments\": {\n        \"postProcessPopupFunc\": \"(params: PostProcessPopupParams) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setDefaultGroupOrderComparator\": {\n    \"description\": \"/** @deprecated v27.2 - Use `setInitialGroupOrderComparator` instead */\",\n    \"type\": {\n      \"arguments\": {\n        \"defaultGroupOrderComparatorFunc\": \"(nodeA: IRowNode, nodeB: IRowNode) => number\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setInitialGroupOrderComparator\": {\n    \"type\": {\n      \"arguments\": {\n        \"initialGroupOrderComparatorFunc\": \"(params: InitialGroupOrderComparatorParams) => number\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetChartToolbarItems\": {\n    \"type\": {\n      \"arguments\": { \"getChartToolbarItemsFunc\": \"GetChartToolbarItems\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setPaginationNumberFormatter\": {\n    \"type\": {\n      \"arguments\": {\n        \"paginationNumberFormatterFunc\": \"(params: PaginationNumberFormatterParams) => string\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetServerSideStoreParams\": {\n    \"description\": \"/** @deprecated v28 use setGetServerSideGroupLevelParams instead */\",\n    \"type\": {\n      \"arguments\": {\n        \"getServerSideStoreParamsFunc\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetServerSideGroupLevelParams\": {\n    \"type\": {\n      \"arguments\": {\n        \"getServerSideGroupLevelParamsFunc\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setIsServerSideGroupOpenByDefault\": {\n    \"type\": {\n      \"arguments\": {\n        \"isServerSideGroupOpenByDefaultFunc\": \"(params: IsServerSideGroupOpenByDefaultParams) => boolean\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setIsApplyServerSideTransaction\": {\n    \"type\": {\n      \"arguments\": {\n        \"isApplyServerSideTransactionFunc\": \"IsApplyServerSideTransaction\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setIsServerSideGroup\": {\n    \"type\": {\n      \"arguments\": { \"isServerSideGroupFunc\": \"IsServerSideGroup\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetServerSideGroupKey\": {\n    \"type\": {\n      \"arguments\": { \"getServerSideGroupKeyFunc\": \"GetServerSideGroupKey\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetRowStyle\": {\n    \"type\": {\n      \"arguments\": { \"rowStyleFunc\": \"(params: RowClassParams) => {}\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setGetRowHeight\": {\n    \"type\": {\n      \"arguments\": { \"rowHeightFunc\": \"(params: RowHeightParams) => number\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isSideBarVisible\": {\n    \"description\": \"/** Returns `true` if the side bar is visible. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"setSideBarVisible\": {\n    \"description\": \"/** Show/hide the entire side bar, including any visible panel and the tab buttons. */\",\n    \"type\": { \"arguments\": { \"show\": \"boolean\" } }\n  },\n  \"setSideBarPosition\": {\n    \"description\": \"/** Sets the side bar position relative to the grid. Possible values are `'left'` or `'right'`. */\",\n    \"type\": { \"arguments\": { \"position\": \"'left' | 'right'\" } }\n  },\n  \"openToolPanel\": {\n    \"description\": \"/** Opens a particular tool panel. Provide the ID of the tool panel to open. */\",\n    \"type\": { \"arguments\": { \"key\": \"string\" } }\n  },\n  \"closeToolPanel\": {\n    \"description\": \"/** Closes the currently open tool panel (if any). */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"getOpenedToolPanel\": {\n    \"description\": \"/** Returns the ID of the currently shown tool panel if any, otherwise `null`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"string | null\" }\n  },\n  \"refreshToolPanel\": {\n    \"description\": \"/** Force refresh all tool panels by calling their `refresh` method. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"isToolPanelShowing\": {\n    \"description\": \"/** Returns `true` if the tool panel is showing, otherwise `false`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"getToolPanelInstance\": {\n    \"description\": \"/** Gets the tool panel instance corresponding to the supplied `id`. */\",\n    \"type\": {\n      \"arguments\": { \"id\": \"string\" },\n      \"returnType\": \"TToolPanel | undefined\"\n    }\n  },\n  \"getSideBar\": {\n    \"description\": \"/** Returns the current side bar configuration. If a shortcut was used, returns the detailed long form. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"SideBarDef | undefined\" }\n  },\n  \"setSideBar\": {\n    \"description\": \"/** Resets the side bar to the provided configuration. The parameter is the same as the sideBar grid property. The side bar is re-created from scratch with the new config. */\",\n    \"type\": {\n      \"arguments\": { \"def\": \"SideBarDef | string | string[] | boolean\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setSuppressClipboardPaste\": {\n    \"type\": { \"arguments\": { \"value\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"resetRowHeights\": {\n    \"description\": \"/** Tells the grid to recalculate the row heights. */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"setGroupRemoveSingleChildren\": {\n    \"type\": { \"arguments\": { \"value\": \"boolean\" } }\n  },\n  \"setGroupRemoveLowestSingleChildren\": {\n    \"type\": { \"arguments\": { \"value\": \"boolean\" } }\n  },\n  \"setGroupDisplayType\": {\n    \"type\": { \"arguments\": { \"value\": \"RowGroupingDisplayType\" } }\n  },\n  \"setRowClass\": {\n    \"type\": {\n      \"arguments\": { \"className\": \"string | undefined\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setDeltaSort\": {\n    \"description\": \"/** Sets the `deltaSort` property */\",\n    \"type\": { \"arguments\": { \"enable\": \"boolean\" }, \"returnType\": \"void\" }\n  },\n  \"setRowCount\": {\n    \"description\": \"/** Sets the `rowCount` and `maxRowFound` properties.\\n     * The second parameter, `maxRowFound`, is optional and if left out, only `rowCount` is set.\\n     * Set `rowCount` to adjust the height of the vertical scroll.\\n     * Set `maxRowFound` to enable / disable searching for more rows.\\n     * Use this method if you add or remove rows into the dataset and need to reset the number of rows or instruct the grid that the entire row count is no longer known.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"rowCount\": \"number\", \"maxRowFound?\": \"boolean\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"onRowHeightChanged\": {\n    \"description\": \"/** Tells the grid a row height has changed. To be used after calling `rowNode.setRowHeight(newHeight)`. */\",\n    \"type\": { \"arguments\": {} }\n  },\n  \"getValue\": {\n    \"description\": \"/** Gets the value for a column for a particular `rowNode` (row).\\n     * This is useful if you want the raw value of a cell e.g. if implementing your own CSV export.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"colKey\": \"string | Column\", \"rowNode\": \"IRowNode\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"addEventListener\": {\n    \"description\": \"/** Add an event listener for the specified `eventType`. Works similar to `addEventListener` for a browser DOM element. */\",\n    \"type\": {\n      \"arguments\": { \"eventType\": \"string\", \"listener\": \"Function\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addGlobalListener\": {\n    \"description\": \"/** Add an event listener for all event types coming from the grid. */\",\n    \"type\": { \"arguments\": { \"listener\": \"Function\" }, \"returnType\": \"void\" }\n  },\n  \"removeEventListener\": {\n    \"description\": \"/** Remove an event listener. */\",\n    \"type\": {\n      \"arguments\": { \"eventType\": \"string\", \"listener\": \"Function\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removeGlobalListener\": {\n    \"description\": \"/** Remove a global event listener. */\",\n    \"type\": { \"arguments\": { \"listener\": \"Function\" }, \"returnType\": \"void\" }\n  },\n  \"dispatchEvent\": {\n    \"type\": { \"arguments\": { \"event\": \"AgEvent\" }, \"returnType\": \"void\" }\n  },\n  \"destroy\": {\n    \"description\": \"/** Will destroy the grid and release resources. If you are using a framework you do not need to call this, as the grid links in with the framework lifecycle. However if you are using Web Components or native JavaScript, you do need to call this, to avoid a memory leak in your application. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"resetQuickFilter\": {\n    \"description\": \"/** Reset the Quick Filter cache text on every rowNode. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"getCellRanges\": {\n    \"description\": \"/** Returns the list of selected cell ranges. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"CellRange[] | null\" }\n  },\n  \"addCellRange\": {\n    \"description\": \"/** Adds the provided cell range to the selected ranges. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"CellRangeParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"clearRangeSelection\": {\n    \"description\": \"/** Clears the selected ranges. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"undoCellEditing\": {\n    \"description\": \"/** Reverts the last cell edit. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"redoCellEditing\": {\n    \"description\": \"/** Re-applies the most recently undone cell edit. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"getCurrentUndoSize\": {\n    \"description\": \"/** Returns current number of available cell edit undo operations. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"getCurrentRedoSize\": {\n    \"description\": \"/** Returns current number of available cell edit redo operations. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"getChartModels\": {\n    \"description\": \"/** Returns a list of models with information about the charts that are currently rendered from the grid. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"ChartModel[] | undefined\" }\n  },\n  \"getChartRef\": {\n    \"description\": \"/** Returns the `ChartRef` using the supplied `chartId`. */\",\n    \"type\": {\n      \"arguments\": { \"chartId\": \"string\" },\n      \"returnType\": \"ChartRef | undefined\"\n    }\n  },\n  \"getChartImageDataURL\": {\n    \"description\": \"/** Returns a base64-encoded image data URL for the referenced chartId. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"GetChartImageDataUrlParams\" },\n      \"returnType\": \"string | undefined\"\n    }\n  },\n  \"downloadChart\": {\n    \"description\": \"/** Starts a browser-based image download for the referenced chartId. */\",\n    \"type\": { \"arguments\": { \"params\": \"ChartDownloadParams\" } }\n  },\n  \"openChartToolPanel\": {\n    \"description\": \"/** Open the Chart Tool Panel. */\",\n    \"type\": { \"arguments\": { \"params\": \"OpenChartToolPanelParams\" } }\n  },\n  \"closeChartToolPanel\": {\n    \"description\": \"/** Close the Chart Tool Panel. */\",\n    \"type\": { \"arguments\": { \"params\": \"CloseChartToolPanelParams\" } }\n  },\n  \"createRangeChart\": {\n    \"description\": \"/** Used to programmatically create charts from a range. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"CreateRangeChartParams\" },\n      \"returnType\": \"ChartRef | undefined\"\n    }\n  },\n  \"createCrossFilterChart\": {\n    \"description\": \"/** Used to programmatically create cross filter charts from a range. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"CreateCrossFilterChartParams\" },\n      \"returnType\": \"ChartRef | undefined\"\n    }\n  },\n  \"restoreChart\": {\n    \"description\": \"/** Restores a chart using the `ChartModel` that was previously obtained from `getChartModels()`. */\",\n    \"type\": {\n      \"arguments\": {\n        \"chartModel\": \"ChartModel\",\n        \"chartContainer?\": \"HTMLElement\"\n      },\n      \"returnType\": \"ChartRef | undefined\"\n    }\n  },\n  \"createPivotChart\": {\n    \"description\": \"/** Used to programmatically create pivot charts from a grid. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"CreatePivotChartParams\" },\n      \"returnType\": \"ChartRef | undefined\"\n    }\n  },\n  \"copyToClipboard\": {\n    \"description\": \"/** Copies data to clipboard by following the same rules as pressing Ctrl+C. */\",\n    \"type\": { \"arguments\": { \"params?\": \"IClipboardCopyParams\" } }\n  },\n  \"cutToClipboard\": {\n    \"description\": \"/** Cuts data to clipboard by following the same rules as pressing Ctrl+X. */\",\n    \"type\": { \"arguments\": { \"params?\": \"IClipboardCopyParams\" } }\n  },\n  \"copySelectedRowsToClipboard\": {\n    \"description\": \"/** Copies the selected rows to the clipboard. */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"IClipboardCopyRowsParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"copySelectedRangeToClipboard\": {\n    \"description\": \"/** Copies the selected ranges to the clipboard. */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"IClipboardCopyParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"copySelectedRangeDown\": {\n    \"description\": \"/** Copies the selected range down, similar to `Ctrl + D` in Excel. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"showColumnMenuAfterButtonClick\": {\n    \"description\": \"/** Shows the column menu after and positions it relative to the provided button element. Use in conjunction with your own header template. */\",\n    \"type\": {\n      \"arguments\": {\n        \"colKey\": \"string | Column\",\n        \"buttonElement\": \"HTMLElement\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"showColumnMenuAfterMouseClick\": {\n    \"description\": \"/** Shows the column menu after and positions it relative to the mouse event. Use in conjunction with your own header template. */\",\n    \"type\": {\n      \"arguments\": {\n        \"colKey\": \"string | Column\",\n        \"mouseEvent\": \"MouseEvent | Touch\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"hidePopupMenu\": {\n    \"description\": \"/** Hides any visible context menu or column menu. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"setPopupParent\": {\n    \"description\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n    \"type\": {\n      \"arguments\": { \"ePopupParent\": \"HTMLElement\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"tabToNextCell\": {\n    \"description\": \"/** Navigates the grid focus to the next cell, as if tabbing. */\",\n    \"type\": {\n      \"arguments\": { \"event?\": \"KeyboardEvent\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"tabToPreviousCell\": {\n    \"description\": \"/** Navigates the grid focus to the previous cell, as if shift-tabbing. */\",\n    \"type\": {\n      \"arguments\": { \"event?\": \"KeyboardEvent\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"getCellRendererInstances\": {\n    \"description\": \"/** Returns the list of active cell renderer instances. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"GetCellRendererInstancesParams<TData> = {}\" },\n      \"returnType\": \"ICellRenderer[]\"\n    }\n  },\n  \"getCellEditorInstances\": {\n    \"description\": \"/** Returns the list of active cell editor instances. Optionally provide parameters to restrict to certain columns / row nodes. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"GetCellEditorInstancesParams<TData> = {}\" },\n      \"returnType\": \"ICellEditor[]\"\n    }\n  },\n  \"getEditingCells\": {\n    \"description\": \"/** If the grid is editing, returns back details of the editing cell(s). */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"CellPosition[]\" }\n  },\n  \"stopEditing\": {\n    \"description\": \"/** If a cell is editing, it stops the editing. Pass `true` if you want to cancel the editing (i.e. don't accept changes). */\",\n    \"type\": {\n      \"arguments\": { \"cancel\": \"boolean = false\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"startEditingCell\": {\n    \"description\": \"/** Start editing the provided cell. If another cell is editing, the editing will be stopped in that other cell. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"StartEditingCellParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addAggFunc\": {\n    \"description\": \"/** Add an aggregation function with the specified key. */\",\n    \"type\": {\n      \"arguments\": { \"key\": \"string\", \"aggFunc\": \"IAggFunc\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"addAggFuncs\": {\n    \"description\": \"/** Add aggregations function with the specified keys. */\",\n    \"type\": {\n      \"arguments\": { \"aggFuncs\": \"{ [key: string]: IAggFunc; }\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"clearAggFuncs\": {\n    \"description\": \"/** Clears all aggregation functions (including those provided by the grid). */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"applyServerSideTransaction\": {\n    \"description\": \"/** Apply transactions to the server side row model. */\",\n    \"type\": {\n      \"arguments\": { \"transaction\": \"ServerSideTransaction\" },\n      \"returnType\": \"ServerSideTransactionResult | undefined\"\n    }\n  },\n  \"applyServerSideTransactionAsync\": {\n    \"description\": \"/** Batch apply transactions to the server side row model. */\",\n    \"type\": {\n      \"arguments\": {\n        \"transaction\": \"ServerSideTransaction\",\n        \"callback?\": \"(res: ServerSideTransactionResult) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"retryServerSideLoads\": {\n    \"description\": \"/** Gets all failed server side loads to retry. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"flushServerSideAsyncTransactions\": {\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"applyTransaction\": {\n    \"description\": \"/** Update row data. Pass a transaction object with lists for `add`, `remove` and `update`. */\",\n    \"type\": {\n      \"arguments\": { \"rowDataTransaction\": \"RowDataTransaction<TData>\" },\n      \"returnType\": \"RowNodeTransaction<TData> | null | undefined\"\n    }\n  },\n  \"applyTransactionAsync\": {\n    \"description\": \"/** Same as `applyTransaction` except executes asynchronously for efficiency. */\",\n    \"type\": {\n      \"arguments\": {\n        \"rowDataTransaction\": \"RowDataTransaction<TData>\",\n        \"callback?\": \"(res: RowNodeTransaction<TData>) => void\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"flushAsyncTransactions\": {\n    \"description\": \"/** Executes any remaining asynchronous grid transactions, if any are waiting to be executed. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"setSuppressModelUpdateAfterUpdateTransaction\": {\n    \"type\": { \"arguments\": { \"value\": \"boolean\" } }\n  },\n  \"refreshInfiniteCache\": {\n    \"description\": \"/** Marks all the currently loaded blocks in the cache for reload.\\n     * If you have 10 blocks in the cache, all 10 will be marked for reload.\\n     * The old data will continue to be displayed until the new data is loaded.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"purgeInfiniteCache\": {\n    \"description\": \"/** Purges the cache.\\n     * The grid is then told to refresh. Only the blocks required to display the current data on screen are fetched (typically no more than 2).\\n     * The grid will display nothing while the new blocks are loaded.\\n     * Use this to immediately remove the old data from the user.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"refreshServerSide\": {\n    \"description\": \"/** Refresh a server-side store level.\\n     * If you pass no parameters, then the top level store is refreshed.\\n     * To refresh a child level, pass in the string of keys to get to the desired level.\\n     * Once the store refresh is complete, the storeRefreshed event is fired.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"RefreshServerSideParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"refreshServerSideStore\": {\n    \"description\": \"/** @deprecated v28 use `refreshServerSide` instead */\",\n    \"type\": {\n      \"arguments\": { \"params?\": \"RefreshServerSideParams\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getServerSideStoreState\": {\n    \"description\": \"/** @deprecated v28 use `getServerSideGroupLevelState` instead */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"ServerSideGroupLevelState[]\" }\n  },\n  \"getServerSideGroupLevelState\": {\n    \"description\": \"/** Returns info on all server side group levels. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"ServerSideGroupLevelState[]\" }\n  },\n  \"getInfiniteRowCount\": {\n    \"description\": \"/** The row count defines how many rows the grid allows scrolling to. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number | undefined\" }\n  },\n  \"isLastRowIndexKnown\": {\n    \"description\": \"/** Returns `true` if grid allows for scrolling past the last row to load more rows, thus providing infinite scroll. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean | undefined\" }\n  },\n  \"getCacheBlockState\": {\n    \"description\": \"/** Returns an object representing the state of the cache. This is useful for debugging and understanding how the cache is working.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"any\" }\n  },\n  \"getFirstDisplayedRow\": {\n    \"description\": \"/** Get the index of the first displayed row due to scrolling (includes invisible rendered rows in the buffer). */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"getLastDisplayedRow\": {\n    \"description\": \"/** Get the index of the last displayed row due to scrolling (includes invisible rendered rows in the buffer). */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"getDisplayedRowAtIndex\": {\n    \"description\": \"/** Returns the displayed `RowNode` at the given `index`. */\",\n    \"type\": {\n      \"arguments\": { \"index\": \"number\" },\n      \"returnType\": \"IRowNode<TData> | undefined\"\n    }\n  },\n  \"getDisplayedRowCount\": {\n    \"description\": \"/** Returns the total number of displayed rows. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"setPagination\": {\n    \"description\": \"/** Set whether the grid paginates the data or not.\\n     *  - `true` to enable pagination\\n     *  - `false` to disable pagination\\n     */\",\n    \"type\": { \"arguments\": { \"value\": \"boolean\" } }\n  },\n  \"paginationIsLastPageFound\": {\n    \"description\": \"/** Returns `true` when the last page is known.\\n     * This will always be `true` if you are using the Client-Side Row Model for pagination.\\n     * Returns `false` when the last page is not known; this only happens when using Infinite Row Model.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"paginationGetPageSize\": {\n    \"description\": \"/** Returns how many rows are being shown per page. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"paginationSetPageSize\": {\n    \"description\": \"/** Sets the `paginationPageSize`, then re-paginates the grid so the changes are applied immediately. */\",\n    \"type\": { \"arguments\": { \"size?\": \"number\" }, \"returnType\": \"void\" }\n  },\n  \"paginationGetCurrentPage\": {\n    \"description\": \"/** Returns the 0-based index of the page which is showing. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"paginationGetTotalPages\": {\n    \"description\": \"/** Returns the total number of pages. Returns `null` if `paginationIsLastPageFound() === false`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"paginationGetRowCount\": {\n    \"description\": \"/** The total number of rows. Returns `null` if `paginationIsLastPageFound() === false`. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"number\" }\n  },\n  \"paginationGoToNextPage\": {\n    \"description\": \"/** Navigates to the next page. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"paginationGoToPreviousPage\": {\n    \"description\": \"/** Navigates to the previous page. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"paginationGoToFirstPage\": {\n    \"description\": \"/** Navigates to the first page. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"paginationGoToLastPage\": {\n    \"description\": \"/** Navigates to the last page. */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"paginationGoToPage\": {\n    \"description\": \"/** Goes to the specified page. If the page requested doesn't exist, it will go to the last page. */\",\n    \"type\": { \"arguments\": { \"page\": \"number\" }, \"returnType\": \"void\" }\n  }\n}\n"}},{"relativePath":"grid-api/doc-interfaces.HTML.json","internal":{"content":"{\n    \"comment\": \"This file can be used to provide custom HTML to expandable interface components. It will get appended to the current content.\",\n    \"usefulTool\": \"https://tableconvert.com/html-to-html\",\n    \"IDateFilterParams\": {\n        \"inRangeFloatingFilterDateFormat\": \"<table><tr><td><b>Part</b></td><td><b>Token</b></td><td><b>Output</b></td></tr><tr><td><b>Month</b></td><td>M</td><td>1 2 ... 11 12</td></tr><tr><td></td><td>Mo</td><td>1st 2nd ... 11th 12th</td></tr><tr><td></td><td>MM</td><td>01 02 ... 11 12</td></tr><tr><td></td><td>MMM</td><td>Jan Feb ... Nov Dec</td></tr><tr><td></td><td>MMMM</td><td>January February ... November December</td></tr><tr><td><b>Day of Month</b></td><td>D</td><td>1 2 ... 30 31</td></tr><tr><td></td><td>Do</td><td>1st 2nd ... 30th 31st</td></tr><tr><td></td><td>DD</td><td>01 02 ... 30 31</td></tr><tr><td><b>Day of Week</b></td><td>d</td><td>0 1 ... 5 6</td></tr><tr><td></td><td>do</td><td>0th 1st ... 5th 6th</td></tr><tr><td></td><td>dd</td><td>Su Mo ... Fr Sa</td></tr><tr><td></td><td>ddd</td><td>Sun Mon ... Fri Sat</td></tr><tr><td></td><td>dddd</td><td>Sunday Monday ... Friday Saturday</td></tr><tr><td><b>Year</b></td><td>YY</td><td>70 71 ... 29 30</td></tr><tr><td></td><td>YYYY</td><td>1970 1971 ... 2029 2030</td></tr><tr><td></td><td>Y</td><td>1970 1971 ... 9999 +10000 +10001</td></tr></table>\"\n    }\n}"}},{"relativePath":"grid-api/api.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"grid-api/grid-api.AUTO.json\"\n    },\n    \"columns\": {\n        \"meta\": {\n            \"displayName\": \"Column Definitions\",\n            \"page\": {\n                \"name\": \"Updating Column Definitions\",\n                \"url\": \"/column-updating-definitions/\"\n            }\n        },\n        \"getColumnDefs\": {},\n        \"setColumnDefs\": {},\n        \"setAutoGroupColumnDef\": {},\n        \"setDefaultColDef\": {},\n        \"sizeColumnsToFit\": {\n            \"more\": {\n                \"name\": \"Size Columns to Fit\",\n                \"url\": \"/column-sizing/#size-columns-to-fit\"\n            }\n        }\n    },\n    \"pinned\": {\n        \"meta\": {\n            \"displayName\": \"Row Pinning\",\n            \"page\": {\n                \"name\": \"Row Pinning\",\n                \"url\": \"/row-pinning/\"\n            }\n        },\n        \"setPinnedTopRowData\": {},\n        \"setPinnedBottomRowData\": {},\n        \"getPinnedTopRowCount\": {},\n        \"getPinnedBottomRowCount\": {},\n        \"getPinnedTopRow\": {},\n        \"getPinnedBottomRow\": {}\n    },\n    \"rowNodes\": {\n        \"meta\": {\n            \"displayName\": \"Row Nodes\"\n        },\n        \"getRowNode\": {},\n        \"forEachNode\": {\n            \"description\": \"Iterates through each node (row) in the grid and calls the callback for each node. This works similar to the `forEach` method on a JavaScript array. This is called for every node, ignoring any filtering or sorting applied within the grid. If using the [Infinite Row Model](/infinite-scrolling/), then this gets called for each page loaded in the page cache.\"\n        },\n        \"forEachNodeAfterFilter\": {},\n        \"forEachNodeAfterFilterAndSort\": {},\n        \"forEachLeafNode\": {}\n    },\n    \"displayedRows\": {\n        \"meta\": {\n            \"displayName\": \"Row Displayed\"\n        },\n        \"getDisplayedRowAtIndex\": {},\n        \"getDisplayedRowCount\": {},\n        \"getFirstDisplayedRow\": {},\n        \"getLastDisplayedRow\": {}\n    },\n    \"masterDetail\": {\n        \"meta\": {\n            \"displayName\": \"Master Detail\",\n            \"page\": {\n                \"name\": \"Master Detail\",\n                \"url\": \"/master-detail/\"\n            }\n        },\n        \"getDetailGridInfo\": {},\n        \"forEachDetailGridInfo\": {\n            \"more\": {\n                \"name\": \"Accessing Detail Grids\",\n                \"url\": \"/master-detail-grids/#accessing-detail-grids\"\n            }\n        },\n        \"addDetailGridInfo\": {\n            \"more\": {\n                \"name\": \"Register Detail Grid\",\n                \"url\": \"/master-detail-custom-detail/#registering-detail-grid\"\n            }\n        },\n        \"removeDetailGridInfo\": {\n            \"more\": {\n                \"name\": \"Register Detail Grid\",\n                \"url\": \"/master-detail-custom-detail/#registering-detail-grid\"\n            }\n        }\n    },\n    \"selection\": {\n        \"meta\": {\n            \"displayName\": \"Selection\",\n            \"page\": {\n                \"name\": \"Selection Overview\",\n                \"url\": \"/selection-overview/\"\n            }\n        },\n        \"selectAll\": {},\n        \"deselectAll\": {},\n        \"selectAllFiltered\": {},\n        \"deselectAllFiltered\": {},\n        \"selectAllOnCurrentPage\": {},\n        \"deselectAllOnCurrentPage\": {},\n        \"getSelectedNodes\": {},\n        \"getSelectedRows\": {},\n        \"getBestCostNodeSelection\": {},\n        \"getCellRanges\": {},\n        \"addCellRange\": {},\n        \"clearRangeSelection\": {},\n        \"setSuppressRowClickSelection\": {},\n        \"setEnableCellTextSelection\": {\n            \"more\": {\n                \"name\": \"Cell Text Selection\",\n                \"url\": \"/selection-overview/#cell-text-selection\"\n            }\n        },\n        \"setFillHandleDirection\": {\n            \"more\": {\n                \"name\": \"Fill Handle\",\n                \"url\": \"/range-selection-fill-handle/\"\n            }\n        }\n    },\n    \"refresh\": {\n        \"meta\": {\n            \"displayName\": \"Refresh\",\n            \"page\": {\n                \"name\": \"View Refresh\",\n                \"url\": \"/view-refresh/\"\n            }\n        },\n        \"refreshCells\": {\n            \"more\": {\n                \"name\": \"Refresh Cells\",\n                \"url\": \"/view-refresh/#refresh-cells\"\n            }\n        },\n        \"redrawRows\": {\n            \"more\": {\n                \"name\": \"Redraw Rows\",\n                \"url\": \"/view-refresh/#redraw-rows\"\n            }\n        },\n        \"refreshHeader\": {},\n        \"flashCells\": {\n            \"more\": {\n                \"name\": \"Flashing Cells\",\n                \"url\": \"/flashing-cells/\"\n            }\n        }\n    },\n    \"sort\": {\n        \"meta\": {\n            \"displayName\": \"Sorting\",\n            \"page\": {\n                \"name\": \"Row Sorting\",\n                \"url\": \"/row-sorting/\"\n            }\n        },\n        \"onSortChanged\": {},\n        \"setDeltaSort\": {\n            \"more\": {\n                \"name\": \"Delta sorting\",\n                \"url\": \"/data-update-transactions/#delta-sorting\"\n            }\n        }\n    },\n    \"filter\": {\n        \"meta\": {\n            \"displayName\": \"Filtering\",\n            \"page\": {\n                \"name\": \"Filtering\",\n                \"url\": \"/filtering-overview/\"\n            }\n        },\n        \"getQuickFilter\": {\n            \"more\": {\n                \"name\": \"Checking the Quick Filter\",\n                \"url\": \"/filter-quick/#checking-the-quick-filter\"\n            }\n        },\n        \"setQuickFilter\": {\n            \"more\": {\n                \"name\": \"Setting the Quick Filter\",\n                \"url\": \"/filter-quick/#setting-the-quick-filter\"\n            }\n        },\n        \"resetQuickFilter\": {\n            \"more\": {\n                \"name\": \"Reset Cache Text\",\n                \"url\": \"/filter-quick/#reset-cache-text\"\n            }\n        },\n        \"isQuickFilterPresent\": {\n            \"more\": {\n                \"name\": \"Checking the Quick Filter\",\n                \"url\": \"/filter-quick/#checking-the-quick-filter\"\n            }\n        },\n        \"setExcludeHiddenColumnsFromQuickFilter\": {\n            \"more\": {\n                \"name\": \"Exclude Hidden Columns\",\n                \"url\": \"/filter-quick/#exclude-hidden-columns\"\n            }\n        },\n        \"isColumnFilterPresent\": {},\n        \"isAnyFilterPresent\": {},\n        \"getFilterInstance\": {\n            \"more\": {\n                \"name\": \"Accessing Individual Filter Component Instances\",\n                \"url\": \"/filter-api/#accessing-individual-filter-component-instances\"\n            }\n        },\n        \"getFilterModel\": {},\n        \"setFilterModel\": {},\n        \"onFilterChanged\": {},\n        \"destroyFilter\": {}\n    },\n    \"navigation\": {\n        \"meta\": {\n            \"displayName\": \"Keyboard Navigation\",\n            \"page\": {\n                \"name\": \"Keyboard Navigation\",\n                \"url\": \"/keyboard-navigation/\"\n            }\n        },\n        \"getFocusedCell\": {},\n        \"setFocusedCell\": {},\n        \"clearFocusedCell\": {},\n        \"tabToNextCell\": {},\n        \"tabToPreviousCell\": {}\n    },\n    \"editing\": {\n        \"meta\": {\n            \"displayName\": \"Editing\",\n            \"page\": {\n                \"name\": \"Cell Editing\",\n                \"url\": \"/cell-editing/\"\n            }\n        },\n        \"startEditingCell\": {\n            \"more\": {\n                \"name\": \"Editing API\",\n                \"url\": \"/cell-editing-start-stop/#editing-api\"\n            }\n        },\n        \"stopEditing\": {\n            \"more\": {\n                \"name\": \"Editing API\",\n                \"url\": \"/cell-editing-start-stop/#editing-api\"\n            }\n        },\n        \"getEditingCells\": {\n            \"more\": {\n                \"name\": \"Editing API\",\n                \"url\": \"/cell-editing-start-stop/#editing-api\"\n            }\n        },\n        \"getCellEditorInstances\": {\n            \"more\": {\n                \"name\": \"Cell Editor Instances\",\n                \"url\": \"/component-cell-editor/#accessing-cell-editor-instances\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"ICellEditor\"\n                ],\n                \"include\": []\n            }\n        }\n    },\n    \"export\": {\n        \"meta\": {\n            \"displayName\": \"Export\",\n            \"page\": {\n                \"name\": \"Export\",\n                \"url\": \"/excel-export/\"\n            }\n        },\n        \"exportDataAsCsv\": {},\n        \"getDataAsCsv\": {},\n        \"exportDataAsExcel\": {},\n        \"getDataAsExcel\": {},\n        \"getSheetDataForExcel\": {},\n        \"exportMultipleSheetsAsExcel\": {},\n        \"getMultipleSheetsAsExcel\": {}\n    },\n    \"events\": {\n        \"meta\": {\n            \"displayName\": \"Events\"\n        },\n        \"addEventListener\": {},\n        \"addGlobalListener\": {},\n        \"removeEventListener\": {},\n        \"removeGlobalListener\": {},\n        \"addRenderedRowListener\": {}\n    },\n    \"rowGroups\": {\n        \"meta\": {\n            \"displayName\": \"Row Grouping\",\n            \"page\": {\n                \"name\": \"Row Grouping\",\n                \"url\": \"/grouping/\"\n            }\n        },\n        \"expandAll\": {},\n        \"collapseAll\": {},\n        \"setRowNodeExpanded\": {},\n        \"onGroupExpandedOrCollapsed\": {}\n    },\n    \"rowDrag\": {\n        \"meta\": {\n            \"displayName\": \"Row Drag and Drop\",\n            \"page\": {\n                \"name\": \"Row Dragging\",\n                \"url\": \"/row-dragging/\"\n            }\n        },\n        \"setSuppressRowDrag\": {\n            \"more\": {\n                \"name\": \"Suppress Row Drag\",\n                \"url\": \"/row-dragging/#suppress-row-drag\"\n            }\n        },\n        \"setSuppressMoveWhenRowDragging\": {\n            \"more\": {\n                \"name\": \"Suppress Move When Dragging\",\n                \"url\": \"/row-dragging/#suppress-move-when-dragging\"\n            }\n        },\n        \"addRowDropZone\": {\n            \"more\": {\n                \"name\": \"Row Dragging to an External DropZone\",\n                \"url\": \"/row-dragging-to-external-dropzone/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"RowDragEnterEvent\",\n                    \"RowDragLeaveEvent\",\n                    \"RowDragMoveEvent\",\n                    \"RowDragEndEvent\"\n                ],\n                \"include\": []\n            }\n        },\n        \"removeRowDropZone\": {\n            \"more\": {\n                \"name\": \"Row Dragging to an External DropZone\",\n                \"url\": \"/row-dragging-to-external-dropzone/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"RowDragEnterEvent\",\n                    \"RowDragLeaveEvent\",\n                    \"RowDragMoveEvent\",\n                    \"RowDragEndEvent\"\n                ],\n                \"include\": []\n            }\n        },\n        \"getRowDropZoneParams\": {\n            \"more\": {\n                \"name\": \"Row Dragging Between Grids\",\n                \"url\": \"/row-dragging-to-grid/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"RowDragEnterEvent\",\n                    \"RowDragLeaveEvent\",\n                    \"RowDragMoveEvent\",\n                    \"RowDragEndEvent\"\n                ],\n                \"include\": []\n            }\n        }\n    },\n    \"rendering\": {\n        \"meta\": {\n            \"displayName\": \"Rendering\"\n        },\n        \"getRenderedNodes\": {},\n        \"getCellRendererInstances\": {\n            \"more\": {\n                \"name\": \"Cell Renderer Instances\",\n                \"url\": \"/component-cell-renderer/#accessing-cell-renderer-instances\"\n            }\n        },\n        \"getSizesForCurrentTheme\": {},\n        \"resetRowHeights\": {},\n        \"onRowHeightChanged\": {}\n    },\n    \"scrolling\": {\n        \"meta\": {\n            \"displayName\": \"Scrolling\",\n            \"page\": {\n                \"name\": \"Scrolling\",\n                \"url\": \"/scrolling-scenarios/\"\n            }\n        },\n        \"setAlwaysShowHorizontalScroll\": {},\n        \"setAlwaysShowVerticalScroll\": {},\n        \"ensureIndexVisible\": {\n            \"more\": {\n                \"name\": \"firstDataRendered event\",\n                \"url\": \"/grid-events/#reference-miscellaneous-firstDataRendered\"\n            }\n        },\n        \"ensureNodeVisible\": {\n            \"more\": {\n                \"name\": \"firstDataRendered event\",\n                \"url\": \"/grid-events/#reference-miscellaneous-firstDataRendered\"\n            }\n        },\n        \"ensureColumnVisible\": {\n            \"more\": {\n                \"name\": \"firstDataRendered event\",\n                \"url\": \"/grid-events/#reference-miscellaneous-firstDataRendered\"\n            }\n        },\n        \"getHorizontalPixelRange\": {},\n        \"getVerticalPixelRange\": {}\n    },\n    \"infiniteScrolling\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Infinite\",\n            \"page\": {\n                \"name\": \"Infinite Row Model\",\n                \"url\": \"/infinite-scrolling/\"\n            }\n        },\n        \"setDatasource\": {},\n        \"refreshInfiniteCache\": {},\n        \"purgeInfiniteCache\": {},\n        \"getInfiniteRowCount\": {},\n        \"isLastRowIndexKnown\": {},\n        \"setRowCount\": {},\n        \"getCacheBlockState\": {}\n    },\n    \"viewportRowModel\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Viewport\",\n            \"page\": {\n                \"name\": \"Viewport Row Model\",\n                \"url\": \"/viewport/\"\n            }\n        },\n        \"setViewportDatasource\": {}\n    },\n    \"overlays\": {\n        \"meta\": {\n            \"displayName\": \"Overlays\",\n            \"page\": {\n                \"name\": \"Overlays\",\n                \"url\": \"/overlays/\"\n            }\n        },\n        \"showLoadingOverlay\": {},\n        \"showNoRowsOverlay\": {},\n        \"hideOverlay\": {}\n    },\n    \"clipboard\": {\n        \"meta\": {\n            \"displayName\": \"Clipboard\",\n            \"page\": {\n                \"name\": \"Clipboard\",\n                \"url\": \"/clipboard/\"\n            }\n        },\n        \"cutToClipboard\": {},\n        \"copyToClipboard\": {},\n        \"copySelectedRangeToClipboard\": {},\n        \"copySelectedRangeDown\": {\n            \"description\": \"Copies the selected range down, similar to <kbd>Ctrl</kbd>+<kbd>D</kbd> in Excel.\"\n        },\n        \"copySelectedRowsToClipboard\": {}\n    },\n    \"pagination\": {\n        \"meta\": {\n            \"displayName\": \"Pagination\",\n            \"page\": {\n                \"name\": \"Row Pagination\",\n                \"url\": \"/row-pagination\"\n            }\n        },\n        \"setPagination\": {},\n        \"paginationIsLastPageFound\": {\n            \"description\": \"Returns `true` when the last page is known; this will always be the case if you are using the [Client-Side Row Model](/client-side-model/) for pagination. Returns `false` when the last page is not known; this only happens when using [Infinite Row Model](/infinite-scrolling/).\"\n        },\n        \"paginationGetPageSize\": {},\n        \"paginationSetPageSize\": {},\n        \"paginationGetCurrentPage\": {},\n        \"paginationGetTotalPages\": {},\n        \"paginationGetRowCount\": {},\n        \"paginationGoToPage\": {},\n        \"paginationGoToNextPage\": {},\n        \"paginationGoToPreviousPage\": {},\n        \"paginationGoToFirstPage\": {},\n        \"paginationGoToLastPage\": {}\n    },\n    \"headers\": {\n        \"meta\": {\n            \"displayName\": \"Column Headers\",\n            \"page\": {\n                \"name\": \"Column Headers\",\n                \"url\": \"/column-headers/\"\n            }\n        },\n        \"setHeaderHeight\": {},\n        \"setGroupHeaderHeight\": {},\n        \"setFloatingFiltersHeight\": {},\n        \"setPivotHeaderHeight\": {},\n        \"setPivotGroupHeaderHeight\": {}\n    },\n    \"UndoRedo\": {\n        \"meta\": {\n            \"displayName\": \"Undo / Redo\",\n            \"page\": {\n                \"name\": \"Undo/Redo Edits\",\n                \"url\": \"/undo-redo-edits/\"\n            }\n        },\n        \"undoCellEditing\": {},\n        \"redoCellEditing\": {},\n        \"getCurrentUndoSize\": {},\n        \"getCurrentRedoSize\": {}\n    },\n    \"rowPivoting\": {\n        \"meta\": {\n            \"displayName\": \"Pivot and Aggregation\",\n            \"description\": \"See [Pivot](/pivoting/) and [Aggregation](/aggregation/) for more information\"\n        },\n        \"addAggFunc\": {},\n        \"addAggFuncs\": {},\n        \"clearAggFuncs\": {}\n    },\n    \"accessories\": {\n        \"meta\": {\n            \"displayName\": \"Accessories\"\n        },\n        \"setPopupParent\": {\n            \"more\": {\n                \"name\": \"Popup Parent\",\n                \"url\": \"/context-menu/#popup-parent\"\n            }\n        },\n        \"showColumnMenuAfterButtonClick\": {},\n        \"showColumnMenuAfterMouseClick\": {},\n        \"hidePopupMenu\": {\n            \"description\": \"Hides any visible [context menu](/context-menu/) or [column menu](/column-menu/).\"\n        },\n        \"setSideBar\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"ToolPanelDef\"\n                ],\n                \"include\": []\n            },\n            \"more\": {\n                \"name\": \"Side Bar\",\n                \"url\": \"/side-bar/\"\n            }\n        },\n        \"getSideBar\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"ToolPanelDef\"\n                ],\n                \"include\": []\n            }\n        },\n        \"setSideBarVisible\": {},\n        \"isSideBarVisible\": {},\n        \"setSideBarPosition\": {\n            \"default\": \"right\"\n        },\n        \"openToolPanel\": {\n            \"more\": {\n                \"name\": \"Tool Panel\",\n                \"url\": \"/tool-panel/\"\n            }\n        },\n        \"closeToolPanel\": {},\n        \"getOpenedToolPanel\": {},\n        \"isToolPanelShowing\": {},\n        \"refreshToolPanel\": {},\n        \"getToolPanelInstance\": {\n            \"more\": {\n                \"name\": \"Tool Panel Expand / Collapse Column Groups\",\n                \"url\": \"/tool-panel-columns/#expand--collapse-column-groups\"\n            }\n        },\n        \"getStatusPanel\": {\n            \"more\": {\n                \"name\": \"Accessing Status Bar Panel Instances\",\n                \"url\": \"/component-status-bar/#accessing-status-bar-panel-instances\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IAfterGuiAttachedParams\",\n                    \"ContainerType\",\n                    \"IStatusPanelParams\"\n                ],\n                \"include\": []\n            }\n        }\n    },\n    \"charts\": {\n        \"meta\": {\n            \"displayName\": \"Integrated Charts\",\n            \"page\": {\n                \"name\": \"Integrated Charts\",\n                \"url\": \"/integrated-charts/\"\n            }\n        },\n        \"createRangeChart\": {\n            \"more\": {\n                \"name\": \"Range Chart API\",\n                \"url\": \"/integrated-charts-api-range-chart/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"CellRangeParams\", \"CreateRangeChartParams\"\n                ],\n                \"include\": []\n            }\n        },\n        \"createPivotChart\": {\n            \"more\": {\n                \"name\": \"Pivot Chart API\",\n                \"url\": \"/integrated-charts-api-pivot-chart/\"\n            }\n        },\n        \"createCrossFilterChart\": {\n            \"more\": {\n                \"name\": \"Cross-filter API\",\n                \"url\": \"/integrated-charts-api-cross-filter-chart/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"CellRangeParams\"\n                ],\n                \"include\": []\n            }\n        },\n        \"getChartRef\": {},\n        \"getChartModels\": {\n            \"more\": {\n                \"name\": \"Saving / Restoring Charts\",\n                \"url\": \"/integrated-charts-api-save-restore-charts/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"CellRangeParams\",\n                    \"ChartOptions\",\n                    \"ChartModelType\"\n                ],\n                \"include\": []\n            }\n        },\n        \"restoreChart\": {\n            \"more\": {\n                \"name\": \"Saving / Restoring Charts\",\n                \"url\": \"/integrated-charts-api-save-restore-charts/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"CellRangeParams\",\n                    \"ChartOptions\",\n                    \"ChartModelType\"\n                ],\n                \"include\": []\n            }\n        },\n        \"getChartImageDataURL\": {\n            \"more\": {\n                \"name\": \"Downloading Chart Image\",\n                \"url\": \"/integrated-charts-api-downloading-image/\"\n            }\n        },\n        \"downloadChart\": {\n            \"more\": {\n                \"name\": \"Downloading Chart Image\",\n                \"url\": \"/integrated-charts-api-downloading-image/\"\n            }\n        },\n        \"openChartToolPanel\": {\n            \"more\": {\n                \"name\": \"Open Chart Tool Panel\",\n                \"url\": \"/integrated-charts-api-chart-tool-panel/\"\n            }\n        },\n        \"closeChartToolPanel\": {\n            \"more\": {\n                \"name\": \"Close Chart Tool Panel\",\n                \"url\": \"/integrated-charts-api-chart-tool-panel/\"\n            }\n        }\n    },\n    \"miscellaneous\": {\n        \"meta\": {\n            \"displayName\": \"Miscellaneous\"\n        },\n        \"getValue\": {},\n        \"setDomLayout\": {\n            \"more\": {\n                \"name\": \"DOM Layout\",\n                \"url\": \"/grid-size/#dom-layout\"\n            }\n        },\n        \"destroy\": {},\n        \"setGridAriaProperty\": {\n            \"description\": \"Sets an ARIA property in the grid panel (element with `role=\\\"grid\\\"`), and removes an ARIA property when the value is null.<br /><br />Example:<br />`api.setGridAriaProperty('label', 'my grid')` will set `aria-label=\\\"my grid\\\"`.<br />`api.setGridAriaProperty('label', null)` will remove the `aria-label` attribute from the grid element.\"\n        },\n        \"isAnimationFrameQueueEmpty\": {}\n    },\n    \"rowModels\": {\n        \"meta\": {\n            \"displayName\": \"RowModel\",\n            \"page\": {\n                \"name\": \"Row Model\",\n                \"url\": \"/row-models/\"\n            }\n        },\n        \"getModel\": {}\n    },\n    \"data\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Client-Side\",\n            \"page\": {\n                \"name\": \"Client-Side Row Model\",\n                \"url\": \"/client-side-model/\"\n            }\n        },\n        \"setRowData\": {},\n        \"applyTransaction\": {},\n        \"applyTransactionAsync\": {},\n        \"flushAsyncTransactions\": {},\n        \"refreshClientSideRowModel\": {}\n    },\n    \"serverSideRowModel\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Server-Side\",\n            \"page\": {\n                \"name\": \"Server-Side Row Model\",\n                \"url\": \"/server-side-model/\"\n            }\n        },\n        \"setServerSideDatasource\": {},\n        \"setCacheBlockSize\": {},\n        \"setRowCount\": {},\n        \"refreshServerSide\": {\n            \"more\": {\n                \"name\": \"Purging Groups\",\n                \"url\": \"/server-side-model-refresh/\"\n            }\n        },\n        \"getServerSideGroupLevelState\": {\n            \"more\": {\n                \"name\": \"Store State\",\n                \"url\": \"/server-side-model-grouping/#store-state--store-info\"\n            }\n        },\n        \"retryServerSideLoads\": {\n            \"more\": {\n                \"name\": \"Retry Loads\",\n                \"url\": \"/server-side-model-retry/\"\n            }\n        },\n        \"applyServerSideTransaction\": {\n            \"more\": {\n                \"name\": \"Transactions\",\n                \"url\": \"/server-side-model-updating-transactions/\"\n            }\n        },\n        \"applyServerSideTransactionAsync\": {\n            \"more\": {\n                \"name\": \"Transactions\",\n                \"url\": \"/server-side-model-updating-transactions/#asynchronous-updates\"\n            }\n        },\n        \"getServerSideSelectionState\": {\n            \"more\": {\n                \"name\": \"Selection\",\n                \"url\": \"/server-side-model-selection/#api-selection\"\n            }\n        },\n        \"setServerSideSelectionState\": {\n            \"more\": {\n                \"name\": \"Selection\",\n                \"url\": \"/server-side-model-selection/#api-selection\"\n            }\n        },\n        \"getCacheBlockState\": {\n            \"more\": {\n                \"name\": \"Cache Block State\",\n                \"url\": \"/server-side-model-configuration/#debug-info\"\n            }\n        }\n    }\n}"}},{"relativePath":"group-cell-renderer/group-cell-renderer.json","internal":{"content":"{\n    \"_config_\": {},\n    \"IGroupCellRendererParams\": {\n        \"checkbox\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"GroupCheckboxSelectionCallbackParams\"\n                ],\n                \"include\": []\n            }\n        },\n        \"footerValueGetter\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"GroupCellRendererParams\"\n                ],\n                \"include\": []\n            }\n        },\n        \"innerRenderer\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"ICellRendererComp\"\n                ],\n                \"include\": []\n            }\n        },\n        \"innerRendererSelector\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"ICellRendererComp\"\n                ],\n                \"include\": []\n            }\n        }\n    }\n}"}},{"relativePath":"grid-events/events.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"grid-api/grid-options.AUTO.json\"\n    },\n    \"accessories\": {\n        \"meta\": {\n            \"displayName\": \"Accessories\"\n        },\n        \"toolPanelVisibleChanged\": {},\n        \"toolPanelSizeChanged\": {}\n    },\n    \"clipboard\": {\n        \"meta\": {\n            \"displayName\": \"Clipboard\",\n            \"page\": {\n                \"name\": \"Clipboard\",\n                \"url\": \"/clipboard/\"\n            }\n        },\n        \"pasteStart\": {\n            \"more\": {\n                \"name\": \"Clipboard Events\",\n                \"url\": \"/clipboard/#clipboard-events\"\n            }\n        },\n        \"pasteEnd\": {\n            \"more\": {\n                \"name\": \"Clipboard Events\",\n                \"url\": \"/clipboard/#clipboard-events\"\n            }\n        }\n    },\n    \"components\": {\n        \"meta\": {\n            \"displayName\": \"Components\",\n            \"page\": {\n                \"name\": \"Components\",\n                \"url\": \"/components/\"\n            }\n        },\n        \"componentStateChanged\": {}\n    },\n    \"selection\": {\n        \"meta\": {\n            \"displayName\": \"Selection\",\n            \"page\": {\n                \"name\": \"Selection Overview\",\n                \"url\": \"/selection-overview/\"\n            }\n        },\n        \"cellClicked\": {},\n        \"cellDoubleClicked\": {},\n        \"cellFocused\": {},\n        \"cellMouseOver\": {},\n        \"cellMouseOut\": {},\n        \"cellMouseDown\": {},\n        \"rowClicked\": {},\n        \"rowDoubleClicked\": {},\n        \"rowSelected\": {},\n        \"selectionChanged\": {},\n        \"cellContextMenu\": {},\n        \"rangeSelectionChanged\": {}\n    },\n    \"charts\": {\n        \"meta\": {\n            \"displayName\": \"Integrated Charts\",\n            \"page\": {\n                \"name\": \"Integrated Charts Events\",\n                \"url\": \"/integrated-charts-events/\"\n            }\n        },\n        \"chartCreated\": {},\n        \"chartRangeSelectionChanged\": {},\n        \"chartOptionsChanged\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"ChartOptions\"\n                ],\n                \"include\": []\n            }\n        },\n        \"chartDestroyed\": {}\n    },\n    \"editing\": {\n        \"meta\": {\n            \"displayName\": \"Editing\",\n            \"page\": {\n                \"name\": \"Cell Editing\",\n                \"url\": \"/cell-editing/\"\n            }\n        },\n        \"cellValueChanged\": {},\n        \"cellEditRequest\": {\n            \"more\": {\n                \"name\": \"Read Only Edit\",\n                \"url\": \"/value-setters/#read-only-edit\"\n            }\n        },\n        \"rowValueChanged\": {\n            \"more\": {\n                \"name\": \"Full Row Editing\",\n                \"url\": \"/cell-editing-full-row/\"\n            }\n        },\n        \"cellEditingStarted\": {},\n        \"cellEditingStopped\": {},\n        \"rowEditingStarted\": {\n            \"more\": {\n                \"name\": \"Full Row Editing\",\n                \"url\": \"/cell-editing-full-row/\"\n            }\n        },\n        \"rowEditingStopped\": {\n            \"more\": {\n                \"name\": \"Full Row Editing\",\n                \"url\": \"/cell-editing-full-row/\"\n            }\n        },\n        \"undoStarted\": {\n            \"more\": {\n                \"name\": \"Undo / Redo Events\",\n                \"url\": \"/undo-redo-edits/#undo--redo-events\"\n            }\n        },\n        \"undoEnded\": {\n            \"more\": {\n                \"name\": \"Undo / Redo Events\",\n                \"url\": \"/undo-redo-edits/#undo--redo-events\"\n            }\n        },\n        \"redoStarted\": {\n            \"more\": {\n                \"name\": \"Undo / Redo Events\",\n                \"url\": \"/undo-redo-edits/#undo--redo-events\"\n            }\n        },\n        \"redoEnded\": {\n            \"more\": {\n                \"name\": \"Undo / Redo Events\",\n                \"url\": \"/undo-redo-edits/#undo--redo-events\"\n            }\n        }\n    },\n    \"filter\": {\n        \"meta\": {\n            \"displayName\": \"Filtering\",\n            \"page\": {\n                \"name\": \"Filtering\",\n                \"url\": \"/filtering-overview/\"\n            }\n        },\n        \"filterOpened\": {},\n        \"filterChanged\": {},\n        \"filterModified\": {}\n    },\n    \"sort\": {\n        \"meta\": {\n            \"displayName\": \"Sorting\",\n            \"page\": {\n                \"name\": \"Row Sorting\",\n                \"url\": \"/row-sorting/\"\n            }\n        },\n        \"sortChanged\": {}\n    },\n    \"rowDragDrop\": {\n        \"meta\": {\n            \"displayName\": \"Row Drag and Drop\",\n            \"page\": {\n                \"name\": \"Row Dragging\",\n                \"url\": \"/row-dragging/\"\n            }\n        },\n        \"rowDragEnter\": {},\n        \"rowDragMove\": {},\n        \"rowDragLeave\": {},\n        \"rowDragEnd\": {}\n    },\n    \"columns\": {\n        \"meta\": {\n            \"displayName\": \"Columns\"\n        },\n        \"columnVisible\": {},\n        \"columnPinned\": {},\n        \"columnResized\": {},\n        \"columnMoved\": {},\n        \"columnValueChanged\": {},\n        \"columnPivotModeChanged\": {},\n        \"columnPivotChanged\": {},\n        \"columnGroupOpened\": {},\n        \"newColumnsLoaded\": {},\n        \"gridColumnsChanged\": {},\n        \"displayedColumnsChanged\": {},\n        \"virtualColumnsChanged\": {},\n        \"columnEverythingChanged\": {}\n    },\n    \"rowGrouping\": {\n        \"meta\": {\n            \"displayName\": \"Row Grouping\",\n            \"page\": {\n                \"name\": \"Row Grouping\",\n                \"url\": \"/grouping/\"\n            }\n        },\n        \"columnRowGroupChanged\": {},\n        \"rowGroupOpened\": {},\n        \"expandOrCollapseAll\": {}\n    },\n    \"miscellaneous\": {\n        \"meta\": {\n            \"displayName\": \"Miscellaneous\"\n        },\n        \"gridReady\": {},\n        \"firstDataRendered\": {},\n        \"gridSizeChanged\": {},\n        \"modelUpdated\": {},\n        \"virtualRowRemoved\": {},\n        \"viewportChanged\": {},\n        \"bodyScroll\": {},\n        \"bodyScrollEnd\": {},\n        \"dragStarted\": {},\n        \"dragStopped\": {}\n    },\n    \"clientRowModel\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Client-Side\",\n            \"page\": {\n                \"name\": \"Client-Side Row Model\",\n                \"url\": \"/client-side-model/\"\n            }\n        },\n        \"rowDataUpdated\": {},\n        \"asyncTransactionsFlushed\": {}\n    },\n    \"serverSideRowModel\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Server-Side\",\n            \"page\": {\n                \"name\": \"Server-Side Row Model\",\n                \"url\": \"/server-side-model/\"\n            }\n        },\n        \"storeRefreshed\": {}\n    },\n    \"navigation\": {\n        \"meta\": {\n            \"displayName\": \"Keyboard Navigation\",\n            \"page\": {\n                \"name\": \"Keyboard Navigation\",\n                \"url\": \"/keyboard-navigation/\"\n            }\n        },\n        \"cellKeyDown\": {\n            \"more\": {\n                \"name\": \"Keyboard Events\",\n                \"url\": \"/keyboard-navigation/#keyboard-events\"\n            }\n        },\n        \"cellKeyPress\": {\n            \"more\": {\n                \"name\": \"Keyboard Events\",\n                \"url\": \"/keyboard-navigation/#keyboard-events\"\n            }\n        }\n    },\n    \"pagination\": {\n        \"meta\": {\n            \"displayName\": \"Pagination\",\n            \"page\": {\n                \"name\": \"Row Pagination\",\n                \"url\": \"/row-pagination\"\n            }\n        },\n        \"paginationChanged\": {\n            \"description\": \"<p>Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:</p><ul class='content'><li>The page size changes</li><li>The current shown page is changed</li><li>New data is loaded onto the grid</li></ul>\"\n        }\n    },\n    \"rowPinning\": {\n        \"meta\": {\n            \"displayName\": \"Row Pinning\",\n            \"page\": {\n                \"name\": \"Row Pinning\",\n                \"url\": \"/row-pinning/\"\n            }\n        },\n        \"pinnedRowDataChanged\": {}\n    }\n}"}},{"relativePath":"modules/modules.json","internal":{"content":"[\n  {\n    \"title\": \"Grid Core\",\n    \"module\": \"@ag-grid-community/core\",\n    \"exported\": \"Core Grid Components: GridOptions, ColDef etc\"\n  },\n  {\n    \"title\": \"Grid Styles\",\n    \"module\": \"@ag-grid-community/styles\",\n    \"exported\": \"Core Grid Styles and Themes\"\n  },\n  {\n    \"title\": \"Client Side Row Model\",\n    \"shortname\": \"clientside\",\n    \"module\": \"@ag-grid-community/client-side-row-model\",\n    \"exported\": \"ClientSideRowModelModule\"\n  },\n  {\n    \"title\": \"Infinite Row Model\",\n    \"shortname\": \"infinite\",\n    \"module\": \"@ag-grid-community/infinite-row-model\",\n    \"exported\": \"InfiniteRowModelModule\"\n  },\n  {\n    \"title\": \"CSV Export\",\n    \"shortname\": \"csv\",\n    \"module\": \"@ag-grid-community/csv-export\",\n    \"exported\": \"CsvExportModule\"\n  },\n  {\n    \"title\": \"Angular Support\",\n    \"module\": \"@ag-grid-community/angular\",\n    \"framework\": true,\n    \"exported\": \"Angular Support\",\n    \"angular\": true\n  },\n  {\n    \"title\": \"React Support\",\n    \"module\": \"@ag-grid-community/react\",\n    \"framework\": true,\n    \"exported\": \"React Support\",\n    \"react\": true\n  },\n  {\n    \"title\": \"Vue Support\",\n    \"module\": \"@ag-grid-community/vue\",\n    \"framework\": true,\n    \"exported\": \"Vue Support\",\n    \"vue\": true\n  },\n  {\n    \"title\": \"Enterprise Core<enterprise-icon></enterprise-icon>\",\n    \"module\": \"@ag-grid-enterprise/core\",\n    \"enterprise\": true,\n    \"exported\": \"LicenseManager\"\n  },\n  {\n    \"title\": \"Charts<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"charts\",\n    \"module\": \"@ag-grid-enterprise/charts\",\n    \"enterprise\": true,\n    \"exported\": \"GridChartsModule\"\n  },\n  {\n    \"title\": \"Sparklines<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"sparklines\",\n    \"module\": \"@ag-grid-enterprise/sparklines\",\n    \"enterprise\": true,\n    \"exported\": \"SparklinesModule\"\n  },\n  {\n    \"title\": \"Clipboard<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"clipboard\",\n    \"module\": \"@ag-grid-enterprise/clipboard\",\n    \"enterprise\": true,\n    \"exported\": \"ClipboardModule\"\n  },\n  {\n    \"title\": \"Column Tool Panel & Column Menu Panel<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"columnpanel\",\n    \"module\": \"@ag-grid-enterprise/column-tool-panel\",\n    \"enterprise\": true,\n    \"exported\": \"ColumnsToolPanelModule\"\n  },\n  {\n    \"title\": \"Excel Export<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"excel\",\n    \"module\": \"@ag-grid-enterprise/excel-export\",\n    \"enterprise\": true,\n    \"exported\": \"ExcelExportModule\"\n  },\n  {\n    \"title\": \"Filter Tool Panel<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"filterpanel\",\n    \"module\": \"@ag-grid-enterprise/filter-tool-panel\",\n    \"enterprise\": true,\n    \"exported\": \"FiltersToolPanelModule\"\n  },\n  {\n    \"title\": \"Master Detail<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"masterdetail\",\n    \"module\": \"@ag-grid-enterprise/master-detail\",\n    \"enterprise\": true,\n    \"exported\": \"MasterDetailModule\"\n  },\n  {\n    \"title\": \"Context & Column Menu<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"menu\",\n    \"module\": \"@ag-grid-enterprise/menu\",\n    \"enterprise\": true,\n    \"exported\": \"MenuModule\"\n  },\n  {\n    \"title\": \"Range Selection<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"range\",\n    \"module\": \"@ag-grid-enterprise/range-selection\",\n    \"enterprise\": true,\n    \"exported\": \"RangeSelectionModule\"\n  },\n  {\n    \"title\": \"Rich Select<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"richselect\",\n    \"module\": \"@ag-grid-enterprise/rich-select\",\n    \"enterprise\": true,\n    \"exported\": \"RichSelectModule\"\n  },\n  {\n    \"title\": \"Row Grouping, Pivoting & Tree Data<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"rowgrouping\",\n    \"module\": \"@ag-grid-enterprise/row-grouping\",\n    \"enterprise\": true,\n    \"exported\": \"RowGroupingModule\"\n  },\n  {\n    \"title\": \"Server Side Row Model<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"serverside\",\n    \"module\": \"@ag-grid-enterprise/server-side-row-model\",\n    \"enterprise\": true,\n    \"exported\": \"ServerSideRowModelModule\"\n  },\n  {\n    \"title\": \"Set Filter<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"setfilter\",\n    \"module\": \"@ag-grid-enterprise/set-filter\",\n    \"enterprise\": true,\n    \"exported\": \"SetFilterModule\"\n  },\n  {\n    \"title\": \"Multi Filter<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"multifilter\",\n    \"module\": \"@ag-grid-enterprise/multi-filter\",\n    \"enterprise\": true,\n    \"exported\": \"MultiFilterModule\"\n  },\n  {\n    \"title\": \"Side Bar<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"sidebar\",\n    \"module\": \"@ag-grid-enterprise/side-bar\",\n    \"enterprise\": true,\n    \"exported\": \"SideBarModule\"\n  },\n  {\n    \"title\": \"Status Bar<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"statusbar\",\n    \"module\": \"@ag-grid-enterprise/status-bar\",\n    \"enterprise\": true,\n    \"exported\": \"StatusBarModule\"\n  },\n  {\n    \"title\": \"Viewport Row Model<enterprise-icon></enterprise-icon>\",\n    \"shortname\": \"viewport\",\n    \"module\": \"@ag-grid-enterprise/viewport-row-model\",\n    \"enterprise\": true,\n    \"exported\": \"ViewportRowModelModule\"\n  }\n]"}},{"relativePath":"grid-options/properties.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"grid-api/grid-options.AUTO.json\"\n    },\n    \"accessories\": {\n        \"meta\": {\n            \"displayName\": \"Accessories\"\n        },\n        \"statusBar\": {\n            \"more\": {\n                \"name\": \"Status Bar\",\n                \"url\": \"/status-bar/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IStatusPanelComp\"\n                ],\n                \"include\": []\n            }\n        },\n        \"sideBar\": {\n            \"more\": {\n                \"name\": \"Side Bar\",\n                \"url\": \"/side-bar/\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IToolPanelComp\"\n                ],\n                \"include\": []\n            }\n        },\n        \"getContextMenuItems\": {\n            \"more\": {\n                \"name\": \"Context Menu\",\n                \"url\": \"/context-menu/\"\n            }\n        },\n        \"suppressContextMenu\": {\n            \"more\": {\n                \"name\": \"Context Menu\",\n                \"url\": \"/context-menu/\"\n            }\n        },\n        \"preventDefaultOnContextMenu\": {},\n        \"allowContextMenuWithControlKey\": {\n            \"description\": \"Allows context menu to show, even when <kbd>Ctrl</kbd> key is held down. Default: `false`\"\n        },\n        \"getMainMenuItems\": {\n            \"more\": {\n                \"name\": \"Column Menu\",\n                \"url\": \"/column-menu/#customising-the-general-menu-tab\"\n            }\n        },\n        \"suppressMenuHide\": {\n            \"more\": {\n                \"name\": \"Column Menu\",\n                \"url\": \"/column-menu/\"\n            }\n        },\n        \"popupParent\": {\n            \"more\": {\n                \"name\": \"Popup Parent\",\n                \"url\": \"/context-menu/#popup-parent\"\n            }\n        },\n        \"postProcessPopup\": {}\n    },\n    \"clipboard\": {\n        \"meta\": {\n            \"displayName\": \"Clipboard\",\n            \"page\": {\n                \"name\": \"Clipboard\",\n                \"url\": \"/clipboard/\"\n            }\n        },\n        \"copyHeadersToClipboard\": {\n            \"description\": \"Set to `true` to also include headers when copying to clipboard using <kbd>Ctrl</kbd>+<kbd>C</kbd> clipboard. Default: `false`\"\n        },\n        \"copyGroupHeadersToClipboard\": {\n            \"description\": \"Set to `true` to also include group headers when copying to clipboard using <kbd>Ctrl</kbd>+<kbd>C</kbd> clipboard. Default: `false`\"\n        },\n        \"clipboardDelimiter\": {},\n        \"suppressCutToClipboard\": {},\n        \"suppressCopyRowsToClipboard\": {},\n        \"suppressCopySingleCellRanges\": {},\n        \"suppressLastEmptyLineOnPaste\": {},\n        \"suppressClipboardPaste\": {},\n        \"suppressClipboardApi\": {},\n        \"processCellForClipboard\": {},\n        \"processHeaderForClipboard\": {},\n        \"processGroupHeaderForClipboard\": {},\n        \"processCellFromClipboard\": {},\n        \"sendToClipboard\": {},\n        \"processDataFromClipboard\": {}\n    },\n    \"columns\": {\n        \"meta\": {\n            \"displayName\": \"Column Definitions\",\n            \"description\": \"See [Column](/column-definitions/) / [Column Group](/column-groups/) definitions for more information\"\n        },\n        \"columnDefs\": {},\n        \"defaultColDef\": {\n            \"more\": {\n                \"name\": \"Default Column Definition\",\n                \"url\": \"/column-definitions/#default-column-definitions\"\n            }\n        },\n        \"defaultColGroupDef\": {\n            \"more\": {\n                \"name\": \"Default Column Group Definition\",\n                \"url\": \"/column-definitions/#default-column-definitions\"\n            }\n        },\n        \"columnTypes\": {\n            \"more\": {\n                \"name\": \"Custom Column Types\",\n                \"url\": \"/column-definitions/#custom-column-types\"\n            }\n        },\n        \"maintainColumnOrder\": {\n            \"more\": {\n                \"name\": \"Maintain Column Order\",\n                \"url\": \"/column-updating-definitions/#maintain-column-order\"\n            }\n        },\n        \"suppressFieldDotNotation\": {\n            \"more\": {\n                \"name\": \"Accessing Row Data Values\",\n                \"url\": \"/column-definitions/#accessing-row-data-values\"\n            }\n        }\n    },\n    \"headers\": {\n        \"meta\": {\n            \"displayName\": \"Column Headers\",\n            \"page\": {\n                \"name\": \"Column Headers\",\n                \"url\": \"/column-headers/\"\n            }\n        },\n        \"headerHeight\": {},\n        \"groupHeaderHeight\": {},\n        \"floatingFiltersHeight\": {},\n        \"pivotHeaderHeight\": {},\n        \"pivotGroupHeaderHeight\": {}\n    },\n    \"columnMoving\": {\n        \"meta\": {\n            \"displayName\": \"Column Moving\",\n            \"page\": {\n                \"name\": \"Column Moving\",\n                \"url\": \"/column-moving/\"\n            }\n        },\n        \"allowDragFromColumnsToolPanel\": {\n            \"more\": {\n                \"name\": \"Columns Tool Panel\",\n                \"url\": \"/tool-panel-columns/\"\n            }\n        },\n        \"suppressMovableColumns\": {},\n        \"suppressColumnMoveAnimation\": {\n            \"description\": \"If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default [themes](/themes/), this results in no animation when moving columns. Default: `false` \"\n        },\n        \"suppressDragLeaveHidesColumns\": {},\n        \"suppressRowGroupHidesColumns\": {}\n    },\n    \"columnSizing\": {\n        \"meta\": {\n            \"displayName\": \"Column Sizing\",\n            \"page\": {\n                \"name\": \"Column Sizing\",\n                \"url\": \"/column-sizing/\"\n            }\n        },\n        \"colResizeDefault\": {\n            \"description\": \"Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down <kbd>Shift</kbd> while resizing).\"\n        },\n        \"suppressAutoSize\": {\n            \"more\": {\n                \"name\": \"Auto-sizing Columns\",\n                \"url\": \"/column-sizing/#auto-size-columns\"\n            }\n        },\n        \"autoSizePadding\": {\n            \"more\": {\n                \"name\": \"Auto-sizing Columns\",\n                \"url\": \"/column-sizing/#auto-size-columns\"\n            }\n        },\n        \"skipHeaderOnAutoSize\": {\n            \"more\": {\n                \"name\": \"Resizing Example\",\n                \"url\": \"/column-sizing/#resizing-example\"\n            }\n        }\n    },\n    \"components\": {\n        \"meta\": {\n            \"displayName\": \"Components\",\n            \"page\": {\n                \"name\": \"Components\",\n                \"url\": \"/components/\"\n            }\n        },\n        \"components\": {}\n    },\n    \"editing\": {\n        \"meta\": {\n            \"displayName\": \"Editing\",\n            \"page\": {\n                \"name\": \"Cell Editing\",\n                \"url\": \"/cell-editing/\"\n            }\n        },\n        \"editType\": {\n            \"more\": {\n                \"name\": \"Full Row Editing\",\n                \"url\": \"/cell-editing-full-row/\"\n            }\n        },\n        \"singleClickEdit\": {\n            \"more\": {\n                \"name\": \"Single Click Editing\",\n                \"url\": \"/cell-editing-start-stop/#single-click-editing\"\n            }\n        },\n        \"suppressClickEdit\": {\n            \"more\": {\n                \"name\": \"No Click Editing\",\n                \"url\": \"/cell-editing-start-stop/#no-click-editing\"\n            }\n        },\n        \"stopEditingWhenCellsLoseFocus\": {\n            \"more\": {\n                \"name\": \"Stop cell editing\",\n                \"url\": \"/cell-editing-start-stop/#stop-editing-when-grid-loses-focus\"\n            }\n        },\n        \"enterMovesDown\": {\n            \"description\": \"Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the <kbd>Enter</kbd> key, i.e. pressing the <kbd>Enter</kbd> key will move down to the cell beneath. Default: `false` \",\n            \"more\": {\n                \"name\": \"Enter Key Navigation\",\n                \"url\": \"/cell-editing-start-stop/#enter-key-navigation\"\n            }\n        },\n        \"enterMovesDownAfterEdit\": {\n            \"description\": \"Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the <kbd>Enter</kbd> key, i.e. pressing the <kbd>Enter</kbd> key will move down to the cell beneath. Default: `false` \",\n            \"more\": {\n                \"name\": \"Enter Key Navigation\",\n                \"url\": \"/cell-editing-start-stop/#enter-key-navigation\"\n            }\n        },\n        \"enableCellEditingOnBackspace\": {},\n        \"undoRedoCellEditing\": {\n            \"more\": {\n                \"name\": \"Undo / Redo Edits\",\n                \"url\": \"/undo-redo-edits/\"\n            }\n        },\n        \"undoRedoCellEditingLimit\": {},\n        \"readOnlyEdit\": {\n            \"more\": {\n                \"name\": \"Read Only Edit\",\n                \"url\": \"/value-setters/#read-only-edit\"\n            }\n        }\n    },\n    \"export\": {\n        \"meta\": {\n            \"displayName\": \"Export\",\n            \"page\": {\n                \"name\": \"Export\",\n                \"url\": \"/excel-export/\"\n            }\n        },\n        \"defaultCsvExportParams\": {\n            \"more\": {\n                \"name\": \"CSV Export\",\n                \"url\": \"/csv-export\"\n            }\n        },\n        \"suppressCsvExport\": {},\n        \"defaultExcelExportParams\": {\n            \"more\": {\n                \"name\": \"Excel Export\",\n                \"url\": \"/excel-export\"\n            }\n        },\n        \"suppressExcelExport\": {},\n        \"excelStyles\": {\n            \"more\": {\n                \"name\": \"Excel Export Styles\",\n                \"url\": \"/excel-export-styles/\"\n            }\n        }\n    },\n    \"filter\": {\n        \"meta\": {\n            \"displayName\": \"Filtering\",\n            \"page\": {\n                \"name\": \"Filtering\",\n                \"url\": \"/filtering-overview/\"\n            }\n        },\n        \"quickFilterText\": {\n            \"more\": {\n                \"name\": \"Quick Filter\",\n                \"url\": \"/filter-quick/\"\n            }\n        },\n        \"cacheQuickFilter\": {\n            \"more\": {\n                \"name\": \"Quick Filter Cache\",\n                \"url\": \"/filter-quick/#quick-filter-cache\"\n            }\n        },\n        \"excludeHiddenColumnsFromQuickFilter\": {\n            \"more\": {\n                \"name\": \"Exclude Hidden Columns\",\n                \"url\": \"/filter-quick/#exclude-hidden-columns\"\n            }\n        },\n        \"isExternalFilterPresent\": {\n            \"more\": {\n                \"name\": \"External Filter\",\n                \"url\": \"/filter-external/\"\n            }\n        },\n        \"doesExternalFilterPass\": {\n            \"more\": {\n                \"name\": \"External Filter\",\n                \"url\": \"/filter-external/\"\n            }\n        },\n        \"excludeChildrenWhenTreeDataFiltering\": {\n            \"more\": {\n                \"name\": \"Tree Data Filtering\",\n                \"url\": \"/tree-data/#tree-data-filtering\"\n            }\n        }\n    },\n    \"charts\": {\n        \"meta\": {\n            \"displayName\": \"Integrated Charts\",\n            \"page\": {\n                \"name\": \"Integrated Charts\",\n                \"url\": \"/integrated-charts/\"\n            }\n        },\n        \"enableCharts\": {\n            \"more\": {\n                \"name\": \"Enabling User Created Charts\",\n                \"url\": \"/integrated-charts-user-created/#enabling-user-created-charts\"\n            }\n        },\n        \"suppressChartToolPanelsButton\": {\n            \"more\": {\n                \"name\": \"Suppress Chart Tool Panels Button\",\n                \"url\": \"/integrated-charts-chart-tool-panels/#showing-legacy-chart-toolbar\"\n            }\n        },\n        \"getChartToolbarItems\": {\n            \"more\": {\n                \"name\": \"Configuring Toolbar Items\",\n                \"url\": \"/integrated-charts-toolbar/#toolbar-customisation\"\n            }\n        },\n        \"createChartContainer\": {\n            \"more\": {\n                \"name\": \"Configuring Toolbar Items\",\n                \"url\": \"/integrated-charts-container/\"\n            }\n        },\n        \"chartThemes\": {\n            \"default\": [\n                \"ag-default\",\n                \"ag-material\",\n                \"ag-pastel\",\n                \"ag-vivid\",\n                \"ag-solar\"\n            ],\n            \"more\": {\n                \"name\": \"Provided Themes\",\n                \"url\": \"/integrated-charts-customisation/#provided-themes\"\n            }\n        },\n        \"customChartThemes\": {\n            \"more\": {\n                \"name\": \"Custom Chart Themes\",\n                \"url\": \"/integrated-charts-customisation/#custom-chart-themes\"\n            }\n        },\n        \"chartThemeOverrides\": {\n            \"more\": {\n                \"name\": \"Chart Groups and Types Customisation\",\n                \"url\": \"/integrated-charts-customisation/#overriding-existing-themes\"\n            }\n        },\n        \"chartToolPanelsDef\": {\n            \"more\": {\n                \"name\": \"Chart Tool Panel customisation\",\n                \"url\": \"/integrated-charts-toolbar/#chart-tool-panel-customisation\"\n            }\n        }\n    },\n    \"loading\": {\n        \"meta\": {\n            \"displayName\": \"Loading Cell Renderers\",\n            \"page\": {\n                \"name\": \"loadingCellRenderer\",\n                \"url\": \"/component-loading-cell-renderer/\"\n            }\n        },\n        \"loadingCellRenderer\": {\n            \"description\": \"Provide your own loading cell renderer to use when data is loading via a DataSource.\",\n            \"more\": {\n                \"name\": \"Loading Cell Renderer\",\n                \"url\": \"/component-loading-cell-renderer/\"\n            }\n        },\n        \"loadingCellRendererParams\": {},\n        \"loadingCellRendererSelector\": {\n            \"more\": {\n                \"name\": \"Loading Cell Renderer Selector\",\n                \"url\": \"/component-loading-cell-renderer/#dynamic-cell-loading-renderer\"\n            }\n        }\n    },\n    \"localisation\": {\n        \"meta\": {\n            \"displayName\": \"Localisation\",\n            \"page\": {\n                \"name\": \"Localisation\",\n                \"url\": \"/localisation/\"\n            }\n        },\n        \"localeText\": {},\n        \"getLocaleText\": {}\n    },\n    \"masterDetail\": {\n        \"meta\": {\n            \"displayName\": \"Master Detail\",\n            \"page\": {\n                \"name\": \"Master Detail\",\n                \"url\": \"/master-detail/\"\n            }\n        },\n        \"masterDetail\": {},\n        \"isRowMaster\": {\n            \"description\": \"Callback to be used with [Master Detail](/master-detail/) to determine if a row should be a master row. If `false` is returned no detail row will exist for this row.\"\n        },\n        \"detailCellRenderer\": {\n            \"description\": \"Provide a custom `detailCellRenderer` to use when a master row is expanded.\",\n            \"more\": {\n                \"name\": \"Custom Detail\",\n                \"url\": \"/master-detail-custom-detail/\"\n            }\n        },\n        \"detailCellRendererParams\": {\n            \"description\": \"Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable [dynamic definitions](/master-detail-grids/#dynamic-definitions) of the params.\",\n            \"more\": {\n                \"name\": \"Detail Grids\",\n                \"url\": \"/master-detail-grids/\"\n            }\n        },\n        \"detailRowHeight\": {\n            \"more\": {\n                \"name\": \"Fixed Height\",\n                \"url\": \"/master-detail-height/#fixed-height\"\n            }\n        },\n        \"detailRowAutoHeight\": {\n            \"more\": {\n                \"name\": \"Auto Height\",\n                \"url\": \"/master-detail-height/#auto-height\"\n            }\n        },\n        \"embedFullWidthRows\": {\n            \"more\": {\n                \"name\": \"Syncing Detail Scrolling with Master\",\n                \"url\": \"/master-detail-other/#syncing-detail-scrolling-with-master\"\n            }\n        },\n        \"keepDetailRows\": {},\n        \"keepDetailRowsCount\": {}\n    },\n    \"miscellaneous\": {\n        \"meta\": {\n            \"displayName\": \"Miscellaneous\"\n        },\n        \"api\": {\n            \"more\": {\n                \"name\": \"Grid Api\",\n                \"url\": \"/grid-api/\"\n            }\n        },\n        \"columnApi\": {\n            \"more\": {\n                \"name\": \"Column Api\",\n                \"url\": \"/column-api/\"\n            }\n        },\n        \"alignedGrids\": {\n            \"more\": {\n                \"name\": \"Aligned Grids\",\n                \"url\": \"/aligned-grids/\"\n            }\n        },\n        \"context\": {\n            \"more\": {\n                \"name\": \"Context\",\n                \"url\": \"/context/\"\n            }\n        },\n        \"tabIndex\": {},\n        \"rowBuffer\": {},\n        \"valueCache\": {\n            \"more\": {\n                \"name\": \"Value Cache\",\n                \"url\": \"/value-getters/#value-cache-properties\"\n            }\n        },\n        \"valueCacheNeverExpires\": {\n            \"more\": {\n                \"name\": \"Value Cache\",\n                \"url\": \"/value-getters/#value-cache-properties\"\n            }\n        },\n        \"enableCellExpressions\": {\n            \"more\": {\n                \"name\": \"Cell Expressions\",\n                \"url\": \"/cell-expressions/#cell-expressions\"\n            }\n        },\n        \"getDocument\": {},\n        \"suppressParentsInRowNodes\": {},\n        \"suppressTouch\": {\n            \"more\": {\n                \"name\": \"Touch Support\",\n                \"url\": \"/touch/\"\n            }\n        },\n        \"suppressFocusAfterRefresh\": {},\n        \"suppressAsyncEvents\": {},\n        \"suppressBrowserResizeObserver\": {},\n        \"suppressPropertyNamesCheck\": {},\n        \"suppressChangeDetection\": {},\n        \"debug\": {}\n    },\n    \"overlays\": {\n        \"meta\": {\n            \"displayName\": \"Overlays\",\n            \"page\": {\n                \"name\": \"Overlays\",\n                \"url\": \"/overlays/\"\n            }\n        },\n        \"overlayLoadingTemplate\": {},\n        \"loadingOverlayComponent\": {\n            \"description\": \"Provide a custom loading overlay component.\",\n            \"more\": {\n                \"name\": \"Loading Overlay Component\",\n                \"url\": \"/component-overlay/#loading-rows-overlay-interface\"\n            }\n        },\n        \"loadingOverlayComponentParams\": {},\n        \"suppressLoadingOverlay\": {},\n        \"overlayNoRowsTemplate\": {},\n        \"noRowsOverlayComponent\": {\n            \"description\": \"Provide a custom no rows overlay component.\",\n            \"more\": {\n                \"name\": \"No Rows Overlay Component\",\n                \"url\": \"/component-overlay/#no-rows-overlay-interface\"\n            }\n        },\n        \"noRowsOverlayComponentParams\": {},\n        \"suppressNoRowsOverlay\": {}\n    },\n    \"nav\": {\n        \"meta\": {\n            \"displayName\": \"Keyboard Navigation\",\n            \"page\": {\n                \"name\": \"Keyboard Navigation\",\n                \"url\": \"/keyboard-navigation/\"\n            }\n        },\n        \"navigateToNextHeader\": {},\n        \"tabToNextHeader\": {\n            \"description\": \"Allows overriding the default behaviour for when user hits <kbd>Tab</kbd> key when a header is focused.\"\n        },\n        \"navigateToNextCell\": {},\n        \"tabToNextCell\": {\n            \"description\": \"Allows overriding the default behaviour for when user hits <kbd>Tab</kbd> key when a cell is focused.\"\n        }\n    },\n    \"pagination\": {\n        \"meta\": {\n            \"displayName\": \"Pagination\",\n            \"page\": {\n                \"name\": \"Row Pagination\",\n                \"url\": \"/row-pagination\"\n            }\n        },\n        \"pagination\": {},\n        \"paginationPageSize\": {\n            \"more\": {\n                \"name\": \"Customising Pagination\",\n                \"url\": \"/row-pagination/#example-customising-pagination\"\n            }\n        },\n        \"paginationNumberFormatter\": {},\n        \"paginationAutoPageSize\": {\n            \"more\": {\n                \"name\": \"Auto Page Size\",\n                \"url\": \"/row-pagination/#example-auto-page-size\"\n            }\n        },\n        \"paginateChildRows\": {\n            \"more\": {\n                \"name\": \"Pagination & Child Rows\",\n                \"url\": \"/row-pagination/#pagination--child-rows\"\n            }\n        },\n        \"suppressPaginationPanel\": {\n            \"more\": {\n                \"name\": \"Custom Pagination Controls\",\n                \"url\": \"/row-pagination/#example-customising-pagination\"\n            }\n        }\n    },\n    \"rowPivoting\": {\n        \"meta\": {\n            \"displayName\": \"Pivot and Aggregation\",\n            \"description\": \"See [Pivot](/pivoting/) and [Aggregation](/aggregation/) for more information\"\n        },\n        \"pivotMode\": {},\n        \"pivotPanelShow\": {},\n        \"pivotColumnGroupTotals\": {\n            \"more\": {\n                \"name\": \"Pivot Column Group Totals\",\n                \"url\": \"/pivoting/#pivot-column-group-totals\"\n            }\n        },\n        \"pivotRowTotals\": {\n            \"more\": {\n                \"name\": \"Pivot Row Totals\",\n                \"url\": \"/pivoting/#pivot-row-totals\"\n            }\n        },\n        \"pivotSuppressAutoColumn\": {\n            \"description\": \"If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using [Server Side Row Model](/server-side-model/) or [Viewport Row Model](/viewport/) and you want full control of all columns including the group column.\"\n        },\n        \"processPivotResultColDef\": {},\n        \"processPivotResultColGroupDef\": {},\n        \"suppressExpandablePivotGroups\": {\n            \"more\": {\n                \"name\": \"Fixed Pivot Column Groups\",\n                \"url\": \"/pivoting/#fixed-pivot-column-groups\"\n            }\n        },\n        \"functionsReadOnly\": {\n            \"more\": {\n                \"name\": \"Read Only Functions\",\n                \"url\": \"/tool-panel-columns/#read-only-functions\"\n            }\n        },\n        \"aggFuncs\": {\n            \"more\": {\n                \"name\": \"Custom Aggregation Functions\",\n                \"url\": \"/aggregation/#custom-aggregation-functions\"\n            }\n        },\n        \"getGroupRowAgg\": {\n            \"more\": {\n                \"name\": \"Custom Full Row Aggregation\",\n                \"url\": \"/aggregation/#custom-full-row-aggregation\"\n            }\n        },\n        \"suppressAggFuncInHeader\": {},\n        \"suppressAggAtRootLevel\": {\n            \"more\": {\n                \"name\": \"Big Data Small Transactions\",\n                \"url\": \"/data-update-transactions/#example-small-changes-big-data\"\n            }\n        },\n        \"aggregateOnlyChangedColumns\": {\n            \"more\": {\n                \"name\": \"Change Detection\",\n                \"url\": \"/change-detection/#tree-path-selection\"\n            }\n        },\n        \"suppressAggFilteredOnly\": {\n            \"more\": {\n                \"name\": \"Custom Aggregation Functions\",\n                \"url\": \"/aggregation/#filtering\"\n            }\n        },\n        \"groupAggFiltering\": {},\n        \"removePivotHeaderRowWhenSingleValueColumn\": {\n            \"more\": {\n                \"name\": \"Hiding Repeated Value Column Labels\",\n                \"url\": \"/pivoting/#hiding-repeated-value-column-labels\"\n            }\n        }\n    },\n    \"rendering\": {\n        \"meta\": {\n            \"displayName\": \"Rendering\"\n        },\n        \"animateRows\": {\n            \"more\": {\n                \"name\": \"Row Animation\",\n                \"url\": \"/row-animation/\"\n            }\n        },\n        \"enableCellChangeFlash\": {\n            \"more\": {\n                \"name\": \"Flashing Data Changes\",\n                \"url\": \"/flashing-cells/\"\n            }\n        },\n        \"cellFlashDelay\": {},\n        \"cellFadeDelay\": {},\n        \"allowShowChangeAfterFilter\": {\n            \"more\": {\n                \"name\": \"Flashing Data Changes\",\n                \"url\": \"/flashing-cells/\"\n            }\n        },\n        \"domLayout\": {\n            \"description\": \"Switch between layout options. See [Printing](/printing/) and [Auto Height](/grid-size/#grid-auto-height). Default: `normal`\"\n        },\n        \"ensureDomOrder\": {\n            \"more\": {\n                \"name\": \"Accessibility - Row and Column Order\",\n                \"url\": \"/accessibility/#ensure-dom-element-order\"\n            }\n        },\n        \"getBusinessKeyForNode\": {},\n        \"processRowPostCreate\": {},\n        \"enableRtl\": {\n            \"more\": {\n                \"name\": \"RTL (Right to Left)\",\n                \"url\": \"/rtl/\"\n            }\n        },\n        \"suppressColumnVirtualisation\": {},\n        \"suppressRowVirtualisation\": {\n            \"more\": {\n                \"name\": \"Suppress Row Virtualisation\",\n                \"url\": \"/dom-virtualisation/#suppress-virtualisation\"\n            }\n        },\n        \"suppressMaxRenderedRowRestriction\": {}\n    },\n    \"rowDragging\": {\n        \"meta\": {\n            \"displayName\": \"Row Drag and Drop\",\n            \"page\": {\n                \"name\": \"Row Dragging\",\n                \"url\": \"/row-dragging/\"\n            }\n        },\n        \"rowDragManaged\": {\n            \"more\": {\n                \"name\": \"Managed Row Dragging\",\n                \"url\": \"/row-dragging/#managed-dragging\"\n            }\n        },\n        \"rowDragEntireRow\": {\n            \"more\": {\n                \"name\": \"Entire Row Dragging\",\n                \"url\": \"/row-dragging/#entire-row-dragging\"\n            }\n        },\n        \"rowDragMultiRow\": {\n            \"more\": {\n                \"name\": \"Mulit-Row Dragging\",\n                \"url\": \"/row-dragging/#multi-row-dragging\"\n            }\n        },\n        \"suppressRowDrag\": {},\n        \"suppressMoveWhenRowDragging\": {},\n        \"rowDragText\": {\n            \"more\": {\n                \"name\": \"Custom Row Drag Text\",\n                \"url\": \"row-dragging/#custom-row-drag-text\"\n            }\n        }\n    },\n    \"fullWidth\": {\n        \"meta\": {\n            \"displayName\": \"Row Full Width\",\n            \"page\": {\n                \"name\": \"Full Width Rows\",\n                \"url\": \"/full-width-rows/\"\n            }\n        },\n        \"fullWidthCellRenderer\": {\n            \"description\": \"Provide your own cell renderer component to use for full width rows.\",\n            \"more\": {\n                \"name\": \"Full Width Cell Renderer\",\n                \"url\": \"/full-width-rows/\"\n            }\n        },\n        \"fullWidthCellRendererParams\": {}\n    },\n    \"rowGrouping\": {\n        \"meta\": {\n            \"displayName\": \"Row Grouping\",\n            \"page\": {\n                \"name\": \"Row Grouping\",\n                \"url\": \"/grouping/\"\n            }\n        },\n        \"groupDisplayType\": {\n            \"more\": {\n                \"name\": \"Row Grouping - Display Types\",\n                \"url\": \"/grouping-display-types/\"\n            }\n        },\n        \"groupDefaultExpanded\": {\n            \"more\": {\n                \"name\": \"Opening Group Levels by Default\",\n                \"url\": \"/grouping-opening-groups/#opening-group-levels-by-default\"\n            }\n        },\n        \"autoGroupColumnDef\": {\n            \"more\": {\n                \"name\": \"Group Column Configuration\",\n                \"url\": \"/grouping-single-group-column/#group-column-configuration\"\n            }\n        },\n        \"groupMaintainOrder\": {\n            \"more\": {\n                \"name\": \"Maintain Group Order\",\n                \"url\": \"/grouping-sorting/#maintain-group-order\"\n            }\n        },\n        \"groupSelectsChildren\": {\n            \"more\": {\n                \"name\": \"Group Selection\",\n                \"url\": \"/row-selection/#group-selection\"\n            }\n        },\n        \"groupIncludeFooter\": {\n            \"more\": {\n                \"name\": \"Enabling Group Footers\",\n                \"url\": \"/grouping-footers/#enabling-group-footers\"\n            }\n        },\n        \"groupIncludeTotalFooter\": {\n            \"more\": {\n                \"name\": \"Enabling Group Footers\",\n                \"url\": \"/grouping-footers/#enabling-group-footers\"\n            }\n        },\n        \"groupSuppressBlankHeader\": {},\n        \"groupRowsSticky\": {\n            \"more\": {\n                \"name\": \"Sticky Groups\",\n                \"url\": \"/grouping-sticky-groups/\"\n            }\n        },\n        \"groupSelectsFiltered\": {\n            \"more\": {\n                \"name\": \"Group Selection\",\n                \"url\": \"/row-selection/#group-selection\"\n            }\n        },\n        \"showOpenedGroup\": {\n            \"more\": {\n                \"name\": \"Showing Open Groups\",\n                \"url\": \"/grouping-single-group-column/#showing-open-groups\"\n            }\n        },\n        \"isGroupOpenByDefault\": {},\n        \"initialGroupOrderComparator\": {\n            \"more\": {\n                \"name\": \"Initial Group Order\",\n                \"url\": \"/grouping-group-order/#default-group-order\"\n            }\n        },\n        \"groupRemoveSingleChildren\": {\n            \"more\": {\n                \"name\": \"Remove Single Children\",\n                \"url\": \"/grouping-single-group-column/#removing-single-children\"\n            }\n        },\n        \"groupRemoveLowestSingleChildren\": {\n            \"more\": {\n                \"name\": \"Remove Single Children\",\n                \"url\": \"/grouping-single-group-column/#removing-single-children\"\n            }\n        },\n        \"groupHideOpenParents\": {\n            \"more\": {\n                \"name\": \"Hide Open Parents\",\n                \"url\": \"/grouping-multiple-group-columns/#hide-open-parents\"\n            }\n        },\n        \"groupAllowUnbalanced\": {\n            \"more\": {\n                \"name\": \"Enabling Unbalanced Groups\",\n                \"url\": \"/grouping-unbalanced-groups/\"\n            }\n        },\n        \"rowGroupPanelShow\": {\n            \"more\": {\n                \"name\": \"Enabling Row Group Panel\",\n                \"url\": \"/grouping-group-panel/#enabling-row-group-panel\"\n            }\n        },\n        \"rowGroupPanelSuppressSort\": {\n            \"more\": {\n                \"name\": \"Suppress Sorting\",\n                \"url\": \"/grouping-group-panel/#suppress-sorting\"\n            }\n        },\n        \"groupRowRenderer\": {\n            \"description\": \"Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\",\n            \"more\": {\n                \"name\": \"Group Row Cell Renderer\",\n                \"url\": \"/grouping-group-rows/#providing-cell-renderer/\"\n            }\n        },\n        \"groupRowRendererParams\": {},\n        \"suppressDragLeaveHidesColumns\": {\n            \"description\": \"By default, dragging a column out of the grid, i.e. to the [Row Group Panel](/grouping-group-panel/), it will be hidden in the grid. This property prevents the column becoming hidden in the grid. Default: `false`\",\n            \"more\": {\n                \"name\": \"Keeping Columns Visible\",\n                \"url\": \"/grouping-group-panel/#keeping-columns-visible\"\n            }\n        },\n        \"suppressRowGroupHidesColumns\": {\n            \"more\": {\n                \"name\": \"Keeping Columns Visible\",\n                \"url\": \"/grouping-group-panel/#keeping-columns-visible\"\n            }\n        },\n        \"suppressMakeColumnVisibleAfterUnGroup\": {\n            \"description\": \"By default, when a column is un-grouped, i.e. using the [Row Group Panel](/grouping-group-panel/), it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false`\",\n            \"more\": {\n                \"name\": \"Keeping Columns Visible\",\n                \"url\": \"/grouping-group-panel/#keeping-columns-visible\"\n            }\n        },\n        \"treeData\": {\n            \"more\": {\n                \"name\": \"Tree Data\",\n                \"url\": \"/tree-data/\"\n            }\n        },\n        \"getDataPath\": {\n            \"more\": {\n                \"name\": \"Tree Data\",\n                \"url\": \"/tree-data/\"\n            }\n        }\n    },\n    \"rowPinning\": {\n        \"meta\": {\n            \"displayName\": \"Row Pinning\",\n            \"page\": {\n                \"name\": \"Row Pinning\",\n                \"url\": \"/row-pinning/\"\n            },\n            \"description\": \"Row data uses the [generic type](/typescript-generics) `TData` if provided via `GridOptions&lt;TData&gt;`. Otherwise `TData` will default to `any`.\"\n        },\n        \"pinnedTopRowData\": {},\n        \"pinnedBottomRowData\": {}\n    },\n    \"rowModels\": {\n        \"meta\": {\n            \"displayName\": \"RowModel\",\n            \"page\": {\n                \"name\": \"Row Model\",\n                \"url\": \"/row-models/\"\n            }\n        },\n        \"rowModelType\": {},\n        \"getRowId\": {}\n    },\n    \"clientRowModel\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Client-Side\",\n            \"page\": {\n                \"name\": \"Client-Side Row Model\",\n                \"url\": \"/client-side-model/\"\n            },\n            \"description\": \"Row data uses the [generic type](/typescript-generics) `TData` if provided via `GridOptions&lt;TData&gt;`. Otherwise `TData` will default to `any`.\"\n        },\n        \"rowData\": {},\n        \"resetRowDataOnUpdate\": {},\n        \"asyncTransactionWaitMillis\": {\n            \"more\": {\n                \"name\": \"Async transactions\",\n                \"url\": \"/data-update-high-frequency/\"\n            }\n        },\n        \"suppressModelUpdateAfterUpdateTransaction\": {\n            \"description\": \"Prevents [Transactions](/data-update-transactions/) changing sort, filter, group or pivot state when transaction only contains updates. Default: `false`\",\n            \"more\": {\n                \"name\": \"Suppress Model Updates\",\n                \"url\": \"/data-update-transactions/#suppress-model-updates\"\n            }\n        }\n    },\n    \"serverSideRowModel\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Server-Side\",\n            \"page\": {\n                \"name\": \"Server-Side Row Model\",\n                \"url\": \"/server-side-model/\"\n            }\n        },\n        \"serverSideDatasource\": {\n            \"more\": {\n                \"name\": \"Registering the Datasource\",\n                \"url\": \"/server-side-model-datasource/#registering-the-datasource\"\n            }\n        },\n        \"cacheBlockSize\": {\n            \"description\": \"How many rows for each block in the cache, i.e. how many rows returned from the server at a time. Default: `100`\"\n        },\n        \"maxBlocksInCache\": {\n            \"description\": \"How many blocks to keep in the cache. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value.\"\n        },\n        \"maxConcurrentDatasourceRequests\": {},\n        \"blockLoadDebounceMillis\": {\n            \"more\": {\n                \"name\": \"Block Loading Debounce\",\n                \"url\": \"/server-side-model-configuration/#block-loading-debounce\"\n            }\n        },\n        \"purgeClosedRowNodes\": {\n            \"description\": \"When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is [Row Grouping](/server-side-model-grouping/). Default: `false`\"\n        },\n        \"serverSideSortAllLevels\": {},\n        \"serverSideFilterAllLevels\": {},\n        \"serverSideInitialRowCount\": {\n            \"more\": {\n                \"name\": \"Initial Scroll Position\",\n                \"url\": \"/server-side-model-configuration/#initial-scroll-position\"\n            }\n        },\n        \"suppressServerSideInfiniteScroll\": {},\n        \"serverSideSortOnServer\": {},\n        \"serverSideFilterOnServer\": {},\n        \"getChildCount\": {},\n        \"getServerSideGroupLevelParams\": {},\n        \"isServerSideGroupOpenByDefault\": {},\n        \"isApplyServerSideTransaction\": {},\n        \"isServerSideGroup\": {\n            \"more\": {\n                \"name\": \"SSRM Tree Data\",\n                \"url\": \"/server-side-model-tree-data/\"\n            }\n        },\n        \"getServerSideGroupKey\": {\n            \"more\": {\n                \"name\": \"SSRM Tree Data\",\n                \"url\": \"/server-side-model-tree-data/\"\n            }\n        }\n    },\n    \"infiniteRowModel\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Infinite\",\n            \"page\": {\n                \"name\": \"Infinite Row Model\",\n                \"url\": \"/infinite-scrolling/\"\n            }\n        },\n        \"datasource\": {\n            \"more\": {\n                \"name\": \"Datasource\",\n                \"url\": \"/infinite-scrolling/#datasource\"\n            }\n        },\n        \"cacheOverflowSize\": {},\n        \"maxConcurrentDatasourceRequests\": {},\n        \"cacheBlockSize\": {},\n        \"maxBlocksInCache\": {},\n        \"infiniteInitialRowCount\": {}\n    },\n    \"viewportRowModel\": {\n        \"meta\": {\n            \"displayName\": \"RowModel: Viewport\",\n            \"page\": {\n                \"name\": \"Viewport Row Model\",\n                \"url\": \"/viewport/\"\n            }\n        },\n        \"viewportDatasource\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [],\n                \"include\": [\n                    \"IViewportDatasourceParams\"\n                ]\n            }\n        },\n        \"viewportRowModelPageSize\": {},\n        \"viewportRowModelBufferSize\": {}\n    },\n    \"scrolling\": {\n        \"meta\": {\n            \"displayName\": \"Scrolling\",\n            \"page\": {\n                \"name\": \"Scrolling\",\n                \"url\": \"/scrolling-scenarios/\"\n            }\n        },\n        \"alwaysShowHorizontalScroll\": {},\n        \"alwaysShowVerticalScroll\": {},\n        \"debounceVerticalScrollbar\": {\n            \"more\": {\n                \"name\": \"Debounce Vertical Scroll\",\n                \"url\": \"/scrolling-performance/#8-debounce-vertical-scroll\"\n            }\n        },\n        \"suppressHorizontalScroll\": {\n            \"more\": {\n                \"name\": \"Aligned Grid as Footer\",\n                \"url\": \"/aligned-grids/#example-aligned-floating-footer\"\n            }\n        },\n        \"suppressScrollOnNewData\": {},\n        \"suppressScrollWhenPopupsAreOpen\": {},\n        \"suppressAnimationFrame\": {},\n        \"suppressMiddleClickScrolls\": {},\n        \"suppressPreventDefaultOnMouseWheel\": {},\n        \"scrollbarWidth\": {}\n    },\n    \"selection\": {\n        \"meta\": {\n            \"displayName\": \"Selection\",\n            \"page\": {\n                \"name\": \"Selection Overview\",\n                \"url\": \"/selection-overview/\"\n            }\n        },\n        \"rowSelection\": {\n            \"more\": {\n                \"name\": \"Row Selection\",\n                \"url\": \"/row-selection\"\n            },\n            \"description\": \"Type of Row Selection.\"\n        },\n        \"rowMultiSelectWithClick\": {\n            \"more\": {\n                \"name\": \"Multi Select Single Click\",\n                \"url\": \"/row-selection/#example-multi-select-with-click\"\n            }\n        },\n        \"isRowSelectable\": {\n            \"more\": {\n                \"name\": \"Specify Selectable Rows\",\n                \"url\": \"/row-selection/#specify-selectable-rows\"\n            }\n        },\n        \"suppressRowDeselection\": {\n            \"description\": \"If `true`, rows will not be deselected if you hold down <kbd>Ctrl</kbd> and click the row or press <kbd>Space</kbd>. Default: `false`\"\n        },\n        \"suppressRowClickSelection\": {},\n        \"suppressCellFocus\": {},\n        \"suppressMultiRangeSelection\": {\n            \"more\": {\n                \"name\": \"Suppress Multi Range Selection\",\n                \"url\": \"/range-selection/#suppress-multi-range-selection\"\n            }\n        },\n        \"enableCellTextSelection\": {},\n        \"enableRangeSelection\": {\n            \"more\": {\n                \"name\": \"Range Selection\",\n                \"url\": \"/range-selection\"\n            }\n        },\n        \"enableRangeHandle\": {\n            \"more\": {\n                \"name\": \"Range Handle\",\n                \"url\": \"/range-selection-handle\"\n            }\n        },\n        \"enableFillHandle\": {\n            \"more\": {\n                \"name\": \"Fill Handle\",\n                \"url\": \"/range-selection-fill-handle/\"\n            }\n        },\n        \"fillHandleDirection\": {},\n        \"fillOperation\": {},\n        \"suppressClearOnFillReduction\": {}\n    },\n    \"sort\": {\n        \"meta\": {\n            \"displayName\": \"Sorting\",\n            \"page\": {\n                \"name\": \"Row Sorting\",\n                \"url\": \"/row-sorting/\"\n            }\n        },\n        \"sortingOrder\": {\n            \"more\": {\n                \"name\": \"Example Sorting Order and Animation\",\n                \"url\": \"/row-sorting/#example-sorting-order-and-animation\"\n            }\n        },\n        \"accentedSort\": {\n            \"more\": {\n                \"name\": \"Accented Sort\",\n                \"url\": \"/row-sorting/#accented-sort\"\n            }\n        },\n        \"unSortIcon\": {\n            \"more\": {\n                \"name\": \"Example Custom Sorting\",\n                \"url\": \"/row-sorting/#example-custom-sorting\"\n            }\n        },\n        \"suppressMultiSort\": {},\n        \"alwaysMultiSort\": {},\n        \"multiSortKey\": {\n            \"description\": \"Set to `'ctrl'` to have multi sorting work using the <kbd>Ctrl</kbd> (or <kbd>Command ⌘</kbd> for Mac) key.\",\n            \"more\": {\n                \"name\": \"Multi Column Sorting\",\n                \"url\": \"/row-sorting/#multi-column-sorting\"\n            }\n        },\n        \"suppressMaintainUnsortedOrder\": {},\n        \"postSortRows\": {\n            \"more\": {\n                \"name\": \"Post Sort\",\n                \"url\": \"/row-sorting/#post-sort\"\n            }\n        },\n        \"deltaSort\": {\n            \"description\": \"When enabled, sorts only the rows added/updated by a transaction. Default: `false`\",\n            \"more\": {\n                \"name\": \"Delta sorting\",\n                \"url\": \"/data-update-transactions/#delta-sorting\"\n            }\n        }\n    },\n    \"styling\": {\n        \"meta\": {\n            \"displayName\": \"Styling\"\n        },\n        \"icons\": {\n            \"more\": {\n                \"name\": \"Custom Icons\",\n                \"url\": \"/custom-icons/#set-the-icons-through-gridoptions-javascript\"\n            }\n        },\n        \"rowHeight\": {\n            \"more\": {\n                \"name\": \"Row Height\",\n                \"url\": \"/row-height/\"\n            }\n        },\n        \"getRowHeight\": {\n            \"more\": {\n                \"name\": \"Row Height\",\n                \"url\": \"/row-height/\"\n            }\n        },\n        \"rowStyle\": {\n            \"more\": {\n                \"name\": \"Row Style\",\n                \"url\": \"/row-styles/#row-style\"\n            }\n        },\n        \"getRowStyle\": {\n            \"more\": {\n                \"name\": \"Row Style\",\n                \"url\": \"/row-styles/#row-style\"\n            }\n        },\n        \"rowClass\": {\n            \"more\": {\n                \"name\": \"Row Class\",\n                \"url\": \"/row-styles/#row-class\"\n            }\n        },\n        \"getRowClass\": {\n            \"more\": {\n                \"name\": \"Row Class\",\n                \"url\": \"/row-styles/#row-class\"\n            }\n        },\n        \"rowClassRules\": {\n            \"more\": {\n                \"name\": \"Row Class Rules\",\n                \"url\": \"/row-styles/#row-class-rules\"\n            }\n        },\n        \"isFullWidthRow\": {\n            \"more\": {\n                \"name\": \"Full Width Rows\",\n                \"url\": \"/full-width-rows/\"\n            }\n        },\n        \"suppressRowHoverHighlight\": {},\n        \"suppressRowTransform\": {\n            \"description\": \"Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in [row spanning](/row-spanning/). Default: `false`\"\n        },\n        \"columnHoverHighlight\": {}\n    },\n    \"tooltips\": {\n        \"meta\": {\n            \"displayName\": \"Tooltips\",\n            \"page\": {\n                \"name\": \"Tooltip Component\",\n                \"url\": \"/component-tooltip/\"\n            }\n        },\n        \"enableBrowserTooltips\": {},\n        \"tooltipShowDelay\": {},\n        \"tooltipHideDelay\": {},\n        \"tooltipMouseTrack\": {}\n    }\n}\n"}},{"relativePath":"row-object/row-node.AUTO.json","internal":{"content":"{\n  \"id\": {\n    \"description\": \"/** Unique ID for the node. Either provided by the application, or generated by the grid if not. */\",\n    \"type\": { \"returnType\": \"string | undefined\" }\n  },\n  \"data\": {\n    \"description\": \"/** The data as provided by the application.\\n     * Can be `undefined` when using row grouping or during grid initialisation.\\n     */\",\n    \"type\": { \"returnType\": \"TData | undefined\" }\n  },\n  \"displayed\": {\n    \"description\": \"/** This will be `true` if it has a rowIndex assigned, otherwise `false`.\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowPinned\": {\n    \"description\": \"/** Either `'top'` or `'bottom'` if row pinned, otherwise `undefined` or `null`. */\",\n    \"type\": { \"returnType\": \"RowPinnedType\" }\n  },\n  \"selectable\": {\n    \"description\": \"/** Is this row selectable. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowHeight\": {\n    \"description\": \"/** The height, in pixels, of this row. */\",\n    \"type\": { \"returnType\": \"number | null | undefined\" }\n  },\n  \"rowTop\": {\n    \"description\": \"/** The row top position in pixels. */\",\n    \"type\": { \"returnType\": \"number | null\" }\n  },\n  \"group\": {\n    \"description\": \"/** `true` if this node is a group node (i.e. it has children) */\",\n    \"type\": { \"returnType\": \"boolean | undefined\" }\n  },\n  \"firstChild\": {\n    \"description\": \"/** `true` if this is the first child in this group. Changes when data is sorted. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"lastChild\": {\n    \"description\": \"/** `true` if this is the last child in this group. Changes when data is sorted. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"childIndex\": {\n    \"description\": \"/** Index of this row with respect to its parent when grouping. Changes when data is sorted. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"level\": {\n    \"description\": \"/** How many levels this node is from the top when grouping. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"uiLevel\": {\n    \"description\": \"/** How many levels this node is from the top when grouping in the UI (only different to `parent` when `groupRemoveSingleChildren=true`).*/\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"parent\": {\n    \"description\": \"/** The parent node to this node, or empty if top level. */\",\n    \"type\": { \"returnType\": \"IRowNode<TData> | null\" }\n  },\n  \"stub\": {\n    \"description\": \"/** Used by server-side row model. `true` if this row node is a stub. A stub is a placeholder row with loading icon while waiting from row to be loaded. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"failedLoad\": {\n    \"description\": \"/** Used by server side row model, `true` if this row node failed a load. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowIndex\": {\n    \"description\": \"/** The current row index. If the row is filtered out or in a collapsed group, this value will be `null`. */\",\n    \"type\": { \"returnType\": \"number | null\" }\n  },\n  \"quickFilterAggregateText\": {\n    \"description\": \"/** If using quick filter, stores a string representation of the row for searching against. */\",\n    \"type\": { \"returnType\": \"string | null\" }\n  },\n  \"master\": {\n    \"description\": \"/** `true` if this row is a master row, part of master / detail (ie row can be expanded to show detail). */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"detail\": {\n    \"description\": \"/** `true` if this row is a detail row, part of master / detail (ie child row of an expanded master row). */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"field\": {\n    \"description\": \"/** The field we are grouping on from our row data. */\",\n    \"type\": { \"returnType\": \"string | null\" }\n  },\n  \"key\": {\n    \"description\": \"/** The key value for this group. */\",\n    \"type\": { \"returnType\": \"string | null\" }\n  },\n  \"groupData\": {\n    \"description\": \"/** If using row grouping, contains the group values for this group. */\",\n    \"type\": { \"returnType\": \"{ [key: string]: any | null; } | null\" }\n  },\n  \"aggData\": {\n    \"description\": \"/** If using row grouping and aggregation, contains the aggregation data. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"rowGroupColumn\": {\n    \"description\": \"/** The row group column used for this group. */\",\n    \"type\": { \"returnType\": \"Column | null\" }\n  },\n  \"rowGroupIndex\": {\n    \"description\": \"/** If doing in-memory (client-side) grouping, this is the index of the group column this cell is for.\\n     * This will always be the same as the level, unless we are collapsing groups, i.e. `groupRemoveSingleChildren=true`.\\n    */\",\n    \"type\": { \"returnType\": \"number | null\" }\n  },\n  \"expanded\": {\n    \"description\": \"/** `true` if group is expanded, otherwise `false`. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"leafGroup\": {\n    \"description\": \"/** `true` if this node is a group and the group is the bottom level in the tree. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"allLeafChildren\": {\n    \"description\": \"/** All lowest level nodes beneath this node, no groups. */\",\n    \"type\": { \"returnType\": \"IRowNode<TData>[]\" }\n  },\n  \"allChildrenCount\": {\n    \"description\": \"/** Number of children and grand children. */\",\n    \"type\": { \"returnType\": \"number | null\" }\n  },\n  \"childrenAfterGroup\": {\n    \"description\": \"/** Children of this group. If multi levels of grouping, shows only immediate children. */\",\n    \"type\": { \"returnType\": \"IRowNode<TData>[] | null\" }\n  },\n  \"childrenAfterSort\": {\n    \"description\": \"/** Sorted children of this group. */\",\n    \"type\": { \"returnType\": \"IRowNode<TData>[] | null\" }\n  },\n  \"childrenAfterFilter\": {\n    \"description\": \"/** Filtered children of this group. */\",\n    \"type\": { \"returnType\": \"IRowNode<TData>[] | null\" }\n  },\n  \"footer\": {\n    \"description\": \"/** `true` if row is a footer. Footers have `group = true` and `footer = true`. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"sibling\": {\n    \"description\": \"/** If using footers, reference to the footer node for this group. */\",\n    \"type\": { \"returnType\": \"IRowNode<TData>\" }\n  },\n  \"setSelected\": {\n    \"description\": \"/** Select (or deselect) the node.\\n     * @param newValue -`true` for selection, `false` for deselection.\\n     * @param clearSelection - If selecting, then passing `true` will select the node exclusively (i.e. NOT do multi select). If doing deselection, `clearSelection` has no impact. Default: `false`\\n     * @param suppressFinishActions - Pass `true` to prevent the `selectionChanged` from being fired. Note that the `rowSelected` event will still be fired. Default: `false`\\n     * @param source - Source property that will appear in the `selectionChanged` event. Default: `'api'`\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"newValue\": \"boolean\",\n        \"clearSelection?\": \"boolean\",\n        \"suppressFinishActions?\": \"boolean\",\n        \"source?\": \"SelectionEventSourceType\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isSelected\": {\n    \"description\": \"/** Returns:\\n     * - `true` if node is selected.\\n     * - `false` if the node isn't selected.\\n     * - `undefined` if it's partially selected (group where not all children are selected). \\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean | undefined\" }\n  },\n  \"isRowPinned\": {\n    \"description\": \"/** Returns:\\n     * - `true` if node is either pinned to the `top` or `bottom`.\\n     * - `false` if the node isn't pinned.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isExpandable\": {\n    \"description\": \"/** Returns:\\n    * - `true` if the node can be expanded, i.e it is a group or master row.\\n    * - `false` if the node cannot be expanded.\\n    */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"setExpanded\": {\n    \"description\": \"/** Set the expanded state of this rowNode. Pass `true` to expand and `false` to collapse.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"expanded\": \"boolean\",\n        \"e?\": \"MouseEvent | KeyboardEvent\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isFullWidthCell\": {\n    \"description\": \"/** Returns:\\n     * - `true` if the node is a full width cell.\\n     * - `false` if the node is not a full width cell.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"isHovered\": {\n    \"description\": \"/** Returns:\\n     * - `true` if the node is currently hovered.\\n     * - `false` if the node is not hovered.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"boolean\" }\n  },\n  \"addEventListener\": {\n    \"description\": \"/** Add an event listener. */\",\n    \"type\": {\n      \"arguments\": { \"eventType\": \"RowNodeEventType\", \"listener\": \"Function\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"removeEventListener\": {\n    \"description\": \"/** Remove event listener. */\",\n    \"type\": {\n      \"arguments\": { \"eventType\": \"RowNodeEventType\", \"listener\": \"Function\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"resetQuickFilterAggregateText\": {\n    \"description\": \"/** The first time `quickFilter` runs, the grid creates a one-off string representation of the row.\\n     * This string is then used for the quick filter instead of hitting each column separately.\\n     * When you edit, using grid editing, this string gets cleared down.\\n     * However if you edit without using grid editing, you will need to clear this string down for the row to be updated with the new values.\\n     * Otherwise new values will not work with the `quickFilter`.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"void\" }\n  },\n  \"depthFirstSearch\": {\n    \"description\": \"/** Perform a depth-first search of this node and its children. */\",\n    \"type\": {\n      \"arguments\": { \"callback\": \"(rowNode: IRowNode<TData>) => void\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setRowHeight\": {\n    \"description\": \"/** Sets the row height.\\n     * Call if you want to change the height initially assigned to the row.\\n     * After calling, you must call `api.onRowHeightChanged()` so the grid knows it needs to work out the placement of the rows.\\n     * @param rowHeight - new height of the row\\n     * @param estimated - is this an estimated height. Default: `false`\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"rowHeight\": \"number | undefined | null\",\n        \"estimated?\": \"boolean\"\n      },\n      \"returnType\": \"void\"\n    }\n  },\n  \"setData\": {\n    \"description\": \"/** Replaces the data on the `rowNode`. When this method is called, the grid will refresh the entire rendered row if it is displayed.\\n     */\",\n    \"type\": { \"arguments\": { \"data\": \"TData\" }, \"returnType\": \"void\" }\n  },\n  \"updateData\": {\n    \"description\": \"/** Updates the data on the `rowNode`. When this method is called, the grid will refresh the entire rendered row if it is displayed.\\n     */\",\n    \"type\": { \"arguments\": { \"data\": \"TData\" }, \"returnType\": \"void\" }\n  },\n  \"setDataValue\": {\n    \"description\": \"/** Replaces the value on the `rowNode` for the specified column. When complete,\\n     * the grid will refresh the rendered cell on the required row only.\\n     * **Note**: This method on fires `onCellEditRequest` when the Grid is on **Read Only** mode.\\n     *\\n     * @param colKey The column where the value should be updated\\n     * @param newValue The new value\\n     * @param eventSource The source of the event\\n     * @returns `True` if the value was changed, otherwise `False`.\\n     */\",\n    \"type\": {\n      \"arguments\": {\n        \"colKey\": \"string | Column\",\n        \"newValue\": \"any\",\n        \"eventSource?\": \"string\"\n      },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"getRoute\": {\n    \"description\": \"/** Returns the route of the row node. If the Row Node is a group, it returns the route to that Row Node.\\n     * If the Row Node is not a group, it returns `undefined`.\\n     */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"string[] | undefined\" }\n  }\n}\n"}},{"relativePath":"aggregation-filtering/resources/reference.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"row-object/row-node.AUTO.json\"\n    },\n    \"rowNodeAttributes\": {\n        \"meta\": {\n            \"displayName\": \"RowNode attributes\"\n        },\n        \"level\": {},\n        \"group\": {},\n        \"leafGroup\": {},\n        \"rowGroupColumn\": {}\n    }\n}"}},{"relativePath":"component-date/resources/dateParams.json","internal":{"content":"{\n    \"_config_\": {},\n    \"IDateParams\": {\n        \"filterParams\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IRowModel\",\n                    \"IDateComparatorFunc\",\n                    \"IFilterOptionDef\",\n                    \"ISimpleFilterModelType\",\n                    \"JoinOperator\",\n                    \"FilterButtonType\",\n                    \"ValueGetterFunc\",\n                    \"ValueGetterParams\"\n                ],\n                \"include\": []\n            }\n        }\n    }\n}"}},{"relativePath":"csv-export/resources/csv.json","internal":{"content":"{\n    \"_config_\": {},\n    \"CsvExportParams\": {\n        \"prependContent\": {\n            \"description\": \"Content to put at the top of the file export. A 2D array of CsvCell objects (see [Prepending and Appending Content](#prepending-and-appending-content)). Alternatively, you can pass a multi-line string that is simply appended to the top of the file content.\"\n        },\n        \"appendContent\": {\n            \"description\": \"Content to put at the bottom of the file export. A 2D array of CsvCell objects (see [Prepending and Appending Content](#prepending-and-appending-content)). Alternatively, you can pass a multi-line string that is simply appended to the bottom of the file content.\"\n        },\n        \"fileName\": {\n            \"default\": \"export.csv\"\n        }\n    },\n    \"CsvCell\": {\n        \"data\": {\n            \"isRequired\": true\n        }\n    },\n    \"CsvCellData\": {\n        \"value\": {\n            \"isRequired\": true\n        }\n    }\n}"}},{"relativePath":"excel-export-api/resources/excel-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"ExcelExportParams\": {\n        \"appendContent\": {\n            \"description\": \"Content to put at the top of the exported sheet. An array of ExcelRow objects, see [Extra Content section](/excel-export-extra-content/).\"\n        },\n        \"prependContent\": {\n            \"description\": \"Content to put at the bottom of the exported sheet. An array of ExcelRow objects, see [Extra Content section](/excel-export-extra-content/).\"\n        },\n        \"fileName\": {\n            \"default\": \"export.xlsx\"\n        }\n    },\n    \"ExcelExportMultipleSheetParams\": {\n        \"meta\": {\n            \"page\": {\n                \"name\": \"Multiple Sheets\",\n                \"url\": \"/excel-export-multiple-sheets/\"\n            }\n        }\n    },\n    \"ExcelData\": {\n        \"type\": {\n            \"isRequired\": true\n        },\n        \"value\": {\n            \"isRequired\": true\n        }\n    },\n    \"ExcelImage\": {\n        \"meta\": {},\n        \"id\": {\n            \"isRequired\": true\n        },\n        \"imageType\": {\n            \"isRequired\": true\n        },\n        \"base64\": {\n            \"isRequired\": true,\n            \"more\": {\n                \"name\": \"Base64\",\n                \"url\": \"https://en.wikipedia.org/wiki/Base64\"\n            }\n        }\n    },\n    \"ExcelHeaderFooterContent\": {\n        \"value\": {\n            \"isRequired\": true\n        }\n    },\n    \"ExcelStyle\": {\n        \"id\": {\n            \"isRequired\": true\n        }\n    }\n}"}},{"relativePath":"filter-date/resources/date-filter-params.json","internal":{"content":"{\n    \"_config_\": {},\n    \"IDateFilterParams\": {\n        \"filterOptions\": {\n            \"more\": {\n                \"url\": \"/filter-date/#date-filter-options\",\n                \"name\": \"Filter Options\"\n            }\n        },\n        \"readOnly\": {\n            \"more\": {\n                \"url\": \"/filter-api/#read-only-filter-ui\",\n                \"name\": \"Read-only Filter UI\"\n            }\n        }\n    }\n}\n"}},{"relativePath":"filter-multi/resources/multi-filter.json","internal":{"content":"{\n    \"_config_\": {},\n    \"IMultiFilterParams\": {\n        \"filters\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IFilterType\",\n                    \"IFloatingFilterType\",\n                    \"IFloatingFilterComp\"\n                ],\n                \"include\": []\n            }\n        },\n        \"readOnly\": {\n            \"more\": {\n                \"url\": \"/filter-api/#read-only-filter-ui\",\n                \"name\": \"Read-only Filter UI\"\n            }\n        }\n    },\n    \"IMultiFilterDef\": {\n        \"filter\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IFilterComp\"\n                ],\n                \"include\": []\n            }\n        },\n        \"floatingFilterComponent\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IFloatingFilterComp\"\n                ],\n                \"include\": []\n            }\n        },\n        \"display\": {\n            \"more\": {\n                \"url\": \"/filter-multi/#display-style\",\n                \"name\": \"Display Style\"\n            }\n        }\n    },\n    \"IMultiFilterComp\": {\n        \"getChildFilterInstance\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IFilterComp\"\n                ],\n                \"include\": []\n            },\n            \"more\": {\n                \"url\": \"/filter-multi/#accessing-child-filters\",\n                \"name\": \"Accessing Child Filters\"\n            }\n        },\n        \"setModel\": {\n            \"more\": {\n                \"url\": \"/filter-set-filter-list/#asynchronous-values\",\n                \"name\": \"Set Filter Asynchronous Values\"\n            }\n        }\n    }\n}\n"}},{"relativePath":"filter-set/resources/set-filter-params.json","internal":{"content":"{\n    \"_config_\": {},\n    \"ISetFilterParams\": {\n        \"readOnly\": {\n            \"more\": {\n                \"url\": \"/filter-api/#read-only-filter-ui\",\n                \"name\": \"Read-only Filter UI\"\n            }\n        },\n        \"applyMiniFilterWhileTyping\": {\n            \"more\": {\n                \"name\": \"Keyboard Shortcuts\",\n                \"url\": \"/filter-set-mini-filter/#keyboard-shortcuts\"\n            }\n        },\n        \"cellRenderer\": {\n            \"more\": {\n                \"name\": \"Filter List Cell Renderer\",\n                \"url\": \"/filter-set-filter-list/#cell-renderer\"\n            },\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"ICellRendererComp\"\n                ],\n                \"include\": []\n            }\n        },\n        \"comparator\": {\n            \"more\": {\n                \"name\": \"Sorting Filter Lists\",\n                \"url\": \"/filter-set-filter-list/#sorting-filter-lists\"\n            }\n        },\n        \"defaultToNothingSelected\": {\n            \"more\": {\n                \"name\": \"Default State\",\n                \"url\": \"/filter-set-filter-list/#default-state\"\n            }\n        },\n        \"excelMode\": {\n            \"more\": {\n                \"name\": \"Excel Mode\",\n                \"url\": \"/filter-set-excel-mode/\"\n            }\n        },\n        \"showTooltips\": {\n            \"more\": {\n                \"name\": \"Filter Value Tooltips\",\n                \"url\": \"/filter-set-filter-list/#filter-value-tooltips\"\n            }\n        },\n        \"suppressMiniFilter\": {\n            \"more\": {\n                \"name\": \"Hiding the Mini Filter\",\n                \"url\": \"/filter-set-mini-filter/#hiding-the-mini-filter\"\n            }\n        },\n        \"suppressSorting\": {\n            \"more\": {\n                \"name\": \"Supplying Filter Values\",\n                \"url\": \"/filter-set-filter-list/#supplying-filter-values\"\n            }\n        },\n        \"textFormatter\": {\n            \"more\": {\n                \"name\": \"Custom Searches\",\n                \"url\": \"/filter-set-mini-filter/#custom-searches\"\n            }\n        },\n        \"values\": {\n            \"more\": {\n                \"name\": \"Supplying Filter Values\",\n                \"url\": \"/filter-set-filter-list/#supplying-filter-values\"\n            }\n        },\n        \"refreshValuesOnOpen\": {\n            \"more\": {\n                \"name\": \"Refreshing Values\",\n                \"url\": \"/filter-set-filter-list/#refreshing-values\"\n            }\n        },\n        \"treeList\": {\n            \"more\": {\n                \"name\": \"Tree List\",\n                \"url\": \"/filter-set-tree-list\"\n            }\n        },\n        \"treeListPathGetter\": {\n            \"more\": {\n                \"name\": \"Tree List\",\n                \"url\": \"/filter-set-tree-list\"\n            }\n        },\n        \"treeListFormatter\": {\n            \"more\": {\n                \"name\": \"Tree List\",\n                \"url\": \"/filter-set-tree-list\"\n            }\n        }\n    }\n}\n"}},{"relativePath":"filter-number/resources/number-filter-params.json","internal":{"content":"{\n    \"_config_\": {},\n    \"INumberFilterParams\": {\n        \"filterOptions\": {\n            \"more\": {\n                \"url\": \"/filter-number/#number-filter-options\",\n                \"name\": \"Filter Options\"\n            }\n        },\n        \"readOnly\": {\n            \"more\": {\n                \"url\": \"/filter-api/#read-only-filter-ui\",\n                \"name\": \"Read-only Filter UI\"\n            }\n        }\n    }\n}\n"}},{"relativePath":"filter-set-api/resources/iSetFilter.json","internal":{"content":"{\n    \"_config_\": {},\n    \"ISetFilter\": {\n        \"setModel\": {\n            \"description\": \"Sets the state of the filter using the supplied model. Providing `null` as the model will\\n * de-activate the filter.<br/><br/> **Note:** if you are [providing values asynchronously](/filter-set-filter-list/#asynchronous-values) to the Set Filter, you need to wait for these changes to be applied before performing any further actions by waiting on the returned grid promise, e.g. `filter.setModel({ values: ['a', 'b'] }).then(function() { gridApi.onFilterChanged(); });`\"\n        },\n        \"refreshFilterValues\": {\n            \"more\": {\n                \"name\": \"Refreshing Values\",\n                \"url\": \"/filter-set-filter-list/#refreshing-values\"\n            }\n        }\n    }\n}"}},{"relativePath":"filter-set-excel-mode/resources/excel-mode.json","internal":{"content":"{\n    \"behaviours\": [\n        {\n            \"behaviour\": \"Show all values selected by default\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Allow filter with no values selected\",\n            \"agGrid\": true,\n            \"windowsExcel\": false,\n            \"macExcel\": false\n        },\n        {\n            \"behaviour\": \"Apply the filter immediately when a value is selected/deselected\",\n            \"agGrid\": true,\n            \"windowsExcel\": false,\n            \"macExcel\": \"after 500ms delay\"\n        },\n        {\n            \"behaviour\": \"Apply the filter when the Apply button is clicked\",\n            \"agGrid\": \"when button enabled\",\n            \"windowsExcel\": true,\n            \"macExcel\": \"N/A\"\n        },\n        {\n            \"behaviour\": \"Close the filter when the Apply button is clicked\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": \"N/A\"\n        },\n        {\n            \"behaviour\": \"Press <kbd>Enter</kbd> to apply the filter\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": \"N/A\"\n        },\n        {\n            \"behaviour\": \"Close the filter when <kbd>Enter</kbd> is pressed\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": false\n        },\n        {\n            \"behaviour\": \"Discard the selected state of values that are not visible when the filter is applied\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Hide unavailable values in other Set Filters when a filter is applied\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Type into search box to only show values with matching text\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Combine selected values from different searches before applying\",\n            \"agGrid\": true,\n            \"windowsExcel\": false,\n            \"macExcel\": false\n        },\n        {\n            \"behaviour\": \"Press <kbd>Enter</kbd> in the search box to apply the filter using all visible values\",\n            \"agGrid\": true,\n            \"windowsExcel\": \"unless search box is empty\",\n            \"macExcel\": \"N/A\"\n        },\n        {\n            \"behaviour\": \"Apply the filter immediately using all visible values while typing in the search box\",\n            \"agGrid\": false,\n            \"windowsExcel\": false,\n            \"macExcel\": \"after 500ms delay\"\n        },\n        {\n            \"behaviour\": \"Press <kbd>Enter</kbd> in the search box to select all search text\",\n            \"agGrid\": false,\n            \"windowsExcel\": false,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Restore the applied filter state when the search box is cleared\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": \"N/A\"\n        },\n        {\n            \"behaviour\": \"Clear the search box when the filter is closed\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Discard un-applied changes when the filter is closed\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": \"N/A\"\n        },\n        {\n            \"behaviour\": \"Discard un-applied changes when the Cancel button is clicked\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": \"N/A\"\n        },\n        {\n            \"behaviour\": \"Close the filter when the Cancel button is clicked\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": \"N/A\"\n        },\n        {\n            \"behaviour\": \"Allow blank values to be selected\",\n            \"agGrid\": true,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"Show (Blanks) option at the end of the list of values\",\n            \"agGrid\": [\n                false,\n                \"sorted with other values\"\n            ],\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        },\n        {\n            \"behaviour\": \"The (Blanks) option is shown if the search text matches\",\n            \"agGrid\": false,\n            \"windowsExcel\": true,\n            \"macExcel\": true\n        }\n    ]\n}"}},{"relativePath":"filter-text/resources/text-filter-params.json","internal":{"content":"{\n    \"_config_\": {},\n    \"ITextFilterParams\": {\n        \"filterOptions\": {\n            \"more\": {\n                \"url\": \"/filter-text/#text-filter-options\",\n                \"name\": \"Filter Options\"\n            }\n        },\n        \"readOnly\": {\n            \"more\": {\n                \"url\": \"/filter-api/#read-only-filter-ui\",\n                \"name\": \"Read-only Filter UI\"\n            }\n        }\n    }\n}\n"}},{"relativePath":"global-style-customisation-variables/resources/variables.json","internal":{"content":"{\n  \"_config_\": {},\n  \"variables\": {\n    \"--ag-alpine-active-color\": {\n      \"description\": \"(Alpine theme only) accent colour used for checked checkboxes, range selections, row hover, row selections, selected tab underlines, and input focus outlines in the Alpine theme\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-balham-active-color\": {\n      \"description\": \"(Balham theme only) accent colour used for checked checkboxes, range selections, row selections, and input focus outlines in the Balham theme\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-material-primary-color\": {\n      \"description\": \"(Material theme only) the primary colour as defined in the [Material Design colour system](https://material.io/design/color/). Currently this is used on buttons, range selections and selected tab underlines in the Material theme\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-material-accent-color\": {\n      \"description\": \"(Material theme only) the accent colour as defined in the [Material Design colour system](https://material.io/design/color/). Currently this is used on checked checkboxes in the Material theme\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-foreground-color\": {\n      \"description\": \"Colour of text and icons in primary UI elements like menus\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-background-color\": {\n      \"description\": \"Background colour of the grid\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-secondary-foreground-color\": {\n      \"description\": \"Colour of text and icons in UI elements that need to be slightly less emphasised to avoid distracting attention from data\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-data-color\": {\n      \"description\": \"Colour of text in grid cells\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-header-foreground-color\": {\n      \"description\": \"Colour of text and icons in the header\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-header-background-color\": {\n      \"description\": \"Background colour for all headers, including the grid header, panels etc\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-tooltip-background-color\": {\n      \"description\": \"Background colour for all tooltips\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-disabled-foreground-color\": {\n      \"description\": \"Color of elements that can't be interacted with because they are in a disabled state\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-subheader-background-color\": {\n      \"description\": \"Background colour for second level headings within UI components\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-subheader-toolbar-background-color\": {\n      \"description\": \"Background colour for toolbars directly under subheadings (as used in the chart settings menu)\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-control-panel-background-color\": {\n      \"description\": \"Background for areas of the interface that contain UI controls, like tool panels and the chart settings menu\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-side-button-selected-background-color\": {\n      \"description\": \"Background for the active tab on the side of the control panel\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-selected-row-background-color\": {\n      \"description\": \"Background color of selected rows in the grid and in dropdown menus\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-odd-row-background-color\": {\n      \"description\": \"Background colour applied to every other row\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-modal-overlay-background-color\": {\n      \"description\": \"Background color of the overlay shown over the grid e.g. a data loading indicator\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-row-hover-color\": {\n      \"description\": \"Background color when hovering over rows in the grid and in dropdown menus. Set to `transparent` to disable the hover effect. Note: if you want a rollover on one but not the other, use CSS selectors instead of this property\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-column-hover-color\": {\n      \"description\": \"Background color when hovering over columns in the grid\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-range-selection-border-color\": {\n      \"description\": \"Color to draw around selected cell ranges\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-range-selection-border-style\": {\n      \"description\": \"Border style for range selections, e.g. `solid` or `dashed`. Do not set to `none`, if you need to hide the border set the color to transparent\",\n      \"type\": \"a CSS border style (e.g. `dotted`, `solid` or `none`)\"\n    },\n    \"--ag-range-selection-background-color\": {\n      \"description\": \"Background colour of selected cell ranges.\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-range-selection-background-color-2\": {\n      \"description\": \"Background-color when 2 selected ranges overlap. Hint: for a realistic appearance of multiple semi-transparent colours overlaying, set the opacity to 1-((1-X)^2) where X is the opacity of --ag-range-selection-background-color\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-range-selection-background-color-3\": {\n      \"description\": \"Background-color when 3 selected ranges overlap. Hint: for a realistic appearance of multiple semi-transparent colours overlaying, set the opacity to 1-((1-X)^3) where X is the opacity of --ag-range-selection-background-color\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-range-selection-background-color-4\": {\n      \"description\": \"Background-color when 4 or more selected ranges overlap. Hint: for a realistic appearance of multiple semi-transparent colours overlaying, set the opacity to 1-((1-X)^4) where X is the opacity of --ag-range-selection-background-color\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-range-selection-highlight-color\": {\n      \"description\": \"Background colour to briefly apply to a cell range when it is copied from or pasted into\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-selected-tab-underline-color\": {\n      \"description\": \"Colour of the border drawn under selected tabs\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-selected-tab-underline-width\": {\n      \"description\": \"Thickness of the border drawn under selected tabs\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-selected-tab-underline-transition-speed\": {\n      \"description\": \"Duration of animation used to show and hide the border drawn under selected tabs\",\n      \"type\": \"CSS time duration (e.g. `3s` or `250ms`)\"\n    },\n    \"--ag-range-selection-chart-category-background-color\": {\n      \"description\": \"Background colour for cells that provide categories to the current range chart\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-range-selection-chart-background-color\": {\n      \"description\": \"Background colour for cells that provide data to the current range chart\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-header-cell-hover-background-color\": {\n      \"description\": \"Rollover colour for header cells. If you set this variable and have enabled column reordering by dragging, you may want to set `--ag-header-cell-moving-background-color` to ensure that the rollover colour remains in place during dragging.\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-header-cell-moving-background-color\": {\n      \"description\": \"Colour applied to header cells when the column is being dragged to a new position\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-value-change-value-highlight-background-color\": {\n      \"description\": \"Colour to apply when a cell value changes and enableCellChangeFlash is enabled\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-value-change-delta-up-color\": {\n      \"description\": \"Colour to temporarily apply to cell data when its value increases in an agAnimateShowChangeCellRenderer cell\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-value-change-delta-down-color\": {\n      \"description\": \"Colour to temporarily apply to cell data when its value decreases in an agAnimateShowChangeCellRenderer cell\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-chip-background-color\": {\n      \"description\": \"Colour for the 'chip' that represents a column that has been dragged onto a drop zone\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-borders\": {\n      \"description\": \"Enable or disable borders around most UI elements in the grid. Set this to a border style and thickness, e.g. `solid 1px` to enable borders, or `none` to disable borders. Use the other --ag-borders-* variables for more fine grained control over which UI elements get borders.\",\n      \"type\": \"a CSS border style and size (e.g. `solid 1px` or `none`)\"\n    },\n    \"--ag-border-color\": {\n      \"description\": \"Colour for border around major UI components like the grid itself, headers; footers and tool panels.\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-borders-critical\": {\n      \"description\": \"Enable or disable borders that are critical to UX, e.g. those between headers and rows. Themes that disable borders generally may want to enable these borders. Set this to a border style and thickness, e.g. `solid 1px` to enable borders, or `none` to disable borders.\",\n      \"type\": \"a CSS border style and size (e.g. `solid 1px` or `none`)\"\n    },\n    \"--ag-borders-secondary\": {\n      \"description\": \"Draw decorative borders separating UI elements within components. Set this to a border style and thickness, e.g. `solid 1px` to enable borders, or `none` to disable borders.\",\n      \"type\": \"a CSS border style and size (e.g. `solid 1px` or `none`)\"\n    },\n    \"--ag-secondary-border-color\": {\n      \"description\": \"Colour for borders used to separate elements within a major UI component\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-row-border-style\": {\n      \"description\": \"Default border style for the grid rows. Set this to a border style, e.g. `solid`, `dotted`.\",\n      \"type\": \"a CSS border style (e.g. `solid` or `dotted`)\"\n    },\n    \"--ag-row-border-width\": {\n      \"description\": \"The thickness of the border between grid rows. Set this to a border thickness, e.g. `1px`.\",\n      \"type\": \"a CSS border style (e.g. `solid` or `dotted`)\"\n    },\n    \"--ag-row-border-color\": {\n      \"description\": \"Colour of the border between grid rows, or `transparent` to display no border\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-cell-horizontal-border\": {\n      \"description\": \"Default border for cells. This can be used to specify the border-style and border-color properties e.g. `dashed red` but the border-width is fixed at 1px. Set to `solid transparent` to show no border.\",\n      \"type\": \"a CSS border style and colour (e.g. `solid red`)\"\n    },\n    \"--ag-borders-input\": {\n      \"description\": \"Draw borders around inputs. Set this to a border style and thickness, e.g. `solid 1px` to enable borders, or `none` to disable borders.\",\n      \"type\": \"a CSS border style and size (e.g. `solid 1px` or `none`)\"\n    },\n    \"--ag-input-border-color\": {\n      \"description\": \"Colour for borders around inputs, if enabled with --ag-borders-input\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-borders-input-invalid\": {\n      \"description\": \"Draw borders around inputs when their content has failed validation. Set this to a border style and thickness, e.g. `solid 2px` to enable borders. Set to `none` to disable borders but ensure that you have added styles to differentiate invalid from valid inputs.\",\n      \"type\": \"a CSS border style and size (e.g. `solid 1px` or `none`)\"\n    },\n    \"--ag-input-border-color-invalid\": {\n      \"description\": \"The color for the border around invalid inputs, if enabled with --ag-borders-input-invalid\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-borders-side-button\": {\n      \"description\": \"Draw borders around the vertical tabs on the side of the control panel. Set this to a border style and thickness, e.g. `solid 1px` to enable borders, or `none` to disable borders.\",\n      \"type\": \"a CSS border style and size (e.g. `solid 1px` or `none`)\"\n    },\n    \"--ag-border-radius\": {\n      \"description\": \"Border radius applied to many elements such as dialogs and form widgets\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-invalid-color\": {\n      \"description\": \"The color applied to form elements in an invalid state\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-input-disabled-border-color\": {\n      \"description\": \"The border around disabled text inputs\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-input-disabled-background-color\": {\n      \"description\": \"The background colour of disabled text inputs\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-checkbox-background-color\": {\n      \"description\": \"the background of an checkbox\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-checkbox-border-radius\": {\n      \"description\": \"edge rounding a checkboxes\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-checkbox-checked-color\": {\n      \"description\": \"color of the `checkbox-checked` icon that is shown in a checked checkbox\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-checkbox-unchecked-color\": {\n      \"description\": \"color of the `checkbox-unchecked` icon that is shown in an unchecked checkbox\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-checkbox-indeterminate-color\": {\n      \"description\": \"color of the `checkbox-indeterminate` icon that is shown in an indeterminate checkbox\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-toggle-button-border-width\": {\n      \"description\": \"size of the toggle button outer border\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-toggle-button-on-border-color\": {\n      \"description\": \"colour of the toggle button outer border in its 'on' state\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-toggle-button-off-border-color\": {\n      \"description\": \"colour of the toggle button's outer border in its 'off' state\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-toggle-button-on-background-color\": {\n      \"description\": \"colour of the toggle button background in its 'on' state\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-toggle-button-off-background-color\": {\n      \"description\": \"colour of the toggle button background in its 'off' state\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-toggle-button-switch-background-color\": {\n      \"description\": \"colour of the toggle button switch (the bit that slides from left to right)\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-toggle-button-switch-border-color\": {\n      \"description\": \"border colour of the toggle button switch (the bit that slides from left to right)\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-toggle-button-width\": {\n      \"description\": \"width of the whole toggle button component\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-toggle-button-height\": {\n      \"description\": \"height of the whole toggle button component\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-input-focus-box-shadow\": {\n      \"description\": \"box shadow around focussed inputs\",\n      \"type\": \"CSS box-shadow value (e.g. `0 5px 10px black`)\"\n    },\n    \"--ag-input-focus-border-color\": {\n      \"description\": \"Colour of the border around focussed inputs. Set to `var(--ag-input-border-color)` if you do not want to change the border colour on focus.\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-minichart-selected-chart-color\": {\n      \"description\": \"Color of border around selected chart style\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-minichart-selected-page-color\": {\n      \"description\": \"Color of dot representing selected page of chart styles\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-grid-size\": {\n      \"description\": \"grid-size is the main control for affecting how tightly data and UI elements are packed together. All padding and spacing in the grid is defined as a multiple of grid-size, so increasing it will make most components larger by increasing their internal white space while leaving the size of text and icons unchanged.\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-icon-size\": {\n      \"description\": \"The size of square icons and icon-buttons\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-widget-container-horizontal-padding\": {\n      \"description\": \"The horizontal padding of containers that contain stacked widgets, such as menus and tool panels\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-widget-container-vertical-padding\": {\n      \"description\": \"The vertical padding of containers that contain stacked widgets, such as menus and tool panels\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-widget-horizontal-spacing\": {\n      \"description\": \"The horizontal spacing between widgets in containers that contain horizontally stacked widgets such as the column groups header component.\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-widget-vertical-spacing\": {\n      \"description\": \"The vertical spacing between widgets in containers that contain vertically stacked widgets\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-cell-horizontal-padding\": {\n      \"description\": \"Horizontal padding for grid and header cells (vertical padding is not set explicitly, but inferred from row-height / header-height\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-cell-widget-spacing\": {\n      \"description\": \"Horizontal spacing between widgets inside cells (e.g. row group expand buttons and row selection checkboxes)\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-row-height\": {\n      \"description\": \"Height of grid rows\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-header-height\": {\n      \"description\": \"Height of header rows\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-list-item-height\": {\n      \"description\": \"Height of items in lists (example of lists are dropdown select inputs and column menu set filters)\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-header-column-separator-display\": {\n      \"description\": \"Whether to display the header column separator - a vertical line that displays between every header cell\",\n      \"type\": \"CSS display value - `block` to show or `none` to hide\"\n    },\n    \"--ag-header-column-separator-height\": {\n      \"description\": \"Height of the header column separator. Percentage values are relative to the header height.\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-header-column-separator-width\": {\n      \"description\": \"Width of the header column separator\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-header-column-separator-color\": {\n      \"description\": \"Colour of the header column separator\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-header-column-resize-handle-display\": {\n      \"description\": \"Whether to show the header column resize handle - a vertical line that displays only between resizeable header columns, indicating where to drag in order to resize the column.\",\n      \"type\": \"CSS display value - `block` to show or `none` to hide\"\n    },\n    \"--ag-header-column-resize-handle-height\": {\n      \"description\": \"Height of the header resize handle. Percentage values are relative to the header height.\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-header-column-resize-handle-width\": {\n      \"description\": \"Width of the header resize handle.\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-header-column-resize-handle-color\": {\n      \"description\": \"Colour of the header resize handle\",\n      \"type\": \"CSS color (e.g. `red` or `#fff`)\"\n    },\n    \"--ag-column-select-indent-size\": {\n      \"description\": \"How much to indent child columns in the column tool panel relative to their parent\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-set-filter-indent-size\": {\n      \"description\": \"How much to indent child filter items in the Set Filter List relative to their parent\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-row-group-indent-size\": {\n      \"description\": \"How much to indent child rows in the grid relative to their parent row\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-filter-tool-panel-group-indent\": {\n      \"description\": \"How much to indent child columns in the filters tool panel relative to their parent\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-tab-min-width\": {\n      \"description\": \"Minimum width of a tabbed menu (usd in charts)\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-menu-min-width\": {\n      \"description\": \"Minimum width of a menu that is not tabbed\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-side-bar-panel-width\": {\n      \"description\": \"Width of the sidebar that contains the columns and filters tool panels\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-font-family\": {\n      \"description\": \"Font family used for all text\",\n      \"type\": \"CSS font-family value (e.g. `font-family: `'Gill Sans', sans-serif`)\"\n    },\n    \"--ag-font-size\": {\n      \"description\": \"Default font size for text in the grid\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-icon-font-family\": {\n      \"description\": \"The [icon font](/custom-icons/) used by the grid.\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-card-radius\": {\n      \"description\": \"cards are elements that float above the UI\",\n      \"type\": \"CSS length (e.g. `0`, `4px` or `50%`)\"\n    },\n    \"--ag-card-shadow\": {\n      \"description\": \"the default card shadow applies to simple cards like column drag indicators and text editors\",\n      \"type\": \"CSS box-shadow value (e.g. `0 5px 10px black`)\"\n    },\n    \"--ag-popup-shadow\": {\n      \"description\": \"override the shadow for popups - cards that contain complex UI, like menus and charts\",\n      \"type\": \"CSS box-shadow value (e.g. `0 5px 10px black`)\"\n    }\n  }\n}\n"}},{"relativePath":"integrated-charts-api-cross-filter-chart/resources/cross-filter-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"CreateCrossFilterChartParams\": {\n        \"chartType\": {\n            \"isRequired\": true,\n            \"description\": \"The type of cross-filtering chart to create.\",\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [],\n                \"include\": []\n            }\n        },\n        \"cellRange\": {\n            \"isRequired\": true,\n            \"description\": \"Defines the list of columns to be charted. Note that cross-filter charts include all rows in the grid so there is no need to specify the range of rows.\"\n        },\n        \"chartThemeName\": {\n            \"options\": [\n                \"ag-default\",\n                \"ag-default-dark\",\n                \"ag-material\",\n                \"ag-material-dark\",\n                \"ag-pastel\",\n                \"ag-pastel-dark\",\n                \"ag-vivid\",\n                \"ag-vivid-dark\",\n                \"ag-solar\",\n                \"ag-solar-dark\"\n            ],\n            \"description\": \"The default theme to use for the created chart. In addition to the default options you listed, you can also provide your own [custom chart themes](/integrated-charts-customisation/#custom-chart-themes).\"\n        },\n        \"chartContainer\": {\n            \"description\": \"If the chart is to be displayed outside of the grid then a chart container should be provided. If the chart is to be displayed using the grid's popup window mechanism then leave as `undefined`.\"\n        },\n        \"suppressChartRanges\": {\n            \"default\": true,\n            \"description\": \"By default, when a cross-filter chart is displayed using the grid, the grid will not highlight the range the chart is charting when the chart gets focus. To show the chart range set `suppressChartRanges=false`.\"\n        },\n        \"aggFunc\": {\n            \"description\": \"The aggregation function that should be applied to all series data. The built-in aggregation functions are `'sum'`, `'min'`, `'max'`, `'count'`, `'avg'`, `'first'`, `'last'`. Alternatively, custom aggregation functions can be provided if they conform to the `IAggFunc` interface shown here.\"\n        },\n        \"unlinkChart\": {\n            \"default\": false,\n            \"description\": \"When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart.\",\n            \"more\": {\n                \"name\": \"Unlinking Charts\",\n                \"url\": \"/integrated-charts-toolbar/#unlinking-charts\"\n            }\n        },\n        \"chartThemeOverrides\": {\n            \"description\": \"Allows specific chart options in the current theme to be overridden.\",\n            \"more\": {\n                \"name\": \"Overriding Existing Themes\",\n                \"url\": \"/integrated-charts-customisation/#overriding-existing-themes\"\n            }\n        }\n    }\n}"}},{"relativePath":"integrated-charts-api-pivot-chart/resources/chart-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"CreatePivotChartParams\": {\n        \"meta\": {\n            \"displayName\": \"createPivotChart params\"\n        },\n        \"chartType\": {\n            \"isRequired\": true,\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [],\n                \"include\": [\n                    \"ChartType\"\n                ]\n            }\n        },\n        \"chartThemeName\": {\n            \"options\": [\n                \"ag-default\",\n                \"ag-default-dark\",\n                \"ag-material\",\n                \"ag-material-dark\",\n                \"ag-pastel\",\n                \"ag-pastel-dark\",\n                \"ag-vivid\",\n                \"ag-vivid-dark\",\n                \"ag-solar\",\n                \"ag-solar-dark\"\n            ],\n            \"description\": \"The default theme to use for the created chart. In addition to the default options you listed, you can also provide your own [custom chart themes](/integrated-charts-customisation/#custom-chart-themes).\"\n        },\n        \"chartContainer\": {\n            \"description\": \"If the chart is to be displayed outside of the grid then a chart container should be provided. If the chart is to be displayed using the grid's popup window mechanism then leave as `undefined`.\"\n        },\n        \"chartThemeOverrides\": {\n            \"description\": \"Allows specific chart options in the current theme to be overridden.\",\n            \"more\": {\n                \"name\": \"Overriding Existing Themes\",\n                \"url\": \"/integrated-charts-customisation/#overriding-existing-themes\"\n            }\n        },\n        \"unlinkChart\": {\n            \"default\": false,\n            \"description\": \"When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart.\",\n            \"more\": {\n                \"name\": \"Unlinking Charts\",\n                \"url\": \"/integrated-charts-toolbar/#unlinking-charts\"\n            }\n        }\n    }\n}"}},{"relativePath":"integrated-charts-api-range-chart/resources/chart-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"CreateRangeChartParams\": {\n        \"meta\": {\n            \"displayName\": \"createRangeChart params\"\n        },\n        \"chartType\": {\n            \"isRequired\": true,\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [],\n                \"include\": [\n                    \"ChartType\"\n                ]\n            }\n        },\n        \"cellRange\": {\n            \"isRequired\": true,\n            \"description\": \"Defines the range of cells to be charted. A range is normally defined with start and end rows and a list of columns. If the start and end rows are omitted, the range covers all rows (i.e. entire column contents are selected). The columns can either be defined using a start and end column (the range will cover the start and end columns and all columns in between), or columns can be supplied specifically in cases where the required columns are not adjacent to each other. See [Add Cell Range](/range-selection/#addcellrangerangeselection) for more information.\"\n        },\n        \"chartThemeName\": {\n            \"options\": [\n                \"ag-default\",\n                \"ag-default-dark\",\n                \"ag-material\",\n                \"ag-material-dark\",\n                \"ag-pastel\",\n                \"ag-pastel-dark\",\n                \"ag-vivid\",\n                \"ag-vivid-dark\",\n                \"ag-solar\",\n                \"ag-solar-dark\"\n            ],\n            \"description\": \"The default theme to use for the created chart. In addition to the default options you listed, you can also provide your own [custom chart themes](/integrated-charts-customisation/#custom-chart-themes).\"\n        },\n        \"chartContainer\": {\n            \"description\": \"If the chart is to be displayed outside of the grid then a chart container should be provided. If the chart is to be displayed using the grid's popup window mechanism then leave as `undefined`.\"\n        },\n        \"suppressChartRanges\": {\n            \"default\": false,\n            \"description\": \"By default, when a chart is displayed using the grid, the grid will highlight the range the chart is charting when the chart gets focus. To suppress this behaviour, set `suppressChartRanges=true`.\"\n        },\n        \"aggFunc\": {\n            \"description\": \"The aggregation function that should be applied to all series data. The built-in aggregation functions are <code>'sum'</code>, <code>'min'</code>, <code>'max'</code>, <code>'count'</code>, <code>'avg'</code>, <code>'first'</code>, <code>'last'</code>. Alternatively, custom aggregation functions can be provided if they conform to the <code>IAggFunc</code> interface shown here.\"\n        },\n        \"unlinkChart\": {\n            \"default\": false,\n            \"description\": \"When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart.\",\n            \"more\": {\n                \"name\": \"Unlinking Charts\",\n                \"url\": \"/integrated-charts-toolbar/#unlinking-charts\"\n            }\n        },\n        \"chartThemeOverrides\": {\n            \"description\": \"Allows specific chart options in the current theme to be overridden.\",\n            \"more\": {\n                \"name\": \"Overriding Existing Themes\",\n                \"url\": \"/integrated-charts-customisation/#overriding-existing-themes\"\n            }\n        }\n    }\n}"}},{"relativePath":"row-models/resources/row-models.json","internal":{"content":"{\n    \"features\": [\n        {\n            \"feature\": \"All Data in Client\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": false,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"Fetch Data as User Scrolls\",\n            \"clientSide\": false,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Row Sorting](/row-sorting/)\",\n            \"clientSide\": \"client\",\n            \"infinite\": \"server\",\n            \"serverSide\": \"client OR server\",\n            \"viewport\": \"server\"\n        },\n        {\n            \"feature\": \"[Row Filtering](/filtering/)\",\n            \"clientSide\": \"client\",\n            \"infinite\": \"server\",\n            \"serverSide\": \"client OR server\",\n            \"viewport\": \"server\"\n        },\n        {\n            \"feature\": \"[Quick Filter](/filter-quick/)\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": false,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"[Floating Filters](/floating-filters/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Dynamic Row Height](/row-height/)\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"[Row Grouping](/grouping/)\",\n            \"clientSide\": \"client\",\n            \"infinite\": false,\n            \"serverSide\": \"server\",\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"[Row Pivoting](/grouping/)\",\n            \"clientSide\": \"client\",\n            \"infinite\": false,\n            \"serverSide\": \"server\",\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"Lazy Loading Row Groups\",\n            \"clientSide\": false,\n            \"infinite\": false,\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"[Value Aggregation](/aggregation/)\",\n            \"clientSide\": \"client\",\n            \"infinite\": false,\n            \"serverSide\": \"server\",\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"[Row Selection](/row-selection/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Specify Selectable Rows](/row-selection/#specify-selectable-rows)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"[Header Checkbox Selection](/row-selection/#header-checkbox-selection)\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"[Range Selection](/range-selection/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Column Spanning](/column-spanning/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Row Spanning](/row-spanning/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Column Pinning](/column-pinning/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Row Pinning](/row-pinning/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Pagination](/row-pagination/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Custom Filters](/component-filter/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Cell Editors](/component-cell-editor/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Cell Renderers](/component-cell-renderer/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Value Getter](/value-getters/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Value Setter](/value-setters/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Value Formatter](/value-formatters/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Value Parser](/value-parsers/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Full Width Rows](/full-width-rows/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[CSV Export](/csv-export/)\",\n            \"clientSide\": true,\n            \"infinite\": \"data on screen\",\n            \"serverSide\": \"data on screen\",\n            \"viewport\": \"data on screen\"\n        },\n        {\n            \"feature\": \"[Excel Export](/excel-export/)\",\n            \"clientSide\": true,\n            \"infinite\": \"data on screen\",\n            \"serverSide\": \"data on screen\",\n            \"viewport\": \"data on screen\"\n        },\n        {\n            \"feature\": \"[Clipboard Copy & Paste](/clipboard/)\",\n            \"clientSide\": true,\n            \"infinite\": true,\n            \"serverSide\": true,\n            \"viewport\": true\n        },\n        {\n            \"feature\": \"[Update via Transaction](/data-update-transactions/)\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": true,\n            \"viewport\": false\n        },\n        {\n            \"feature\": \"[Update via Async Transactions](/data-update-high-frequency/)\",\n            \"clientSide\": true,\n            \"infinite\": false,\n            \"serverSide\": true,\n            \"viewport\": false\n        }\n    ]\n}"}},{"relativePath":"row-object/resources/events.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"row-object/row-node.AUTO.json\",\n        \"suppressMissingPropCheck\": true\n    },\n    \"rowNodeEvents\": {\n        \"meta\": {\n            \"displayName\": \"Events on Row Nodes\",\n            \"description\": \"The following events can be listened to on `rowNodes`:\",\n            \"isEvent\": true\n        },\n        \"rowSelected\": {\n            \"description\": \"Row was selected or unselected.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"mouseEnter\": {\n            \"description\": \"Mouse has entered the row.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"mouseLeave\": {\n            \"description\": \"Mouse has left the row.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"cellChanged\": {\n            \"description\": \"One cell value has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"CellChangedEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"allChildrenCountChanged\": {\n            \"description\": \"`allChildrenCount` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"dataChanged\": {\n            \"description\": \"`rowData` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"DataChangedEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"heightChanged\": {\n            \"description\": \"`rowHeight` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"topChanged\": {\n            \"description\": \"`rowTop` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"firstChildChanged\": {\n            \"description\": \"`firstChild` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"lastChildChanged\": {\n            \"description\": \"`lastChild` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"childIndexChanged\": {\n            \"description\": \"`childIndex` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"rowIndexChanged\": {\n            \"description\": \"`rowIndex` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"expandedChanged\": {\n            \"description\": \"`expanded` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        },\n        \"uiLevelChanged\": {\n            \"description\": \"`uiLevel` has changed.\",\n            \"type\": {\n                \"arguments\": {\n                    \"event\": \"RowNodeEvent\"\n                },\n                \"returnType\": \"void\"\n            }\n        }\n    }\n}"}},{"relativePath":"row-object/resources/methods.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"row-object/row-node.AUTO.json\"\n    },\n    \"rowNodeMethods\": {\n        \"meta\": {\n            \"displayName\": \"Row Node Methods\"\n        },\n        \"setSelected\": {\n            \"description\": \"Select (or deselect) the node. <ul class='content'><li>`newValue` - `true` for selection, `false` for deselection.</li><li>`clearSelection` - If selecting, then passing `true` will select the node exclusively (i.e. NOT do multi select). If doing deselection, `clearSelection` has no impact.</li><li>`suppressFinishActions` - Pass `true` to prevent the `selectionChanged` from being fired. Note that the `rowSelected` event will still be fired. </li>\"\n        },\n        \"isSelected\": {},\n        \"isRowPinned\": {},\n        \"isExpandable\": {},\n        \"setExpanded\": {},\n        \"isHovered\": {},\n        \"isFullWidthCell\": {},\n        \"addEventListener\": {},\n        \"removeEventListener\": {},\n        \"resetQuickFilterAggregateText\": {},\n        \"depthFirstSearch\": {},\n        \"setRowHeight\": {},\n        \"updateData\": {},\n        \"setData\": {\n            \"more\": {\n                \"name\": \"Client-Side Single Row Update\",\n                \"url\": \"/data-update-single-row-cell/\"\n            }\n        },\n        \"setDataValue\": {\n            \"more\": {\n                \"name\": \"Client-Side Single Cell Update\",\n                \"url\": \"/data-update-single-row-cell/\"\n            }\n        },\n        \"getRoute\": {\n            \"more\": {\n                \"name\": \"Server-Side Model: Open by Default\",\n                \"url\": \"/server-side-model-grouping/#open-by-default\"\n            }\n        }\n    }\n}"}},{"relativePath":"row-object/resources/reference.json","internal":{"content":"{\n    \"_config_\": {\n        \"codeSrc\": \"row-object/row-node.AUTO.json\"\n    },\n    \"rowNodeAttributes\": {\n        \"meta\": {\n            \"displayName\": \"All Row Node Attributes\"\n        },\n        \"id\": {},\n        \"data\": {},\n        \"displayed\": {},\n        \"rowPinned\": {},\n        \"selectable\": {},\n        \"master\": {},\n        \"detail\": {},\n        \"rowHeight\": {},\n        \"rowTop\": {},\n        \"group\": {},\n        \"parent\": {},\n        \"firstChild\": {},\n        \"lastChild\": {},\n        \"childIndex\": {},\n        \"level\": {},\n        \"uiLevel\": {},\n        \"rowIndex\": {},\n        \"stub\": {},\n        \"failedLoad\": {},\n        \"quickFilterAggregateText\": {}\n    },\n    \"groupNodeAttributes\": {\n        \"meta\": {\n            \"displayName\": \"Group Node Attributes\"\n        },\n        \"groupData\": {},\n        \"aggData\": {},\n        \"key\": {},\n        \"field\": {},\n        \"rowGroupColumn\": {},\n        \"rowGroupIndex\": {},\n        \"expanded\": {},\n        \"footer\": {},\n        \"allLeafChildren\": {},\n        \"childrenAfterGroup\": {},\n        \"childrenAfterFilter\": {},\n        \"childrenAfterSort\": {},\n        \"allChildrenCount\": {},\n        \"leafGroup\": {},\n        \"sibling\": {}\n    }\n}"}},{"relativePath":"side-bar/resources/sideBar.json","internal":{"content":"{\n    \"_config_\": {},\n    \"SideBarDef\": {\n        \"toolPanels\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IToolPanelComp\"\n                ],\n                \"include\": []\n            }\n        }\n    },\n    \"ToolPanelDef\": {\n        \"toolPanel\": {\n            \"interfaceHierarchyOverrides\": {\n                \"exclude\": [\n                    \"IToolPanelComp\"\n                ],\n                \"include\": []\n            }\n        },\n        \"labelKey\": {\n            \"description\": \"The key used for [localisation](/localisation/) for displaying the label. The label is displayed in the tab button.\"\n        },\n        \"iconKey\": {\n            \"description\": \"The [key of the icon](/custom-icons/) to be used as a graphical aid beside the label in the side bar.\"\n        }\n    }\n}"}},{"relativePath":"sparklines-area-customisation/resources/area-sparkline-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"AreaSparklineOptions\": {\n        \"axis\": {\n            \"more\": {\n                \"name\": \"SparklineAxisOptions\",\n                \"url\": \"/sparklines-area-customisation/#sparklineaxisoptions\"\n            }\n        },\n        \"marker\": {\n            \"more\": {\n                \"name\": \"SparklineMarkerOptions\",\n                \"url\": \"/sparklines-area-customisation/#sparklinemarkeroptions\"\n            }\n        }\n    },\n    \"SparklineMarkerOptions\": {\n        \"shape\": {\n            \"options\": [\n                \"circle\",\n                \"diamond\",\n                \"square\"\n            ]\n        }\n    }\n}"}},{"relativePath":"sparklines-bar-customisation/resources/bar-sparkline-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"BarSparklineOptions\": {\n        \"axis\": {\n            \"more\": {\n                \"name\": \"SparklineAxisOptions\",\n                \"url\": \"/sparklines-bar-customisation/#sparklineaxisoptions\"\n            }\n        },\n        \"label\": {\n            \"more\": {\n                \"name\": \"SparklineLabelOptions\",\n                \"url\": \"/sparklines-bar-customisation/#sparklinelabeloptions\"\n            }\n        }\n    }\n}"}},{"relativePath":"sparklines-column-customisation/resources/column-sparkline-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"ColumnSparklineOptions\": {\n        \"axis\": {\n            \"more\": {\n                \"name\": \"SparklineAxisOptions\",\n                \"url\": \"/sparklines-column-customisation/#sparklineaxisoptions\"\n            }\n        },\n        \"label\": {\n            \"more\": {\n                \"name\": \"SparklineLabelOptions\",\n                \"url\": \"/sparklines-bar-customisation/#sparklinelabeloptions\"\n            }\n        }\n    }\n}"}},{"relativePath":"sparklines-line-customisation/resources/line-sparkline-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"LineSparklineOptions\": {\n        \"marker\": {\n            \"more\": {\n                \"name\": \"SparklineMarkerOptions\",\n                \"url\": \"/sparklines-line-customisation/#sparklinemarkeroptions\"\n            }\n        },\n        \"axis\": {\n            \"more\": {\n                \"name\": \"SparklineAxisOptions\",\n                \"url\": \"/sparklines-line-customisation/#sparklineaxisoptions\"\n            }\n        }\n    },\n    \"SparklineMarkerOptions\": {\n        \"shape\": {\n            \"options\": [\n                \"circle\",\n                \"diamond\",\n                \"square\"\n            ]\n        }\n    }\n}"}},{"relativePath":"sparklines-tooltips/resources/sparkline-tooltip-api.json","internal":{"content":"{\n    \"_config_\": {},\n    \"SparklineTooltipOptions\": {\n        \"renderer\": {\n            \"more\": {\n                \"name\": \"TooltipRendererResult\",\n                \"url\": \"/sparklines-tooltips/#tooltiprendererparams\"\n            }\n        }\n    }\n}"}},{"relativePath":"charts-themes/examples/advanced-theme/angular/package.json","internal":{"content":"{\n    \"name\": \"ag-chart-packages\",\n    \"description\": \"NOTE: This package.json file is solely used by Plunker to look up type definitions.\",\n    \"dependencies\": {\n        \"@angular/core\": \"*\",\n        \"ag-charts-community\": \"*\"\n    }\n}"}},{"relativePath":"charts-themes/examples/advanced-theme/typescript/package.json","internal":{"content":"{\n    \"name\": \"ag-chart-packages\",\n    \"description\": \"NOTE: This package.json file is solely used by Plunker to look up type definitions.\",\n    \"dependencies\": {\n        \"ag-charts-community\": \"*\"\n    }\n}"}},{"relativePath":"modules-building/examples/module-grid/reactFunctionalTs/package.json","internal":{"content":"{\n    \"name\": \"ag-grid-modules\",\n    \"description\": \"NOTE: This package.json file is solely used by Plunker to look up type definitions.\",\n    \"dependencies\": {\n        \"react\": \"18\",\n        \"react-dom\": \"18\",\n        \"@ag-grid-community/react\": \"*\",\n        \"@ag-grid-community/core\": \"*\",\n        \"@ag-grid-community/client-side-row-model\": \"*\",\n        \"@ag-grid-enterprise/excel-export\": \"*\",\n        \"@ag-grid-enterprise/menu\": \"*\"\n    }\n}"}},{"relativePath":"charts-line-series/examples/real-time/provided/modules/reactFunctionalTs/package.json","internal":{"content":"{\n    \"name\": \"ag-chart-packages\",\n    \"description\": \"NOTE: This package.json file is solely used by Plunker to look up type definitions.\",\n    \"dependencies\": {\n        \"react\": \"18\",\n        \"react-dom\": \"18\",\n        \"ag-charts-community\": \"^7.0.0\",\n        \"ag-charts-react\": \"^7.0.0\"\n    }\n}"}},{"relativePath":"charts-overview/examples/real-time-data-updates/provided/modules/reactFunctionalTs/package.json","internal":{"content":"{\n    \"name\": \"ag-chart-packages\",\n    \"description\": \"NOTE: This package.json file is solely used by Plunker to look up type definitions.\",\n    \"dependencies\": {\n        \"react\": \"18\",\n        \"react-dom\": \"18\",\n        \"ag-charts-community\": \"^7.0.0\",\n        \"ag-charts-react\": \"^7.0.0\"\n    }\n}"}},{"relativePath":"grid-api/grid-options.AUTO.json","internal":{"content":"{\n  \"statusBar\": {\n    \"description\": \"/** Specifies the status bar components to use in the status bar. */\",\n    \"type\": { \"returnType\": \"{ statusPanels: StatusPanelDef[]; }\" }\n  },\n  \"sideBar\": {\n    \"description\": \"/** Specifies the side bar components. */\",\n    \"type\": { \"returnType\": \"SideBarDef | string | string[] | boolean | null\" }\n  },\n  \"suppressContextMenu\": {\n    \"description\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"preventDefaultOnContextMenu\": {\n    \"description\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"allowContextMenuWithControlKey\": {\n    \"description\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressMenuHide\": {\n    \"description\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableBrowserTooltips\": {\n    \"description\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"tooltipShowDelay\": {\n    \"description\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"tooltipHideDelay\": {\n    \"description\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"tooltipMouseTrack\": {\n    \"description\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"popupParent\": {\n    \"description\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n    \"type\": { \"returnType\": \"HTMLElement | null\" }\n  },\n  \"copyHeadersToClipboard\": {\n    \"description\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"copyGroupHeadersToClipboard\": {\n    \"description\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"clipboardDeliminator\": {\n    \"description\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"clipboardDelimiter\": {\n    \"description\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"suppressCopyRowsToClipboard\": {\n    \"description\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressCopySingleCellRanges\": {\n    \"description\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressLastEmptyLineOnPaste\": {\n    \"description\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressClipboardPaste\": {\n    \"description\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressClipboardApi\": {\n    \"description\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressCutToClipboard\": {\n    \"description\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"columnDefs\": {\n    \"description\": \"/** Array of Column / Column Group definitions. */\",\n    \"type\": { \"returnType\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\" }\n  },\n  \"defaultColDef\": {\n    \"description\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n    \"type\": { \"returnType\": \"ColDef<TData>\" }\n  },\n  \"defaultColGroupDef\": {\n    \"description\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n    \"type\": { \"returnType\": \"Partial<ColGroupDef<TData>>\" }\n  },\n  \"columnTypes\": {\n    \"description\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n    \"type\": { \"returnType\": \"{ [key: string]: ColDef<TData>; }\" }\n  },\n  \"maintainColumnOrder\": {\n    \"description\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressFieldDotNotation\": {\n    \"description\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"headerHeight\": {\n    \"description\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"groupHeaderHeight\": {\n    \"description\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"floatingFiltersHeight\": {\n    \"description\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"pivotHeaderHeight\": {\n    \"description\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"pivotGroupHeaderHeight\": {\n    \"description\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"allowDragFromColumnsToolPanel\": {\n    \"description\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressMovableColumns\": {\n    \"description\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressColumnMoveAnimation\": {\n    \"description\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressDragLeaveHidesColumns\": {\n    \"description\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressRowGroupHidesColumns\": {\n    \"description\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"colResizeDefault\": {\n    \"description\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n    \"type\": { \"returnType\": \"'shift'\" }\n  },\n  \"suppressAutoSize\": {\n    \"description\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"autoSizePadding\": {\n    \"description\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"skipHeaderOnAutoSize\": {\n    \"description\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"components\": {\n    \"description\": \"/** A map of component names to components. */\",\n    \"type\": { \"returnType\": \"{ [p: string]: any; }\" }\n  },\n  \"frameworkComponents\": {\n    \"description\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n    \"type\": { \"returnType\": \"{ [p: string]: { new(): any; }; } | any\" }\n  },\n  \"reactUi\": {\n    \"description\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressReactUi\": {\n    \"description\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"editType\": {\n    \"description\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n    \"type\": { \"returnType\": \"'fullRow'\" }\n  },\n  \"singleClickEdit\": {\n    \"description\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressClickEdit\": {\n    \"description\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"readOnlyEdit\": {\n    \"description\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"stopEditingWhenCellsLoseFocus\": {\n    \"description\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enterMovesDown\": {\n    \"description\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enterMovesDownAfterEdit\": {\n    \"description\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableCellEditingOnBackspace\": {\n    \"description\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"undoRedoCellEditing\": {\n    \"description\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"undoRedoCellEditingLimit\": {\n    \"description\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"defaultCsvExportParams\": {\n    \"description\": \"/** A default configuration object used to export to CSV. */\",\n    \"type\": { \"returnType\": \"CsvExportParams\" }\n  },\n  \"suppressCsvExport\": {\n    \"description\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"defaultExcelExportParams\": {\n    \"description\": \"/** A default configuration object used to export to Excel. */\",\n    \"type\": { \"returnType\": \"ExcelExportParams\" }\n  },\n  \"suppressExcelExport\": {\n    \"description\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"excelStyles\": {\n    \"description\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n    \"type\": { \"returnType\": \"ExcelStyle[]\" }\n  },\n  \"quickFilterText\": {\n    \"description\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"cacheQuickFilter\": {\n    \"description\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"excludeHiddenColumnsFromQuickFilter\": {\n    \"description\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"excludeChildrenWhenTreeDataFiltering\": {\n    \"description\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableCharts\": {\n    \"description\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"chartThemes\": {\n    \"description\": \"/** The list of chart themes to be used. */\",\n    \"type\": { \"returnType\": \"string[]\" }\n  },\n  \"customChartThemes\": {\n    \"description\": \"/** A map containing custom chart themes. */\",\n    \"type\": { \"returnType\": \"{ [name: string]: AgChartTheme }\" }\n  },\n  \"chartThemeOverrides\": {\n    \"description\": \"/** Chart theme overrides applied to all themes. */\",\n    \"type\": { \"returnType\": \"AgChartThemeOverrides\" }\n  },\n  \"enableChartToolPanelsButton\": {\n    \"description\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressChartToolPanelsButton\": {\n    \"description\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"chartToolPanelsDef\": {\n    \"description\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n    \"type\": { \"returnType\": \"ChartToolPanelsDef\" }\n  },\n  \"loadingCellRenderer\": {\n    \"description\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"loadingCellRendererFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"loadingCellRendererParams\": {\n    \"description\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"loadingCellRendererSelector\": {\n    \"description\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n    \"type\": { \"returnType\": \"LoadingCellRendererSelectorFunc<TData>\" }\n  },\n  \"localeText\": {\n    \"description\": \"/** A map of key->value pairs for localising text within the grid. */\",\n    \"type\": { \"returnType\": \"{ [key: string]: string }\" }\n  },\n  \"masterDetail\": {\n    \"description\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"keepDetailRows\": {\n    \"description\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"keepDetailRowsCount\": {\n    \"description\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"detailCellRenderer\": {\n    \"description\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"detailCellRendererFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"detailCellRendererParams\": {\n    \"description\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"detailRowHeight\": {\n    \"description\": \"/** Set fixed height in pixels for each detail row. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"detailRowAutoHeight\": {\n    \"description\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"context\": {\n    \"description\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"alignedGrids\": {\n    \"description\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n    \"type\": {\n      \"returnType\": \"{ api?: GridApi | null, columnApi?: ColumnApi | null }[]\"\n    }\n  },\n  \"tabIndex\": {\n    \"description\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"rowBuffer\": {\n    \"description\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"valueCache\": {\n    \"description\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"valueCacheNeverExpires\": {\n    \"description\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableCellExpressions\": {\n    \"description\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressParentsInRowNodes\": {\n    \"description\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressTouch\": {\n    \"description\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressFocusAfterRefresh\": {\n    \"description\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressAsyncEvents\": {\n    \"description\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressBrowserResizeObserver\": {\n    \"description\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressPropertyNamesCheck\": {\n    \"description\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressChangeDetection\": {\n    \"description\": \"/** Disables change detection. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"debug\": {\n    \"description\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"overlayLoadingTemplate\": {\n    \"description\": \"/** Provide a template for 'loading' overlay. */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"loadingOverlayComponent\": {\n    \"description\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"loadingOverlayComponentFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"loadingOverlayComponentParams\": {\n    \"description\": \"/** Customise the parameters provided to the loading overlay component. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"suppressLoadingOverlay\": {\n    \"description\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"overlayNoRowsTemplate\": {\n    \"description\": \"/** Provide a template for 'no rows' overlay. */\",\n    \"type\": { \"returnType\": \"string\" }\n  },\n  \"noRowsOverlayComponent\": {\n    \"description\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"noRowsOverlayComponentFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"noRowsOverlayComponentParams\": {\n    \"description\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"suppressNoRowsOverlay\": {\n    \"description\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"pagination\": {\n    \"description\": \"/** Set whether pagination is enabled. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"paginationPageSize\": {\n    \"description\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"paginationAutoPageSize\": {\n    \"description\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"paginateChildRows\": {\n    \"description\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressPaginationPanel\": {\n    \"description\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"pivotMode\": {\n    \"description\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"pivotPanelShow\": {\n    \"description\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n    \"type\": { \"returnType\": \"'always' | 'onlyWhenPivoting' | 'never'\" }\n  },\n  \"pivotColumnGroupTotals\": {\n    \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n    \"type\": { \"returnType\": \"'before' | 'after'\" }\n  },\n  \"pivotRowTotals\": {\n    \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n    \"type\": { \"returnType\": \"'before' | 'after'\" }\n  },\n  \"pivotSuppressAutoColumn\": {\n    \"description\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressExpandablePivotGroups\": {\n    \"description\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"functionsReadOnly\": {\n    \"description\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"aggFuncs\": {\n    \"description\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n    \"type\": { \"returnType\": \"{ [key: string]: IAggFunc<TData>; }\" }\n  },\n  \"suppressAggFuncInHeader\": {\n    \"description\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressAggAtRootLevel\": {\n    \"description\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"aggregateOnlyChangedColumns\": {\n    \"description\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressAggFilteredOnly\": {\n    \"description\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"removePivotHeaderRowWhenSingleValueColumn\": {\n    \"description\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"animateRows\": {\n    \"description\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableCellChangeFlash\": {\n    \"description\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"cellFlashDelay\": {\n    \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"cellFadeDelay\": {\n    \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"allowShowChangeAfterFilter\": {\n    \"description\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"domLayout\": {\n    \"description\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n    \"type\": { \"returnType\": \"DomLayoutType\" }\n  },\n  \"ensureDomOrder\": {\n    \"description\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableRtl\": {\n    \"description\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressColumnVirtualisation\": {\n    \"description\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressMaxRenderedRowRestriction\": {\n    \"description\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressRowVirtualisation\": {\n    \"description\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowDragManaged\": {\n    \"description\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressRowDrag\": {\n    \"description\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressMoveWhenRowDragging\": {\n    \"description\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowDragEntireRow\": {\n    \"description\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowDragMultiRow\": {\n    \"description\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowDragText\": {\n    \"description\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"IRowDragItem\", \"dragItemCount\": \"number\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"fullWidthCellRenderer\": {\n    \"description\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"fullWidthCellRendererFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"fullWidthCellRendererParams\": {\n    \"description\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"embedFullWidthRows\": {\n    \"description\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupDisplayType\": {\n    \"description\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n    \"type\": { \"returnType\": \"RowGroupingDisplayType\" }\n  },\n  \"groupDefaultExpanded\": {\n    \"description\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"autoGroupColumnDef\": {\n    \"description\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n    \"type\": { \"returnType\": \"ColDef<TData>\" }\n  },\n  \"groupMaintainOrder\": {\n    \"description\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupSelectsChildren\": {\n    \"description\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupAggFiltering\": {\n    \"description\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean | IsRowFilterable<TData>\" }\n  },\n  \"groupIncludeFooter\": {\n    \"description\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupIncludeTotalFooter\": {\n    \"description\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupSuppressBlankHeader\": {\n    \"description\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupSelectsFiltered\": {\n    \"description\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"showOpenedGroup\": {\n    \"description\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupRemoveSingleChildren\": {\n    \"description\": \"/** Set to `true` to collapse groups that only have one child. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupRemoveLowestSingleChildren\": {\n    \"description\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupHideOpenParents\": {\n    \"description\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupAllowUnbalanced\": {\n    \"description\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowGroupPanelShow\": {\n    \"description\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n    \"type\": { \"returnType\": \"'always' | 'onlyWhenGrouping' | 'never'\" }\n  },\n  \"groupRowRenderer\": {\n    \"description\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"groupRowRendererFramework\": {\n    \"description\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"groupRowRendererParams\": {\n    \"description\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n    \"type\": { \"returnType\": \"any\" }\n  },\n  \"suppressMakeColumnVisibleAfterUnGroup\": {\n    \"description\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"treeData\": {\n    \"description\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rowGroupPanelSuppressSort\": {\n    \"description\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"groupRowsSticky\": {\n    \"description\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"rememberGroupStateWhenNewData\": {\n    \"description\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"pinnedTopRowData\": {\n    \"description\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n    \"type\": { \"returnType\": \"any[]\" }\n  },\n  \"pinnedBottomRowData\": {\n    \"description\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n    \"type\": { \"returnType\": \"any[]\" }\n  },\n  \"rowModelType\": {\n    \"description\": \"/** Sets the row model type. Default: `clientSide` */\",\n    \"type\": { \"returnType\": \"RowModelType\" }\n  },\n  \"rowData\": {\n    \"description\": \"/** Set the data to be displayed as rows in the grid. */\",\n    \"type\": { \"returnType\": \"TData[] | null\" }\n  },\n  \"immutableData\": {\n    \"description\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"asyncTransactionWaitMillis\": {\n    \"description\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"suppressModelUpdateAfterUpdateTransaction\": {\n    \"description\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"datasource\": {\n    \"description\": \"/** Provide the datasource for infinite scrolling. */\",\n    \"type\": { \"returnType\": \"IDatasource\" }\n  },\n  \"cacheOverflowSize\": {\n    \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"infiniteInitialRowCount\": {\n    \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"serverSideInitialRowCount\": {\n    \"description\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"serverSideStoreType\": {\n    \"description\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n    \"type\": { \"returnType\": \"ServerSideStoreType\" }\n  },\n  \"suppressServerSideInfiniteScroll\": {\n    \"description\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"cacheBlockSize\": {\n    \"description\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"maxBlocksInCache\": {\n    \"description\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"maxConcurrentDatasourceRequests\": {\n    \"description\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"blockLoadDebounceMillis\": {\n    \"description\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"purgeClosedRowNodes\": {\n    \"description\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"serverSideDatasource\": {\n    \"description\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n    \"type\": { \"returnType\": \"IServerSideDatasource\" }\n  },\n  \"serverSideSortAllLevels\": {\n    \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"serverSideFilterAllLevels\": {\n    \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"serverSideSortOnServer\": {\n    \"description\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"serverSideFilterOnServer\": {\n    \"description\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"serverSideSortingAlwaysResets\": {\n    \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"serverSideFilteringAlwaysResets\": {\n    \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"viewportDatasource\": {\n    \"description\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n    \"type\": { \"returnType\": \"IViewportDatasource\" }\n  },\n  \"viewportRowModelPageSize\": {\n    \"description\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"viewportRowModelBufferSize\": {\n    \"description\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"alwaysShowHorizontalScroll\": {\n    \"description\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"alwaysShowVerticalScroll\": {\n    \"description\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"debounceVerticalScrollbar\": {\n    \"description\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressHorizontalScroll\": {\n    \"description\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressScrollOnNewData\": {\n    \"description\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressScrollWhenPopupsAreOpen\": {\n    \"description\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressAnimationFrame\": {\n    \"description\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressMiddleClickScrolls\": {\n    \"description\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressPreventDefaultOnMouseWheel\": {\n    \"description\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"scrollbarWidth\": {\n    \"description\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"rowSelection\": {\n    \"description\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n    \"type\": { \"returnType\": \"'single' | 'multiple'\" }\n  },\n  \"rowMultiSelectWithClick\": {\n    \"description\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressRowDeselection\": {\n    \"description\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressRowClickSelection\": {\n    \"description\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressCellSelection\": {\n    \"description\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressCellFocus\": {\n    \"description\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressMultiRangeSelection\": {\n    \"description\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableCellTextSelection\": {\n    \"description\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableRangeSelection\": {\n    \"description\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableRangeHandle\": {\n    \"description\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableFillHandle\": {\n    \"description\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"fillHandleDirection\": {\n    \"description\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n    \"type\": { \"returnType\": \"'x' | 'y' | 'xy'\" }\n  },\n  \"suppressClearOnFillReduction\": {\n    \"description\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"sortingOrder\": {\n    \"description\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n    \"type\": { \"returnType\": \"(SortDirection)[]\" }\n  },\n  \"accentedSort\": {\n    \"description\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"unSortIcon\": {\n    \"description\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressMultiSort\": {\n    \"description\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"alwaysMultiSort\": {\n    \"description\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"multiSortKey\": {\n    \"description\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n    \"type\": { \"returnType\": \"'ctrl'\" }\n  },\n  \"suppressMaintainUnsortedOrder\": {\n    \"description\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"icons\": {\n    \"description\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n    \"type\": { \"returnType\": \"{ [key: string]: Function | string; }\" }\n  },\n  \"rowHeight\": {\n    \"description\": \"/** Default row height in pixels. Default: `25` */\",\n    \"type\": { \"returnType\": \"number\" }\n  },\n  \"rowStyle\": {\n    \"description\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n    \"type\": { \"returnType\": \"RowStyle\" }\n  },\n  \"rowClass\": {\n    \"description\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n    \"type\": { \"returnType\": \"string | string[]\" }\n  },\n  \"rowClassRules\": {\n    \"description\": \"/** Rules which can be applied to include certain CSS classes. */\",\n    \"type\": { \"returnType\": \"RowClassRules<TData>\" }\n  },\n  \"suppressRowHoverHighlight\": {\n    \"description\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"suppressRowTransform\": {\n    \"description\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"columnHoverHighlight\": {\n    \"description\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"deltaSort\": { \"type\": { \"returnType\": \"boolean\" } },\n  \"treeDataDisplayType\": { \"type\": { \"returnType\": \"TreeDataDisplayType\" } },\n  \"functionsPassive\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"enableGroupEdit\": { \"type\": { \"returnType\": \"boolean\" } },\n  \"getContextMenuItems\": {\n    \"description\": \"/** For customising the context menu. */\",\n    \"type\": { \"returnType\": \"GetContextMenuItems<TData>\" }\n  },\n  \"getMainMenuItems\": {\n    \"description\": \"/** For customising the main 'column header' menu. */\",\n    \"type\": { \"returnType\": \"GetMainMenuItems\" }\n  },\n  \"postProcessPopup\": {\n    \"description\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"PostProcessPopupParams<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"processCellForClipboard\": {\n    \"description\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"processHeaderForClipboard\": {\n    \"description\": \"/** Allows you to process header values for the clipboard.  */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ProcessHeaderForExportParams<TData>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"processGroupHeaderForClipboard\": {\n    \"description\": \"/** Allows you to process group header values for the clipboard.  */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams<TData>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"processCellFromClipboard\": {\n    \"description\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"sendToClipboard\": {\n    \"description\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"SendToClipboardParams<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"processDataFromClipboard\": {\n    \"description\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ProcessDataFromClipboardParams<TData>\" },\n      \"returnType\": \"string[][] | null\"\n    }\n  },\n  \"isExternalFilterPresent\": {\n    \"description\": \"/** Grid calls this method to know if an external filter is present. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"IsExternalFilterPresentParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"doesExternalFilterPass\": {\n    \"description\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n    \"type\": {\n      \"arguments\": { \"node\": \"IRowNode<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"getChartToolbarItems\": {\n    \"description\": \"/** Callback to be used to customise the chart toolbar items. */\",\n    \"type\": { \"returnType\": \"GetChartToolbarItems\" }\n  },\n  \"createChartContainer\": {\n    \"description\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ChartRefParams<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"navigateToNextHeader\": {\n    \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"NavigateToNextHeaderParams<TData>\" },\n      \"returnType\": \"(HeaderPosition | null)\"\n    }\n  },\n  \"tabToNextHeader\": {\n    \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"TabToNextHeaderParams<TData>\" },\n      \"returnType\": \"(HeaderPosition | null)\"\n    }\n  },\n  \"navigateToNextCell\": {\n    \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"NavigateToNextCellParams<TData>\" },\n      \"returnType\": \"(CellPosition | null)\"\n    }\n  },\n  \"tabToNextCell\": {\n    \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"TabToNextCellParams<TData>\" },\n      \"returnType\": \"(CellPosition | null)\"\n    }\n  },\n  \"localeTextFunc\": {\n    \"description\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n    \"type\": {\n      \"arguments\": {\n        \"key\": \"string\",\n        \"defaultValue\": \"string\",\n        \"variableValues?\": \"string[]\"\n      },\n      \"returnType\": \"string\"\n    }\n  },\n  \"getLocaleText\": {\n    \"description\": \"/** A callback for localising text within the grid. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"GetLocaleTextParams<TData>\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"getDocument\": {\n    \"description\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n    \"type\": { \"arguments\": {}, \"returnType\": \"Document\" }\n  },\n  \"paginationNumberFormatter\": {\n    \"description\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"PaginationNumberFormatterParams<TData>\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"groupRowAggNodes\": {\n    \"description\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n    \"type\": { \"arguments\": { \"nodes\": \"IRowNode[]\" }, \"returnType\": \"any\" }\n  },\n  \"getGroupRowAgg\": {\n    \"description\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"GetGroupRowAggParams<TData>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"isGroupOpenByDefault\": {\n    \"description\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"IsGroupOpenByDefaultParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"initialGroupOrderComparator\": {\n    \"description\": \"/** Allows default sorting of groups. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"InitialGroupOrderComparatorParams<TData>\" },\n      \"returnType\": \"number\"\n    }\n  },\n  \"defaultGroupOrderComparator\": {\n    \"description\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n    \"type\": {\n      \"arguments\": { \"nodeA\": \"IRowNode<TData>\", \"nodeB\": \"IRowNode<TData>\" },\n      \"returnType\": \"number\"\n    }\n  },\n  \"processSecondaryColDef\": {\n    \"description\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n    \"type\": { \"arguments\": { \"colDef\": \"ColDef<TData>\" }, \"returnType\": \"void\" }\n  },\n  \"processSecondaryColGroupDef\": {\n    \"description\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n    \"type\": {\n      \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"processPivotResultColDef\": {\n    \"description\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n    \"type\": { \"arguments\": { \"colDef\": \"ColDef<TData>\" }, \"returnType\": \"void\" }\n  },\n  \"processPivotResultColGroupDef\": {\n    \"description\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n    \"type\": {\n      \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getDataPath\": {\n    \"description\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n    \"type\": { \"returnType\": \"GetDataPath<TData>\" }\n  },\n  \"getChildCount\": {\n    \"description\": \"/** Allows setting the child count for a group row. */\",\n    \"type\": { \"arguments\": { \"dataItem\": \"any\" }, \"returnType\": \"number\" }\n  },\n  \"getServerSideGroupLevelParams\": {\n    \"description\": \"/** Allows providing different params for different levels of grouping. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n      \"returnType\": \"ServerSideGroupLevelParams\"\n    }\n  },\n  \"getServerSideStoreParams\": {\n    \"description\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n      \"returnType\": \"ServerSideGroupLevelParams\"\n    }\n  },\n  \"isServerSideGroupOpenByDefault\": {\n    \"description\": \"/** Allows groups to be open by default. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"IsServerSideGroupOpenByDefaultParams\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"isApplyServerSideTransaction\": {\n    \"description\": \"/** Allows cancelling transactions. */\",\n    \"type\": { \"returnType\": \"IsApplyServerSideTransaction\" }\n  },\n  \"isServerSideGroup\": {\n    \"description\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n    \"type\": { \"returnType\": \"IsServerSideGroup\" }\n  },\n  \"getServerSideGroupKey\": {\n    \"description\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n    \"type\": { \"returnType\": \"GetServerSideGroupKey\" }\n  },\n  \"getBusinessKeyForNode\": {\n    \"description\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"node\": \"IRowNode<TData>\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"getRowNodeId\": {\n    \"description\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n    \"type\": { \"returnType\": \"GetRowNodeIdFunc<TData>\" }\n  },\n  \"getRowId\": {\n    \"description\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n    \"type\": { \"returnType\": \"GetRowIdFunc<TData>\" }\n  },\n  \"resetRowDataOnUpdate\": {\n    \"description\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n    \"type\": { \"returnType\": \"boolean\" }\n  },\n  \"processRowPostCreate\": {\n    \"description\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"ProcessRowParams<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"isRowSelectable\": {\n    \"description\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n    \"type\": { \"returnType\": \"IsRowSelectable<TData>\" }\n  },\n  \"isRowMaster\": {\n    \"description\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n    \"type\": { \"returnType\": \"IsRowMaster<TData>\" }\n  },\n  \"fillOperation\": {\n    \"description\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"FillOperationParams<TData>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"postSort\": {\n    \"description\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n    \"type\": {\n      \"arguments\": { \"nodes\": \"IRowNode<TData>[]\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"postSortRows\": {\n    \"description\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"PostSortRowsParams<TData>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"getRowStyle\": {\n    \"description\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n      \"returnType\": \"RowStyle | undefined\"\n    }\n  },\n  \"getRowClass\": {\n    \"description\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n      \"returnType\": \"string | string[] | undefined\"\n    }\n  },\n  \"getRowHeight\": {\n    \"description\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"RowHeightParams<TData>\" },\n      \"returnType\": \"number | undefined | null\"\n    }\n  },\n  \"isFullWidthCell\": {\n    \"description\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n    \"type\": {\n      \"arguments\": { \"rowNode\": \"IRowNode<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"isFullWidthRow\": {\n    \"description\": \"/** Tells the grid if this row should be rendered as full width. */\",\n    \"type\": {\n      \"arguments\": { \"params\": \"IsFullWidthRowParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"onToolPanelVisibleChanged\": {\n    \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n  },\n  \"toolPanelVisibleChanged\": {\n    \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n  },\n  \"onToolPanelSizeChanged\": {\n    \"description\": \"/** The tool panel size has been changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n  },\n  \"toolPanelSizeChanged\": {\n    \"description\": \"/** The tool panel size has been changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n  },\n  \"onPasteStart\": {\n    \"description\": \"/** Paste operation has started. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n  },\n  \"pasteStart\": {\n    \"description\": \"/** Paste operation has started. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n  },\n  \"onPasteEnd\": {\n    \"description\": \"/** Paste operation has ended. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n  },\n  \"pasteEnd\": {\n    \"description\": \"/** Paste operation has ended. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n  },\n  \"onColumnVisible\": {\n    \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n  },\n  \"columnVisible\": {\n    \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n  },\n  \"onColumnPinned\": {\n    \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n  },\n  \"columnPinned\": {\n    \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n  },\n  \"onColumnResized\": {\n    \"description\": \"/** A column was resized. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n  },\n  \"columnResized\": {\n    \"description\": \"/** A column was resized. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n  },\n  \"onColumnMoved\": {\n    \"description\": \"/** A column was moved. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n  },\n  \"columnMoved\": {\n    \"description\": \"/** A column was moved. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n  },\n  \"onColumnValueChanged\": {\n    \"description\": \"/** A value column was added or removed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n  },\n  \"columnValueChanged\": {\n    \"description\": \"/** A value column was added or removed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n  },\n  \"onColumnPivotModeChanged\": {\n    \"description\": \"/** The pivot mode flag was changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n  },\n  \"columnPivotModeChanged\": {\n    \"description\": \"/** The pivot mode flag was changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n  },\n  \"onColumnPivotChanged\": {\n    \"description\": \"/** A pivot column was added, removed or order changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n  },\n  \"columnPivotChanged\": {\n    \"description\": \"/** A pivot column was added, removed or order changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n  },\n  \"onColumnGroupOpened\": {\n    \"description\": \"/** A column group was opened / closed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n  },\n  \"columnGroupOpened\": {\n    \"description\": \"/** A column group was opened / closed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n  },\n  \"onNewColumnsLoaded\": {\n    \"description\": \"/** User set new columns. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n  },\n  \"newColumnsLoaded\": {\n    \"description\": \"/** User set new columns. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n  },\n  \"onGridColumnsChanged\": {\n    \"description\": \"/** The list of grid columns changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n  },\n  \"gridColumnsChanged\": {\n    \"description\": \"/** The list of grid columns changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n  },\n  \"onDisplayedColumnsChanged\": {\n    \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n  },\n  \"displayedColumnsChanged\": {\n    \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n  },\n  \"onVirtualColumnsChanged\": {\n    \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n  },\n  \"virtualColumnsChanged\": {\n    \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n  },\n  \"onColumnEverythingChanged\": {\n    \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n  },\n  \"columnEverythingChanged\": {\n    \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n  },\n  \"onComponentStateChanged\": {\n    \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n  },\n  \"componentStateChanged\": {\n    \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n  },\n  \"onCellValueChanged\": {\n    \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n  },\n  \"cellValueChanged\": {\n    \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n  },\n  \"onCellEditRequest\": {\n    \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n  },\n  \"cellEditRequest\": {\n    \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n  },\n  \"onRowValueChanged\": {\n    \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n  },\n  \"rowValueChanged\": {\n    \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n  },\n  \"onCellEditingStarted\": {\n    \"description\": \"/** Editing a cell has started. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n  },\n  \"cellEditingStarted\": {\n    \"description\": \"/** Editing a cell has started. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n  },\n  \"onCellEditingStopped\": {\n    \"description\": \"/** Editing a cell has stopped. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n  },\n  \"cellEditingStopped\": {\n    \"description\": \"/** Editing a cell has stopped. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n  },\n  \"onRowEditingStarted\": {\n    \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n  },\n  \"rowEditingStarted\": {\n    \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n  },\n  \"onRowEditingStopped\": {\n    \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n  },\n  \"rowEditingStopped\": {\n    \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n  },\n  \"onUndoStarted\": {\n    \"description\": \"/** Undo operation has started. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n  },\n  \"undoStarted\": {\n    \"description\": \"/** Undo operation has started. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n  },\n  \"onUndoEnded\": {\n    \"description\": \"/** Undo operation has ended. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n  },\n  \"undoEnded\": {\n    \"description\": \"/** Undo operation has ended. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n  },\n  \"onRedoStarted\": {\n    \"description\": \"/** Redo operation has started. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n  },\n  \"redoStarted\": {\n    \"description\": \"/** Redo operation has started. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n  },\n  \"onRedoEnded\": {\n    \"description\": \"/** Redo operation has ended. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n  },\n  \"redoEnded\": {\n    \"description\": \"/** Redo operation has ended. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n  },\n  \"onFilterOpened\": {\n    \"description\": \"/** Filter has been opened. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n  },\n  \"filterOpened\": {\n    \"description\": \"/** Filter has been opened. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n  },\n  \"onFilterChanged\": {\n    \"description\": \"/** Filter has been modified and applied. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n  },\n  \"filterChanged\": {\n    \"description\": \"/** Filter has been modified and applied. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n  },\n  \"onFilterModified\": {\n    \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n  },\n  \"filterModified\": {\n    \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n  },\n  \"onChartCreated\": {\n    \"description\": \"/** A chart has been created. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n  },\n  \"chartCreated\": {\n    \"description\": \"/** A chart has been created. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n  },\n  \"onChartRangeSelectionChanged\": {\n    \"description\": \"/** The data range for the chart has been changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n  },\n  \"chartRangeSelectionChanged\": {\n    \"description\": \"/** The data range for the chart has been changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n  },\n  \"onChartOptionsChanged\": {\n    \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n  },\n  \"chartOptionsChanged\": {\n    \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n  },\n  \"onChartDestroyed\": {\n    \"description\": \"/** A chart has been destroyed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n  },\n  \"chartDestroyed\": {\n    \"description\": \"/** A chart has been destroyed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n  },\n  \"onCellKeyDown\": {\n    \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n    \"type\": {\n      \"arguments\": {\n        \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n      },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n  },\n  \"cellKeyDown\": {\n    \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n    \"type\": {\n      \"arguments\": {\n        \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n      },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n  },\n  \"onCellKeyPress\": {\n    \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n    \"type\": {\n      \"arguments\": {\n        \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n      },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n  },\n  \"cellKeyPress\": {\n    \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n    \"type\": {\n      \"arguments\": {\n        \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n      },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n  },\n  \"onGridReady\": {\n    \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n  },\n  \"gridReady\": {\n    \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n  },\n  \"onFirstDataRendered\": {\n    \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n  },\n  \"firstDataRendered\": {\n    \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n  },\n  \"onGridSizeChanged\": {\n    \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n  },\n  \"gridSizeChanged\": {\n    \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n  },\n  \"onModelUpdated\": {\n    \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n  },\n  \"modelUpdated\": {\n    \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n  },\n  \"onVirtualRowRemoved\": {\n    \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n  },\n  \"virtualRowRemoved\": {\n    \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n  },\n  \"onViewportChanged\": {\n    \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n  },\n  \"viewportChanged\": {\n    \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n  },\n  \"onBodyScroll\": {\n    \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n  },\n  \"bodyScroll\": {\n    \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n  },\n  \"onBodyScrollEnd\": {\n    \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n  },\n  \"bodyScrollEnd\": {\n    \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n  },\n  \"onDragStarted\": {\n    \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n  },\n  \"dragStarted\": {\n    \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n  },\n  \"onDragStopped\": {\n    \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n  },\n  \"dragStopped\": {\n    \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n  },\n  \"onPaginationChanged\": {\n    \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n  },\n  \"paginationChanged\": {\n    \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n  },\n  \"onRowDragEnter\": {\n    \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n  },\n  \"rowDragEnter\": {\n    \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n  },\n  \"onRowDragMove\": {\n    \"description\": \"/** The mouse has moved while dragging. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n  },\n  \"rowDragMove\": {\n    \"description\": \"/** The mouse has moved while dragging. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n  },\n  \"onRowDragLeave\": {\n    \"description\": \"/** The mouse has left the grid while dragging. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n  },\n  \"rowDragLeave\": {\n    \"description\": \"/** The mouse has left the grid while dragging. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n  },\n  \"onRowDragEnd\": {\n    \"description\": \"/** The drag has finished over the grid. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n  },\n  \"rowDragEnd\": {\n    \"description\": \"/** The drag has finished over the grid. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n  },\n  \"onColumnRowGroupChanged\": {\n    \"description\": \"/** A row group column was added or removed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n  },\n  \"columnRowGroupChanged\": {\n    \"description\": \"/** A row group column was added or removed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n  },\n  \"onRowGroupOpened\": {\n    \"description\": \"/** A row group was opened or closed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n  },\n  \"rowGroupOpened\": {\n    \"description\": \"/** A row group was opened or closed. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n  },\n  \"onExpandOrCollapseAll\": {\n    \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n  },\n  \"expandOrCollapseAll\": {\n    \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n  },\n  \"onPinnedRowDataChanged\": {\n    \"description\": \"/** The client has set new pinned row data into the grid. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n  },\n  \"pinnedRowDataChanged\": {\n    \"description\": \"/** The client has set new pinned row data into the grid. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n  },\n  \"onRowDataChanged\": {\n    \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n  },\n  \"rowDataChanged\": {\n    \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n  },\n  \"onRowDataUpdated\": {\n    \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n  },\n  \"rowDataUpdated\": {\n    \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n  },\n  \"onAsyncTransactionsFlushed\": {\n    \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n  },\n  \"asyncTransactionsFlushed\": {\n    \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n  },\n  \"onStoreRefreshed\": {\n    \"description\": \"/** A server side store has finished refreshing. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n  },\n  \"storeRefreshed\": {\n    \"description\": \"/** A server side store has finished refreshing. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n  },\n  \"onCellClicked\": {\n    \"description\": \"/** Cell is clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n  },\n  \"cellClicked\": {\n    \"description\": \"/** Cell is clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n  },\n  \"onCellDoubleClicked\": {\n    \"description\": \"/** Cell is double clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n  },\n  \"cellDoubleClicked\": {\n    \"description\": \"/** Cell is double clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n  },\n  \"onCellFocused\": {\n    \"description\": \"/** Cell is focused. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n  },\n  \"cellFocused\": {\n    \"description\": \"/** Cell is focused. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n  },\n  \"onCellMouseOver\": {\n    \"description\": \"/** Mouse entered cell. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n  },\n  \"cellMouseOver\": {\n    \"description\": \"/** Mouse entered cell. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n  },\n  \"onCellMouseOut\": {\n    \"description\": \"/** Mouse left cell. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n  },\n  \"cellMouseOut\": {\n    \"description\": \"/** Mouse left cell. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n  },\n  \"onCellMouseDown\": {\n    \"description\": \"/** Mouse down on cell. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n  },\n  \"cellMouseDown\": {\n    \"description\": \"/** Mouse down on cell. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n  },\n  \"onRowClicked\": {\n    \"description\": \"/** Row is clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n  },\n  \"rowClicked\": {\n    \"description\": \"/** Row is clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n  },\n  \"onRowDoubleClicked\": {\n    \"description\": \"/** Row is double clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n  },\n  \"rowDoubleClicked\": {\n    \"description\": \"/** Row is double clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n  },\n  \"onRowSelected\": {\n    \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n  },\n  \"rowSelected\": {\n    \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n  },\n  \"onSelectionChanged\": {\n    \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n  },\n  \"selectionChanged\": {\n    \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n  },\n  \"onCellContextMenu\": {\n    \"description\": \"/** Cell is right clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n  },\n  \"cellContextMenu\": {\n    \"description\": \"/** Cell is right clicked. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n  },\n  \"onRangeSelectionChanged\": {\n    \"description\": \"/** A change to range selection has occurred. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n  },\n  \"rangeSelectionChanged\": {\n    \"description\": \"/** A change to range selection has occurred. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n  },\n  \"onSortChanged\": {\n    \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n  },\n  \"sortChanged\": {\n    \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n  },\n  \"onColumnRowGroupChangeRequest\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n  },\n  \"columnRowGroupChangeRequest\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n  },\n  \"onColumnPivotChangeRequest\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n  },\n  \"columnPivotChangeRequest\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n  },\n  \"onColumnValueChangeRequest\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n  },\n  \"columnValueChangeRequest\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n  },\n  \"onColumnAggFuncChangeRequest\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n  },\n  \"columnAggFuncChangeRequest\": {\n    \"description\": \"/** @deprecated v29.2 */\",\n    \"type\": {\n      \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n      \"returnType\": \"void\"\n    },\n    \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n  },\n  \"api\": {\n    \"description\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n    \"type\": { \"returnType\": \"GridApi<TData> | null\" }\n  },\n  \"columnApi\": {\n    \"description\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n    \"type\": { \"returnType\": \"ColumnApi | null\" }\n  }\n}\n"}},{"relativePath":"licensing/menu.json","internal":{"content":"[\n  {\n    \"group\": \"Basics\",\n    \"items\": [\n      {\n        \"title\": \"Getting Started\",\n        \"matrixExcludeChildren\": true,\n        \"items\": [\n          {\n            \"title\": \"Getting Started\",\n            \"url\": \"/getting-started/\",\n            \"icon\": \"framework\",\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"React Compatibility\",\n            \"icon\": \"react\",\n            \"url\": \"/react-compatibility\",\n            \"frameworks\": [\n              \"react\"\n            ]\n          },\n          {\n            \"title\": \"Rendering\",\n            \"icon\": \"react\",\n            \"url\": \"/reactui/\",\n            \"pane\": \"left\",\n            \"frameworks\": [\n              \"react\"\n            ]\n          },\n          {\n            \"title\": \"Hooks\",\n            \"icon\": \"reactHooks\",\n            \"url\": \"/react-hooks/\",\n            \"pane\": \"left\",\n            \"frameworks\": [\n              \"react\"\n            ]\n          },\n          {\n            \"title\": \"Video Tutorial\",\n            \"url\": \"{video-tutorial}\",\n            \"icon\": \"youtube\",\n            \"menuHide\": true,\n            \"pane\": \"left\",\n            \"frameworks\": [\n              \"javascript\"\n            ]\n          },\n          {\n            \"title\": \"Plunker Example\",\n            \"url\": \"{example}\",\n            \"icon\": \"plunker\",\n            \"menuHide\": true,\n            \"frameworks\": [\n              \"javascript\"\n            ],\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"{example-title}\",\n            \"url\": \"{example}\",\n            \"icon\": \"{example-icon}\",\n            \"menuHide\": true,\n            \"frameworks\": [\n              \"angular\",\n              \"react\",\n              \"vue\"\n            ],\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"Thinkster Course\",\n            \"url\": \"{thinkster}\",\n            \"icon\": \"thinkster\",\n            \"menuHide\": true,\n            \"frameworks\": [\n              \"angular\",\n              \"react\"\n            ],\n            \"pane\": \"left\"\n          },\n          {\n            \"title\": \"SolidJS\",\n            \"icon\": \"solid\",\n            \"url\": \"/solidjs\",\n            \"frameworks\": [\n              \"react\"\n            ],\n            \"pane\": \"right\"\n          },\n          {\n            \"title\": \"Angular Compatibility\",\n            \"icon\": \"angular\",\n            \"url\": \"/angular-compatibility\",\n            \"frameworks\": [\n              \"angular\"\n            ],\n            \"pane\": \"right\"\n          },\n          {\n            \"title\": \"Vue 2 Tutorial\",\n            \"icon\": \"vue\",\n            \"url\": \"/vue2/\",\n            \"frameworks\": [\n              \"vue\"\n            ],\n            \"pane\": \"right\"\n          },\n          {\n            \"title\": \"Videos\",\n            \"url\": \"/videos/\"\n          }\n        ]\n      },\n      {\n        \"title\": \"Interface / API\",\n        \"icon\": \"icon-api\",\n        \"matrixExcludeChildren\": true,\n        \"items\": [\n          {\n            \"title\": \"Grid Interface\",\n            \"url\": \"/grid-interface/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Grid Options\",\n                \"url\": \"/grid-options/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Grid API\",\n                \"url\": \"/grid-api/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Grid Events\",\n                \"box-title\": \"Events\",\n                \"url\": \"/grid-events/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Row Object\",\n                \"url\": \"/row-object/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Column Interface\",\n            \"url\": \"/column-interface/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Column Properties\",\n                \"url\": \"/column-properties/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Column API\",\n                \"url\": \"/column-api/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Column Object\",\n                \"url\": \"/column-object/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Typescript Generics\",\n            \"url\": \"/typescript-generics/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Columns\",\n        \"icon\": \"icon-columns\",\n        \"matrixExcludeChildren\": true,\n        \"items\": [\n          {\n            \"title\": \"Column Definitions\",\n            \"box-title\": \"Definitions\",\n            \"url\": \"/column-definitions/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Updating Definitions\",\n            \"box-title\": \"State\",\n            \"url\": \"/column-updating-definitions/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column State\",\n            \"box-title\": \"State\",\n            \"url\": \"/column-state/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Headers\",\n            \"box-title\": \"Headers\",\n            \"url\": \"/column-headers/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Groups\",\n            \"box-title\": \"Groups\",\n            \"url\": \"/column-groups/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Sizing\",\n            \"box-title\": \"Sizing\",\n            \"url\": \"/column-sizing/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Moving\",\n            \"box-title\": \"Moving\",\n            \"url\": \"/column-moving/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Pinning\",\n            \"box-title\": \"Pinning\",\n            \"url\": \"/column-pinning/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Spanning\",\n            \"box-title\": \"Spanning\",\n            \"url\": \"/column-spanning/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Rows\",\n        \"icon\": \"icon-rows\",\n        \"items\": [\n          {\n            \"title\": \"Row IDs\",\n            \"box-title\": \"IDs\",\n            \"url\": \"/row-ids/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Sorting\",\n            \"box-title\": \"Sorting\",\n            \"url\": \"/row-sorting/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Spanning\",\n            \"box-title\": \"Spanning\",\n            \"url\": \"/row-spanning/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Pinning\",\n            \"box-title\": \"Pinning\",\n            \"url\": \"/row-pinning/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Height\",\n            \"box-title\": \"Height\",\n            \"url\": \"/row-height/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Full Width Rows\",\n            \"box-title\": \"Full Width\",\n            \"url\": \"/full-width-rows/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Animation\",\n            \"box-title\": \"Animation\",\n            \"url\": \"/row-animation/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Dragging\",\n            \"box-title\": \"Dragging\",\n            \"showInCollapsed\": true,\n            \"url\": \"/row-dragging/\",\n            \"items\": [\n              {\n                \"title\": \"External DropZone\",\n                \"url\": \"/row-dragging-to-external-dropzone/\"\n              },\n              {\n                \"title\": \"Grid to Grid\",\n                \"url\": \"/row-dragging-to-grid/\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Build & Tooling\",\n        \"icon\": \"icon-information\",\n        \"matrixExcludeChildren\": true,\n        \"items\": [\n          {\n            \"title\": \"Install with NPM\",\n            \"url\": \"/npm/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"javascript\"\n            ]\n          },\n          {\n            \"title\": \"Download Bundles\",\n            \"url\": \"/download/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"javascript\"\n            ]\n          },\n          {\n            \"title\": \"Community & Enterprise\",\n            \"url\": \"/licensing/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Packages vs Modules\",\n            \"url\": \"/packages-modules/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Packages\",\n                \"url\": \"/packages/\",\n                \"items\": [\n                  {\n                    \"title\": \"Using ES Modules\",\n                    \"url\": \"/esm-packages/\",\n                    \"frameworks\": [\n                      \"javascript\"\n                    ]\n                  }\n                ]\n              },\n              {\n                \"title\": \"Modules\",\n                \"url\": \"/modules/\",\n                \"items\": [\n                  {\n                    \"title\": \"Using ES Modules\",\n                    \"url\": \"/esm-modules/\",\n                    \"frameworks\": [\n                      \"javascript\"\n                    ]\n                  }\n                ]\n              },\n              {\n                \"title\": \"Modules - Example\",\n                \"url\": \"/modules-building/\",\n                \"frameworks\": [\n                  \"angular\",\n                  \"react\",\n                  \"vue\"\n                ]\n              },\n              {\n                \"title\": \"Custom UMD Bundle\",\n                \"url\": \"/modules-building/\",\n                \"frameworks\": [\n                  \"javascript\"\n                ]\n              }\n            ]\n          },\n          {\n            \"title\": \"Supported Browsers\",\n            \"url\": \"/supported-browsers/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Building\",\n            \"url\": \"/building/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"javascript\"\n            ],\n            \"items\": [\n              {\n                \"title\": \"Rollup\",\n                \"url\": \"/building-rollup/\",\n                \"frameworks\": [\n                  \"javascript\"\n                ]\n              },\n              {\n                \"title\": \"TypeScript & Webpack\",\n                \"url\": \"/building-typescript/\",\n                \"frameworks\": [\n                  \"javascript\"\n                ]\n              },\n              {\n                \"title\": \"AMD\",\n                \"url\": \"/building-amd/\",\n                \"frameworks\": [\n                  \"javascript\"\n                ]\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"group\": \"Core Features\",\n    \"items\": [\n      {\n        \"title\": \"Layout & Styling\",\n        \"icon\": \"icon-style\",\n        \"items\": [\n          {\n            \"title\": \"Global Styling\",\n            \"url\": \"/global-style/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Themes\",\n                \"url\": \"/themes/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Customisation\",\n                \"url\": \"/global-style-customisation/\",\n                \"showInCollapsed\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Variable Reference\",\n                    \"url\": \"/global-style-customisation-variables/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Colours & Fonts\",\n                    \"url\": \"/global-style-customisation-colours/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Compactness & Row Height\",\n                    \"url\": \"/global-style-customisation-compactness/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Selections\",\n                    \"url\": \"/global-style-customisation-selections/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Headers\",\n                    \"url\": \"/global-style-customisation-headers/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Borders\",\n                    \"url\": \"/global-style-customisation-borders/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Icons\",\n                    \"url\": \"/custom-icons/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Tool Panels\",\n                    \"url\": \"/global-style-customisation-tool-panels/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Inputs & Widgets\",\n                    \"url\": \"/global-style-customisation-widgets/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Menus & Popups\",\n                    \"url\": \"/global-style-customisation-popups/\",\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Advanced CSS\",\n                    \"url\": \"/global-style-customisation-css/\",\n                    \"showInCollapsed\": false\n                  }\n                ]\n              },\n              {\n                \"title\": \"Sass\",\n                \"url\": \"/global-style-customisation-sass/\",\n                \"showInCollapsed\": false\n              }\n            ]\n          },\n          {\n            \"title\": \"Styling Rows\",\n            \"url\": \"/row-styles/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Styling Cells\",\n            \"box-title\": \"Cells\",\n            \"url\": \"/cell-styles/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Grid Size\",\n            \"url\": \"/grid-size/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Printing\",\n            \"url\": \"/printing/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Upgrading to v28+\",\n            \"url\": \"/global-style-upgrading-to-v28/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"CSS\",\n                \"url\": \"/global-style-upgrading-to-v28-css/\",\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Sass\",\n                \"url\": \"/global-style-upgrading-to-v28-sass/\",\n                \"showInCollapsed\": false\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Client-Side Data\",\n        \"icon\": \"icon-data\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/client-side-model/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Accessing Data\",\n            \"url\": \"/accessing-data/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Updating Data\",\n            \"url\": \"/data-update/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Row Data\",\n                \"url\": \"/data-update-row-data/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Single Row / Cell\",\n                \"url\": \"/data-update-single-row-cell/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Transactions\",\n                \"url\": \"/data-update-transactions/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"High Frequency\",\n                \"url\": \"/data-update-high-frequency/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Data Stages\",\n            \"url\": \"/client-side-row-stages/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Context\",\n            \"url\": \"/context/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Server-Side Data\",\n        \"icon\": \"icon-data\",\n        \"items\": [\n          {\n            \"title\": \"Row Models\",\n            \"url\": \"/row-models/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Server-Side Row Model\",\n            \"url\": \"/server-side-model/\",\n            \"showInCollapsed\": true,\n            \"enterprise\": true,\n            \"matrixExcludeChildren\": true,\n            \"items\": [\n              {\n                \"title\": \"API Reference\",\n                \"url\": \"/server-side-model-api-reference/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Datasource\",\n                \"url\": \"/server-side-model-datasource/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Configuration\",\n                \"url\": \"/server-side-model-configuration/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Sorting\",\n                \"url\": \"/server-side-model-sorting/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Filtering\",\n                \"url\": \"/server-side-model-filtering/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Row Grouping\",\n                \"url\": \"/server-side-model-grouping/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Pivoting\",\n                \"url\": \"/server-side-model-pivoting/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Pagination\",\n                \"url\": \"/server-side-model-pagination/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Row Selection\",\n                \"url\": \"/server-side-model-selection/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Changing Columns\",\n                \"url\": \"/server-side-model-changing-columns/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Updating Data\",\n                \"url\": \"/server-side-model-updating/\",\n                \"enterprise\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Refresh\",\n                    \"url\": \"/server-side-model-updating-refresh/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Single Row Updates\",\n                    \"url\": \"/server-side-model-updating-single-row/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Transactions\",\n                    \"url\": \"/server-side-model-updating-transactions/\",\n                    \"enterprise\": true\n                  }\n                ]\n              },\n              {\n                \"title\": \"Load Retry\",\n                \"url\": \"/server-side-model-retry/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Row Height\",\n                \"url\": \"/server-side-model-row-height/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Master Detail\",\n                \"url\": \"/server-side-model-master-detail/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Tree Data\",\n                \"url\": \"/server-side-model-tree-data/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"See Also\",\n                \"url\": \"\",\n                \"items\": [\n                  {\n                    \"title\": \"Using Node.js & MySQL\",\n                    \"url\": \"/server-side-operations-nodejs/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Using GraphQL & MySQL\",\n                    \"url\": \"/server-side-operations-graphql/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Using Java & Oracle\",\n                    \"url\": \"/server-side-operations-oracle/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Using Java & Apache Spark\",\n                    \"url\": \"/server-side-operations-spark/\",\n                    \"enterprise\": true\n                  }\n                ]\n              }\n            ]\n          },\n          {\n            \"title\": \"Infinite Row Model\",\n            \"url\": \"/infinite-scrolling/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Viewport Row Model\",\n            \"url\": \"/viewport/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Selection\",\n        \"icon\": \"icon-selection\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/selection-overview/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Selection\",\n            \"url\": \"/row-selection/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Range Selection\",\n            \"url\": \"/range-selection/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Range Handle\",\n                \"url\": \"/range-selection-handle/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Fill Handle\",\n                \"url\": \"/range-selection-fill-handle/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Filtering\",\n        \"icon\": \"icon-filter\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/filtering-overview/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Column Filters\",\n            \"url\": \"/filtering/\",\n            \"showInCollapsed\": false,\n            \"items\": [\n              {\n                \"title\": \"Text Filter\",\n                \"url\": \"/filter-text/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Number Filter\",\n                \"url\": \"/filter-number/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Date Filter\",\n                \"url\": \"/filter-date/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Set Filter\",\n                \"url\": \"/filter-set/\",\n                \"enterprise\": true,\n                \"matrixExcludeChildren\": true,\n                \"showInCollapsed\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Filter List\",\n                    \"url\": \"/filter-set-filter-list/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Data Updates\",\n                    \"url\": \"/filter-set-data-updates/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Tree List\",\n                    \"url\": \"/filter-set-tree-list/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Mini Filter\",\n                    \"url\": \"/filter-set-mini-filter/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"Excel Mode\",\n                    \"url\": \"/filter-set-excel-mode/\",\n                    \"enterprise\": true\n                  },\n                  {\n                    \"title\": \"API\",\n                    \"url\": \"/filter-set-api/\",\n                    \"enterprise\": true\n                  }\n                ]\n              },\n              {\n                \"title\": \"Multi Filter\",\n                \"url\": \"/filter-multi/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Filter Conditions\",\n                \"url\": \"/filter-conditions/\"\n              },\n              {\n                \"title\": \"Applying Filters\",\n                \"url\": \"/filter-applying/\"\n              },\n              {\n                \"title\": \"Filter API\",\n                \"url\": \"/filter-api/\"\n              },\n              {\n                \"title\": \"Floating Filters\",\n                \"url\": \"/floating-filters/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"External Filter\",\n            \"url\": \"/filter-external/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Quick Filter\",\n            \"url\": \"/filter-quick/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Rendering\",\n        \"icon\": \"icon-render-cells\",\n        \"items\": [\n          {\n            \"title\": \"Cell Content\",\n            \"url\": \"/cell-content/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Value Getters\",\n                \"url\": \"/value-getters/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Value Formatters\",\n                \"url\": \"/value-formatters/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Expressions\",\n                \"url\": \"/cell-expressions/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Reference Data\",\n                \"url\": \"/reference-data/\",\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Cell Rendering\",\n            \"url\": \"/cell-rendering/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Group Cell Renderer\",\n                \"url\": \"/group-cell-renderer/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Change Cell Renderers\",\n                \"url\": \"/change-cell-renderers/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Rendering API\",\n            \"url\": \"/rendering-api/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"View Refresh\",\n            \"url\": \"/view-refresh/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Flashing Cells\",\n            \"url\": \"/flashing-cells/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Change Detection\",\n            \"url\": \"/change-detection/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"See Also\",\n            \"url\": \"\",\n            \"items\": [\n              {\n                \"title\": \"Expressions & Context\",\n                \"url\": \"/expressions-and-context/\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Editing\",\n        \"icon\": \"icon-edit-cells\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/cell-editing/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Start / Stop Editing\",\n            \"url\": \"/cell-editing-start-stop/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Parsing Values\",\n            \"url\": \"/value-parsers/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Saving Values\",\n            \"url\": \"/value-setters/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Cell Editors\",\n            \"url\": \"/cell-editors/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Provided Cell Editors\",\n            \"url\": \"/provided-cell-editors/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Undo / Redo Edits\",\n            \"url\": \"/undo-redo-edits/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Full Row\",\n            \"url\": \"/cell-editing-full-row/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Group & Pivot\",\n        \"icon\": \"icon-group\",\n        \"items\": [\n          {\n            \"title\": \"Row Grouping\",\n            \"url\": \"/grouping/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"matrixExcludeChildren\": true,\n            \"items\": [\n              {\n                \"title\": \"Display Types\",\n                \"url\": \"/grouping-display-types/\",\n                \"enterprise\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Single Group Column\",\n                    \"url\": \"/grouping-single-group-column/\",\n                    \"enterprise\": true,\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Multiple Group Columns\",\n                    \"url\": \"/grouping-multiple-group-columns/\",\n                    \"enterprise\": true,\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Group Rows\",\n                    \"url\": \"/grouping-group-rows/\",\n                    \"enterprise\": true,\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Custom Group Columns\",\n                    \"url\": \"/grouping-custom-group-columns/\",\n                    \"enterprise\": true,\n                    \"showInCollapsed\": false\n                  }\n                ]\n              },\n              {\n                \"title\": \"Row Group Panel\",\n                \"url\": \"/grouping-group-panel/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Group Order\",\n                \"url\": \"/grouping-group-order/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Sticky Groups\",\n                \"url\": \"/grouping-sticky-groups/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Sorting Groups\",\n                \"url\": \"/grouping-sorting/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Filtering Groups\",\n                \"url\": \"/grouping-filtering/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false,\n                \"matrixExcludeChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Group Column Filter\",\n                    \"url\": \"/grouping-column-filter/\",\n                    \"enterprise\": true,\n                    \"showInCollapsed\": false\n                  },\n                  {\n                    \"title\": \"Custom Group Filtering\",\n                    \"url\": \"/grouping-custom-filtering/\",\n                    \"enterprise\": true,\n                    \"showInCollapsed\": false\n                  }\n                ]\n              },\n              {\n                \"title\": \"Group Footers\",\n                \"url\": \"/grouping-footers/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Opening Groups\",\n                \"url\": \"/grouping-opening-groups/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Complex Objects\",\n                \"url\": \"/grouping-complex-objects/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Unbalanced Groups\",\n                \"url\": \"/grouping-unbalanced-groups/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              }\n            ]\n          },\n          {\n            \"title\": \"Aggregation\",\n            \"url\": \"/aggregation/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"matrixExcludeChildren\": true,\n            \"items\": [\n              {\n                \"title\": \"Custom Functions\",\n                \"url\": \"/aggregation-custom-functions/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Filtering\",\n                \"url\": \"/aggregation-filtering/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              },\n              {\n                \"title\": \"Other\",\n                \"url\": \"/aggregation-other/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": false\n              }\n            ]\n          },\n          {\n            \"title\": \"Tree Data\",\n            \"url\": \"/tree-data/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Pivoting\",\n            \"url\": \"/pivoting/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Master Detail\",\n        \"icon\": \"icon-misc\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/master-detail/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Detail Grids\",\n            \"url\": \"/master-detail-grids/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Detail Height\",\n            \"url\": \"/master-detail-height/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Detail Refresh\",\n            \"url\": \"/master-detail-refresh/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Master Rows\",\n            \"url\": \"/master-detail-master-rows/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Nesting\",\n            \"url\": \"/master-detail-nesting/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Custom Detail\",\n            \"url\": \"/master-detail-custom-detail/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": false\n          },\n          {\n            \"title\": \"Other\",\n            \"url\": \"/master-detail-other/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": false\n          }\n        ]\n      },\n      {\n        \"title\": \"Import & Export\",\n        \"icon\": \"icon-import-export\",\n        \"items\": [\n          {\n            \"title\": \"CSV Export\",\n            \"url\": \"/csv-export/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Excel Export\",\n            \"url\": \"/excel-export/\",\n            \"showInCollapsed\": true,\n            \"enterprise\": true,\n            \"items\": [\n              {\n                \"title\": \"API Reference\",\n                \"url\": \"/excel-export-api/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Styles\",\n                \"url\": \"/excel-export-styles/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Formulas\",\n                \"url\": \"/excel-export-formulas/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Extra Content\",\n                \"url\": \"/excel-export-extra-content/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Customising Content\",\n                \"url\": \"/excel-export-customising-content/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Images\",\n                \"url\": \"/excel-export-images/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Multiple Sheets\",\n                \"url\": \"/excel-export-multiple-sheets/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Rows\",\n                \"url\": \"/excel-export-rows/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Columns\",\n                \"url\": \"/excel-export-columns/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Data Types\",\n                \"url\": \"/excel-export-data-types/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Hyperlinks\",\n                \"url\": \"/excel-export-hyperlinks/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Master Detail\",\n                \"url\": \"/excel-export-master-detail/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Page Setup\",\n                \"url\": \"/excel-export-page-setup/\",\n                \"enterprise\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Clipboard\",\n            \"url\": \"/clipboard/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Drag & Drop\",\n            \"url\": \"/drag-and-drop/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"See Also\",\n            \"url\": \"\",\n            \"items\": [\n              {\n                \"title\": \"Import Excel\",\n                \"url\": \"/excel-import/\"\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"group\": \"Extending the grid\",\n    \"items\": [\n      {\n        \"title\": \"Accessories\",\n        \"icon\": \"icon-accessories\",\n        \"level-2-display-style-forced\": \"block\",\n        \"items\": [\n          {\n            \"title\": \"Tool Panels\",\n            \"url\": \"/tool-panel/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Side Bar\",\n                \"url\": \"/side-bar/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Columns Tool Panel\",\n                \"url\": \"/tool-panel-columns/\",\n                \"showInCollapsed\": true,\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Filters Tool Panel\",\n                \"url\": \"/tool-panel-filters/\",\n                \"showInCollapsed\": true,\n                \"enterprise\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Column Menu\",\n            \"url\": \"/column-menu/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Context Menu\",\n            \"url\": \"/context-menu/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Status Bar\",\n            \"url\": \"/status-bar/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Overlays\",\n            \"url\": \"/overlays/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Components\",\n        \"icon\": \"icon-components\",\n        \"items\": [\n          {\n            \"title\": \"Registering Components\",\n            \"url\": \"/components/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Component Types\",\n            \"url\": \"/component-types/\",\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Cell Renderer\",\n                \"box-title\": \"Cell\",\n                \"url\": \"/component-cell-renderer/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Cell Editor\",\n                \"box-title\": \"Editor\",\n                \"url\": \"/component-cell-editor/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Date Component\",\n                \"box-title\": \"Date\",\n                \"url\": \"/component-date/\"\n              },\n              {\n                \"title\": \"Filter Component\",\n                \"box-title\": \"Filter\",\n                \"url\": \"/component-filter/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Floating Filter Component\",\n                \"box-title\": \"Floating Filter\",\n                \"url\": \"/component-floating-filter/\"\n              },\n              {\n                \"title\": \"Header Component\",\n                \"box-title\": \"Header\",\n                \"url\": \"/component-header/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Loading Cell Renderer\",\n                \"box-title\": \"Loading\",\n                \"url\": \"/component-loading-cell-renderer/\"\n              },\n              {\n                \"title\": \"Overlay Component\",\n                \"box-title\": \"Overlays\",\n                \"url\": \"/component-overlay/\"\n              },\n              {\n                \"title\": \"Status Bar Component\",\n                \"box-title\": \"Status Bar\",\n                \"url\": \"/component-status-bar/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Tool Panel Component\",\n                \"box-title\": \"Tool Panel\",\n                \"url\": \"/component-tool-panel/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Tooltip Component\",\n                \"box-title\": \"Tooltip\",\n                \"url\": \"/component-tooltip/\",\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Higher Order Components\",\n                \"url\": \"/framework-hoc/\",\n                \"showInCollapsed\": true,\n                \"frameworks\": [\n                  \"react\"\n                ]\n              },\n              {\n                \"title\": \"Parent/Child Communication\",\n                \"url\": \"/component-communication/\",\n                \"showInCollapsed\": true,\n                \"frameworks\": [\n                  \"angular\",\n                  \"vue\"\n                ]\n              },\n              {\n                \"title\": \"Provide/Inject\",\n                \"url\": \"/component-provide-inject/\",\n                \"showInCollapsed\": true,\n                \"frameworks\": [\n                  \"vue\"\n                ]\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Sparklines\",\n        \"icon\": \"icon-charts\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/sparklines-overview/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Area\",\n                \"url\": \"/sparklines-area-customisation/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Bar\",\n                \"url\": \"/sparklines-bar-customisation/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Column\",\n                \"url\": \"/sparklines-column-customisation/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Line\",\n                \"url\": \"/sparklines-line-customisation/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Sparkline Data\",\n            \"url\": \"/sparklines-data/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Axis Types\",\n            \"url\": \"/sparklines-axis-types/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Tooltips\",\n            \"url\": \"/sparklines-tooltips/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Points of Interest\",\n            \"url\": \"/sparklines-points-of-interest/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Integrated Charts\",\n        \"icon\": \"icon-charts\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/integrated-charts/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"User Created\",\n            \"url\": \"/integrated-charts-user-created/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Range Chart\",\n                \"url\": \"/integrated-charts-range-chart/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Pivot Chart\",\n                \"url\": \"/integrated-charts-pivot-chart/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Chart Tool Panels\",\n                \"url\": \"/integrated-charts-chart-tool-panels/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Chart Toolbar\",\n                \"url\": \"/integrated-charts-toolbar/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Chart Container\",\n                \"url\": \"/integrated-charts-container/\",\n                \"enterprise\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Application Created\",\n            \"url\": \"/integrated-charts-application-created/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true,\n            \"items\": [\n              {\n                \"title\": \"Range Chart API\",\n                \"url\": \"/integrated-charts-api-range-chart/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Pivot Chart API\",\n                \"url\": \"/integrated-charts-api-pivot-chart/\",\n                \"enterprise\": true,\n                \"showInCollapsed\": true\n              },\n              {\n                \"title\": \"Cross Filter API\",\n                \"url\": \"/integrated-charts-api-cross-filter-chart/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Time Series Chart\",\n                \"url\": \"/integrated-charts-time-series/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Save / Restore Charts\",\n                \"url\": \"/integrated-charts-api-save-restore-charts/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Downloading Chart Image\",\n                \"url\": \"/integrated-charts-api-downloading-image/\",\n                \"enterprise\": true\n              },\n              {\n                \"title\": \"Open/Close Chart Tool Panel\",\n                \"url\": \"/integrated-charts-api-chart-tool-panel/\",\n                \"enterprise\": true\n              }\n            ]\n          },\n          {\n            \"title\": \"Customisation\",\n            \"url\": \"/integrated-charts-customisation/\",\n            \"enterprise\": true,\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Chart Events\",\n            \"url\": \"/integrated-charts-events/\",\n            \"enterprise\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Standalone Charts\",\n        \"icon\": \"icon-charts\",\n        \"items\": [\n          {\n            \"title\": \"Overview\",\n            \"url\": \"/charts-overview/\",\n            \"showInCollapsed\": true,\n            \"hideChildren\": true,\n            \"matrixExcludeChildren\": true,\n            \"items\": [\n              {\n                \"title\": \"Bar/Column\",\n                \"url\": \"/charts-overview/#bar-column\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Bar\",\n                    \"url\": \"/charts-overview/gallery/simple-bar/\"\n                  },\n                  {\n                    \"title\": \"Grouped Bar\",\n                    \"url\": \"/charts-overview/gallery/grouped-bar/\"\n                  },\n                  {\n                    \"title\": \"Stacked Bar\",\n                    \"url\": \"/charts-overview/gallery/stacked-bar/\"\n                  },\n                  {\n                    \"title\": \"100% Stacked Bar\",\n                    \"url\": \"/charts-overview/gallery/100--stacked-bar/\"\n                  },\n                  {\n                    \"title\": \"Bar With Labels\",\n                    \"url\": \"/charts-overview/gallery/bar-with-labels/\"\n                  },\n                  {\n                    \"title\": \"Simple Column\",\n                    \"url\": \"/charts-overview/gallery/simple-column/\"\n                  },\n                  {\n                    \"title\": \"Grouped Column\",\n                    \"url\": \"/charts-overview/gallery/grouped-column/\"\n                  },\n                  {\n                    \"title\": \"Stacked Column\",\n                    \"url\": \"/charts-overview/gallery/stacked-column/\"\n                  },\n                  {\n                    \"title\": \"100% Stacked Column\",\n                    \"url\": \"/charts-overview/gallery/100--stacked-column/\"\n                  },\n                  {\n                    \"title\": \"Column With Negative Values\",\n                    \"url\": \"/charts-overview/gallery/column-with-negative-values/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Pie/Doughnut\",\n                \"url\": \"/charts-overview/#pie-doughnut\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Pie\",\n                    \"url\": \"/charts-overview/gallery/simple-pie/\"\n                  },\n                  {\n                    \"title\": \"Simple Doughnut\",\n                    \"url\": \"/charts-overview/gallery/simple-doughnut/\"\n                  },\n                  {\n                    \"title\": \"Pie In A Doughnut\",\n                    \"url\": \"/charts-overview/gallery/pie-in-a-doughnut/\"\n                  },\n                  {\n                    \"title\": \"Pie With Variable Radius\",\n                    \"url\": \"/charts-overview/gallery/pie-with-variable-radius/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Line\",\n                \"url\": \"/charts-overview/#line\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Line\",\n                    \"url\": \"/charts-overview/gallery/simple-line/\"\n                  },\n                  {\n                    \"title\": \"Line With Gaps\",\n                    \"url\": \"/charts-overview/gallery/line-with-gaps/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Scatter/Bubble\",\n                \"url\": \"/charts-overview/#scatter-bubble\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Scatter\",\n                    \"url\": \"/charts-overview/gallery/simple-scatter/\"\n                  },\n                  {\n                    \"title\": \"Simple Bubble\",\n                    \"url\": \"/charts-overview/gallery/simple-bubble/\"\n                  },\n                  {\n                    \"title\": \"Bubble With Negative Values\",\n                    \"url\": \"/charts-overview/gallery/bubble-with-negative-values/\"\n                  },\n                  {\n                    \"title\": \"Bubble With Categories\",\n                    \"url\": \"/charts-overview/gallery/bubble-with-categories/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Area\",\n                \"url\": \"/charts-overview/#area\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Area\",\n                    \"url\": \"/charts-overview/gallery/simple-area/\"\n                  },\n                  {\n                    \"title\": \"Stacked Area\",\n                    \"url\": \"/charts-overview/gallery/stacked-area/\"\n                  },\n                  {\n                    \"title\": \"100% Stacked Area\",\n                    \"url\": \"/charts-overview/gallery/100--stacked-area/\"\n                  },\n                  {\n                    \"title\": \"Area With Negative Values\",\n                    \"url\": \"/charts-overview/gallery/area-with-negative-values/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Histogram\",\n                \"url\": \"/charts-overview/#histogram\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Simple Histogram\",\n                    \"url\": \"/charts-overview/gallery/simple-histogram/\"\n                  },\n                  {\n                    \"title\": \"Histogram With Specified Bins\",\n                    \"url\": \"/charts-overview/gallery/histogram-with-specified-bins/\"\n                  },\n                  {\n                    \"title\": \"XY Histogram With Mean Aggregation\",\n                    \"url\": \"/charts-overview/gallery/xy-histogram-with-mean-aggregation/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Treemap\",\n                \"url\": \"/charts-overview/#treemap\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Market Index Treemap\",\n                    \"url\": \"/charts-overview/gallery/market-index-treemap/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Feature Highlights\",\n                \"url\": \"/charts-overview/#feature-highlights\",\n                \"disableActive\": true,\n                \"hideChildren\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Cross Lines\",\n                    \"url\": \"/charts-overview/gallery/cross-lines/\"\n                  },\n                  {\n                    \"title\": \"Time Axis With Irregular Intervals\",\n                    \"url\": \"/charts-overview/gallery/time-axis-with-irregular-intervals/\"\n                  },\n                  {\n                    \"title\": \"Log Axis\",\n                    \"url\": \"/charts-overview/gallery/log-axis/\"\n                  },\n                  {\n                    \"title\": \"Real-Time Data Updates\",\n                    \"url\": \"/charts-overview/gallery/real-time-data-updates/\"\n                  },\n                  {\n                    \"title\": \"Combination of Different Series Types\",\n                    \"url\": \"/charts-overview/gallery/combination-of-different-series-types/\"\n                  },\n                  {\n                    \"title\": \"Chart Customisation\",\n                    \"url\": \"/charts-overview/gallery/chart-customisation/\"\n                  },\n                  {\n                    \"title\": \"Custom Marker Shapes\",\n                    \"url\": \"/charts-overview/gallery/custom-marker-shapes/\"\n                  },\n                  {\n                    \"title\": \"Custom Tooltips\",\n                    \"url\": \"/charts-overview/gallery/custom-tooltips/\"\n                  },\n                  {\n                    \"title\": \"Per-Marker Customisation\",\n                    \"url\": \"/charts-overview/gallery/per-marker-customisation/\"\n                  }\n                ]\n              }\n            ]\n          },\n          {\n            \"title\": \"Getting Started\",\n            \"url\": \"/charts-getting-started/\"\n          },\n          {\n            \"title\": \"Enterprise Placeholder\",\n            \"url\": \"/charts-enterprise-placeholder\",\n            \"enterprise\": \"charts\"\n          },\n          {\n            \"title\": \"API\",\n            \"forceTopLevelSubItems\": true,\n            \"items\": [\n              {\n                \"title\": \"Options Reference\",\n                \"showInCollapsed\": true,\n                \"url\": \"/charts-api/\"\n              },\n              {\n                \"title\": \"Themes Reference\",\n                \"showInCollapsed\": true,\n                \"url\": \"/charts-api-themes/\"\n              },\n              {\n                \"title\": \"Create/Update\",\n                \"showInCollapsed\": true,\n                \"url\": \"/charts-api-create-update/\"\n              },\n              {\n                \"title\": \"Download\",\n                \"url\": \"/charts-api-download/\"\n              },\n              {\n                \"title\": \"Events\",\n                \"url\": \"/charts-events/\"\n              },\n              {\n                \"title\": \"Explorer\",\n                \"showInCollapsed\": true,\n                \"url\": \"/charts-api-explorer/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Layout & Styling\",\n            \"items\": [\n              {\n                \"title\": \"Layout\",\n                \"url\": \"/charts-layout/\"\n              },\n              {\n                \"title\": \"Themes\",\n                \"url\": \"/charts-themes/\"\n              },\n              {\n                \"title\": \"Overlays\",\n                \"url\": \"/charts-overlays/\"\n              },\n              {\n                \"title\": \"Background\",\n                \"url\": \"/charts-background/\"\n              },\n              {\n                \"title\": \"Background Image\",\n                \"url\": \"/charts-background-image/\",\n                \"enterprise\": \"charts\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Series\",\n            \"url\": \"/charts-series/\",\n            \"items\": [\n              {\n                \"title\": \"Line\",\n                \"url\": \"/charts-line-series/\"\n              },\n              {\n                \"title\": \"Bar/Column\",\n                \"url\": \"/charts-bar-series/\"\n              },\n              {\n                \"title\": \"Histogram\",\n                \"url\": \"/charts-histogram-series/\"\n              },\n              {\n                \"title\": \"Area\",\n                \"url\": \"/charts-area-series/\"\n              },\n              {\n                \"title\": \"Scatter/Bubble\",\n                \"url\": \"/charts-scatter-series/\"\n              },\n              {\n                \"title\": \"Pie/Doughnut\",\n                \"url\": \"/charts-pie-series/\"\n              },\n              {\n                \"title\": \"Treemap\",\n                \"url\": \"/charts-treemap-series/\"\n              },\n              {\n                \"title\": \"Combination\",\n                \"url\": \"/charts-combination-series/\"\n              }\n            ]\n          },\n          {\n            \"title\": \"Features\",\n            \"items\": [\n              {\n                \"title\": \"Axes\",\n                \"url\": \"/charts-axes/\",\n                \"matrixExcludeChildren\": true,\n                \"showInCollapsed\": true,\n                \"items\": [\n                  {\n                    \"title\": \"Axis Types\",\n                    \"url\": \"/charts-axes-types/\"\n                  },\n                  {\n                    \"title\": \"Axis Ticks\",\n                    \"url\": \"/charts-axes-ticks/\"\n                  },\n                  {\n                    \"title\": \"Axis Labels\",\n                    \"url\": \"/charts-axes-labels/\"\n                  },\n                  {\n                    \"title\": \"Grid Lines\",\n                    \"url\": \"/charts-axes-grid-lines/\"\n                  },\n                  {\n                    \"title\": \"Secondary Axes\",\n                    \"url\": \"/charts-axes-secondary/\"\n                  }\n                ]\n              },\n              {\n                \"title\": \"Legend\",\n                \"url\": \"/charts-legend/\"\n              },\n              {\n                \"title\": \"Series Markers\",\n                \"url\": \"/charts-markers/\"\n              },\n              {\n                \"title\": \"Series Highlighting\",\n                \"url\": \"/charts-series-highlighting/\"\n              },\n              {\n                \"title\": \"Tooltips\",\n                \"url\": \"/charts-tooltips/\"\n              },\n              {\n                \"title\": \"Formatters\",\n                \"url\": \"/charts-formatters/\"\n              },\n              {\n                \"title\": \"Cross Lines\",\n                \"url\": \"/charts-axes-cross-lines/\"\n              },\n              {\n                \"title\": \"Navigator\",\n                \"url\": \"/charts-navigator/\"\n              },\n              {\n                \"title\": \"Crosshairs\",\n                \"url\": \"/charts-axes-crosshairs/\",\n                \"enterprise\": \"charts\"\n              },\n              {\n                \"title\": \"Context Menu\",\n                \"url\": \"/charts-context-menu/\",\n                \"enterprise\": \"charts\"\n              },\n              {\n                \"title\": \"Zoom\",\n                \"url\": \"/charts-zoom/\",\n                \"enterprise\": \"charts\"\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"group\": \"Other\",\n    \"items\": [\n      {\n        \"title\": \"Scrolling\",\n        \"icon\": \"icon-scroll\",\n        \"items\": [\n          {\n            \"title\": \"DOM Virtualisation\",\n            \"url\": \"/dom-virtualisation/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Row Pagination\",\n            \"url\": \"/row-pagination/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Aligned Grids\",\n            \"url\": \"/aligned-grids/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Massive Row Count\",\n            \"url\": \"/massive-row-count/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Scrolling Performance\",\n            \"url\": \"/scrolling-performance/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"See Also\",\n            \"url\": \"\",\n            \"items\": [\n              {\n                \"title\": \"Scrolling Scenarios\",\n                \"url\": \"/scrolling-scenarios/\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"title\": \"Interactivity\",\n        \"icon\": \"icon-interactivity\",\n        \"items\": [\n          {\n            \"title\": \"Keyboard Navigation\",\n            \"url\": \"/keyboard-navigation/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Touch\",\n            \"url\": \"/touch/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Accessibility (ARIA)\",\n            \"url\": \"/accessibility/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"RTL Text Direction\",\n            \"url\": \"/rtl/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Localisation\",\n            \"url\": \"/localisation/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Testing & Security\",\n        \"icon\": \"icon-test\",\n        \"matrixExcludeChildren\": true,\n        \"level-2-display-style-forced\": \"block\",\n        \"items\": [\n          {\n            \"title\": \"Testing\",\n            \"url\": \"/testing/\",\n            \"showInCollapsed\": true\n          },\n          {\n            \"title\": \"Testing Async\",\n            \"url\": \"/testing-async/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"angular\"\n            ]\n          },\n          {\n            \"title\": \"Security\",\n            \"url\": \"/security/\",\n            \"showInCollapsed\": true\n          }\n        ]\n      },\n      {\n        \"title\": \"Miscellaneous\",\n        \"icon\": \"icon-misc\",\n        \"matrixExcludeChildren\": true,\n        \"level-2-display-style-forced\": \"block\",\n        \"items\": [\n          {\n            \"title\": \"Unidirectional Data Flow\",\n            \"url\": \"/framework-data-flow/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"vue\"\n            ]\n          },\n          {\n            \"title\": \"Redux Integration Part 1\",\n            \"url\": \"/redux-integration-pt1/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"react\"\n            ]\n          },\n          {\n            \"title\": \"Redux Integration Part 2\",\n            \"url\": \"/redux-integration-pt2/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"react\"\n            ]\n          },\n          {\n            \"title\": \"Material UI Components\",\n            \"url\": \"/material-design/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"angular\"\n            ]\n          },\n          {\n            \"title\": \"Miscellaneous\",\n            \"url\": \"/framework-misc/\",\n            \"showInCollapsed\": true,\n            \"frameworks\": [\n              \"vue\"\n            ]\n          }\n        ]\n      }\n    ]\n  }\n]"}},{"relativePath":"charts-api/interfaces.AUTO.json","internal":{"content":"{\n  \"Tags\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"TickLine\", \"TickLabel\", \"GridLine\", \"GridArc\", \"AxisLine\"],\n    \"docs\": [null, null, null, null, null]\n  },\n  \"TickCount\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"S\"] },\n    \"type\": \"S extends TimeScale ? number | TimeInterval : number\"\n  },\n  \"TickInterval\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"S\"] },\n    \"type\": \"S extends TimeScale ? number | TimeInterval : number\"\n  },\n  \"Size\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ width: number; height: number; }\"\n  },\n  \"OffscreenCanvasRenderingContext2D\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"any\"\n  },\n  \"OffscreenCanvas\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"any\" },\n  \"FontStyle\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'normal' | 'italic' | 'oblique'\"\n  },\n  \"FontWeight\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'normal' | 'bold' | 'bolder' | 'lighter' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'\"\n  },\n  \"FontFamily\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"string\" },\n  \"FontSize\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"number\" },\n  \"AgChartThemeName\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'ag-default' | 'ag-default-dark' | 'ag-material' | 'ag-material-dark' | 'ag-pastel' | 'ag-pastel-dark' | 'ag-solar' | 'ag-solar-dark' | 'ag-vivid' | 'ag-vivid-dark'\"\n  },\n  \"MarkerShape\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'circle' | 'cross' | 'diamond' | 'heart' | 'plus' | 'triangle' | any\"\n  },\n  \"CssColor\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"string\" },\n  \"Opacity\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"number\" },\n  \"PixelSize\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"number\" },\n  \"Ratio\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"number\" },\n  \"DataValue\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"any\" },\n  \"AgChartInteractionRange\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"PixelSize | 'exact' | 'nearest'\"\n  },\n  \"AgChartThemePalette\": {\n    \"meta\": {},\n    \"type\": { \"fills\": \"string[]\", \"strokes\": \"string[]\" },\n    \"docs\": {\n      \"fills\": \"/** The array of fills to be used. */\",\n      \"strokes\": \"/** The array of strokes to be used. */\"\n    }\n  },\n  \"AgChartThemeOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"palette?\": \"AgChartThemePalette\",\n      \"overrides?\": \"AgChartThemeOverrides\"\n    },\n    \"docs\": {\n      \"palette?\": \"/** The palette to use. If specified, this replaces the palette from the base theme. */\",\n      \"overrides?\": \"/** Configuration from this object is merged over the defaults specified in the base theme. */\"\n    }\n  },\n  \"AgChartTheme\": {\n    \"meta\": {\n      \"doc\": \"/** This object is used to define the configuration for a custom chart theme. */\"\n    },\n    \"type\": {\n      \"baseTheme?\": \"AgChartThemeName\",\n      \"palette?\": \"AgChartThemePalette\",\n      \"overrides?\": \"AgChartThemeOverrides\"\n    },\n    \"docs\": {\n      \"baseTheme?\": \"/** The name of the theme to base your theme on. Your custom theme will inherit all of the configuration from\\n     * the base theme, allowing you to override just the settings you wish to change using the `overrides` config (see\\n     * below).\\n     */\",\n      \"palette?\": \"/** The palette to use. If specified, this replaces the palette from the base theme. */\",\n      \"overrides?\": \"/** Configuration from this object is merged over the defaults specified in the base theme. */\"\n    }\n  },\n  \"AgChartThemeOverrides\": {\n    \"meta\": {},\n    \"type\": {\n      \"cartesian?\": \"AgCartesianThemeOptions<AgCartesianSeriesTheme>\",\n      \"column?\": \"AgCartesianThemeOptions<AgBarSeriesOptions>\",\n      \"bar?\": \"AgCartesianThemeOptions<AgBarSeriesOptions>\",\n      \"line?\": \"AgCartesianThemeOptions<AgLineSeriesOptions>\",\n      \"area?\": \"AgCartesianThemeOptions<AgAreaSeriesOptions>\",\n      \"scatter?\": \"AgCartesianThemeOptions<AgScatterSeriesOptions>\",\n      \"histogram?\": \"AgCartesianThemeOptions<AgHistogramSeriesOptions>\",\n      \"polar?\": \"AgPolarThemeOptions<AgPolarSeriesTheme>\",\n      \"pie?\": \"AgPolarThemeOptions<AgPieSeriesOptions>\",\n      \"hierarchy?\": \"AgHierarchyThemeOptions<AgHierarchySeriesTheme>\",\n      \"treemap?\": \"AgHierarchyThemeOptions<AgHierarchySeriesOptions>\",\n      \"common?\": \"any\"\n    },\n    \"docs\": {\n      \"cartesian?\": \"/** Specifies defaults for all cartesian charts (used for bar, column, histogram, line, scatter and area series) */\",\n      \"column?\": \"/** Specifies defaults for column charts. */\",\n      \"bar?\": \"/** Specifies defaults for bar charts. */\",\n      \"line?\": \"/** Specifies defaults for line charts. */\",\n      \"area?\": \"/** Specifies defaults for area charts. */\",\n      \"scatter?\": \"/** Specifies defaults for scatter/bubble charts. */\",\n      \"histogram?\": \"/** Specifies defaults for histogram charts. */\",\n      \"polar?\": \"/** Specifies defaults for all polar charts (used for pie series) */\",\n      \"pie?\": \"/** Specifies defaults for pie/doughnut charts. */\",\n      \"hierarchy?\": \"/** Specifies defaults for all hierarchy charts (used for treemap series) */\",\n      \"treemap?\": \"/** Specifies defaults for all treemap charts. */\",\n      \"common?\": \"/** Specifies defaults for all chart types. Be careful to only use properties that apply to all chart types here. For example, don't specify `navigator` configuration here as navigators are only available in cartesian charts. */\"\n    }\n  },\n  \"AgCartesianAxisThemeSpecialOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'position' | 'type' | 'crossLines'\"\n  },\n  \"AgCartesianAxisThemeOptions\": {\n    \"meta\": {\n      \"typeParams\": [\"T\"],\n      \"doc\": \"/** This is the configuration shared by all types of axis. */\"\n    },\n    \"type\": {\n      \"top?\": \"Omit<T, AgCartesianAxisThemeSpecialOptions>\",\n      \"right?\": \"Omit<T, AgCartesianAxisThemeSpecialOptions>\",\n      \"bottom?\": \"Omit<T, AgCartesianAxisThemeSpecialOptions>\",\n      \"left?\": \"Omit<T, AgCartesianAxisThemeSpecialOptions>\"\n    },\n    \"docs\": {\n      \"top?\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"right?\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"bottom?\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"left?\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\"\n    }\n  },\n  \"AgCartesianThemeOptions\": {\n    \"meta\": { \"typeParams\": [\"S = AgCartesianSeriesTheme\"] },\n    \"type\": {\n      \"axes?\": \"AgCartesianAxesTheme\",\n      \"series?\": \"S\",\n      \"navigator?\": \"AgNavigatorOptions\",\n      \"data?\": \"any[]\",\n      \"container?\": \"HTMLElement | null\",\n      \"width?\": \"PixelSize\",\n      \"height?\": \"PixelSize\",\n      \"autoSize?\": \"boolean\",\n      \"padding?\": \"AgChartPaddingOptions\",\n      \"seriesAreaPadding?\": \"AgSeriesAreaPaddingOptions\",\n      \"background?\": \"AgChartBackground\",\n      \"title?\": \"AgChartCaptionOptions\",\n      \"subtitle?\": \"AgChartSubtitleOptions\",\n      \"footnote?\": \"AgChartFooterOptions\",\n      \"tooltip?\": \"AgChartTooltipOptions\",\n      \"legend?\": \"AgChartLegendOptions\",\n      \"listeners?\": \"AgBaseChartListeners\",\n      \"highlight?\": \"AgChartHighlightOptions\",\n      \"theme?\": \"string | AgChartTheme\",\n      \"overlays?\": \"AgChartOverlaysOptions\"\n    },\n    \"docs\": {\n      \"axes?\": \"/** Axis configurations. */\",\n      \"series?\": \"/** Series configurations. */\",\n      \"navigator?\": \"/** Configuration for the chart navigator. */\",\n      \"data?\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"container?\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"width?\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"height?\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"autoSize?\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"padding?\": \"/** Configuration for the padding shown around the chart. */\",\n      \"seriesAreaPadding?\": \"/** Configuration for the padding around the series area. */\",\n      \"background?\": \"/** Configuration for the background shown behind the chart. */\",\n      \"title?\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"subtitle?\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"footnote?\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"tooltip?\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"legend?\": \"/** Configuration for the chart legend. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlight?\": \"/** Configuration for the chart highlighting. */\",\n      \"theme?\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"overlays?\": \"/** HTML overlays */\"\n    }\n  },\n  \"AgPolarThemeOptions\": {\n    \"meta\": { \"typeParams\": [\"S = AgPolarSeriesTheme\"] },\n    \"type\": {\n      \"series?\": \"S\",\n      \"data?\": \"any[]\",\n      \"container?\": \"HTMLElement | null\",\n      \"width?\": \"PixelSize\",\n      \"height?\": \"PixelSize\",\n      \"autoSize?\": \"boolean\",\n      \"padding?\": \"AgChartPaddingOptions\",\n      \"seriesAreaPadding?\": \"AgSeriesAreaPaddingOptions\",\n      \"background?\": \"AgChartBackground\",\n      \"title?\": \"AgChartCaptionOptions\",\n      \"subtitle?\": \"AgChartSubtitleOptions\",\n      \"footnote?\": \"AgChartFooterOptions\",\n      \"tooltip?\": \"AgChartTooltipOptions\",\n      \"legend?\": \"AgChartLegendOptions\",\n      \"listeners?\": \"AgBaseChartListeners\",\n      \"highlight?\": \"AgChartHighlightOptions\",\n      \"theme?\": \"string | AgChartTheme\",\n      \"overlays?\": \"AgChartOverlaysOptions\"\n    },\n    \"docs\": {\n      \"series?\": \"/** Series configurations. */\",\n      \"data?\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"container?\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"width?\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"height?\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"autoSize?\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"padding?\": \"/** Configuration for the padding shown around the chart. */\",\n      \"seriesAreaPadding?\": \"/** Configuration for the padding around the series area. */\",\n      \"background?\": \"/** Configuration for the background shown behind the chart. */\",\n      \"title?\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"subtitle?\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"footnote?\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"tooltip?\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"legend?\": \"/** Configuration for the chart legend. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlight?\": \"/** Configuration for the chart highlighting. */\",\n      \"theme?\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"overlays?\": \"/** HTML overlays */\"\n    }\n  },\n  \"AgHierarchyThemeOptions\": {\n    \"meta\": { \"typeParams\": [\"S = AgHierarchySeriesTheme\"] },\n    \"type\": {\n      \"series?\": \"S\",\n      \"data?\": \"any[]\",\n      \"container?\": \"HTMLElement | null\",\n      \"width?\": \"PixelSize\",\n      \"height?\": \"PixelSize\",\n      \"autoSize?\": \"boolean\",\n      \"padding?\": \"AgChartPaddingOptions\",\n      \"seriesAreaPadding?\": \"AgSeriesAreaPaddingOptions\",\n      \"background?\": \"AgChartBackground\",\n      \"title?\": \"AgChartCaptionOptions\",\n      \"subtitle?\": \"AgChartSubtitleOptions\",\n      \"footnote?\": \"AgChartFooterOptions\",\n      \"tooltip?\": \"AgChartTooltipOptions\",\n      \"legend?\": \"AgChartLegendOptions\",\n      \"listeners?\": \"AgBaseChartListeners\",\n      \"highlight?\": \"AgChartHighlightOptions\",\n      \"theme?\": \"string | AgChartTheme\",\n      \"overlays?\": \"AgChartOverlaysOptions\"\n    },\n    \"docs\": {\n      \"series?\": \"/** Series configurations. */\",\n      \"data?\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"container?\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"width?\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"height?\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"autoSize?\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"padding?\": \"/** Configuration for the padding shown around the chart. */\",\n      \"seriesAreaPadding?\": \"/** Configuration for the padding around the series area. */\",\n      \"background?\": \"/** Configuration for the background shown behind the chart. */\",\n      \"title?\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"subtitle?\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"footnote?\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"tooltip?\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"legend?\": \"/** Configuration for the chart legend. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlight?\": \"/** Configuration for the chart highlighting. */\",\n      \"theme?\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"overlays?\": \"/** HTML overlays */\"\n    }\n  },\n  \"AgCrossLineThemeOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"value?\": \"DataValue\",\n      \"range?\": \"[ DataValue, DataValue ]\",\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"lineDash?\": \"PixelSize[]\",\n      \"label?\": \"AgCrossLineLabelOptions\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not to show the cross line. */\",\n      \"value?\": \"/** The data value at which the line should be positioned. This property is used if the crossLine type is `line`. */\",\n      \"range?\": \"/** The range of values from the data used to display lines at a desired chart region. This property is only used for crossLine type `range`. */\",\n      \"fill?\": \"/** The colour to use for the fill of the range. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the range. */\",\n      \"stroke?\": \"/** The colour of the stroke for the lines. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the lines. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the lines. */\",\n      \"lineDash?\": \"/** Defines how the line stroke is rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"label?\": \"/** Configuration for the crossLine label. */\"\n    }\n  },\n  \"AgCartesianAxesCrossLineThemeOptions\": {\n    \"meta\": {},\n    \"type\": { \"crossLines?\": \"AgCrossLineThemeOptions\" }\n  },\n  \"AgNumberAxisThemeOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"nice?\": \"boolean\",\n      \"min?\": \"number\",\n      \"max?\": \"number\",\n      \"tick?\": \"AgAxisNumberTickOptions\",\n      \"top?\": \"Omit<AgNumberAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"right?\": \"Omit<AgNumberAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"bottom?\": \"Omit<AgNumberAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"left?\": \"Omit<AgNumberAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"crossLines?\": \"AgCrossLineThemeOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"nice?\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"min?\": \"/** User override for the automatically determined min value (based on series data). */\",\n      \"max?\": \"/** User override for the automatically determined max value (based on series data). */\",\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"top?\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"right?\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"bottom?\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"left?\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgLogAxisThemeOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"nice?\": \"boolean\",\n      \"min?\": \"number\",\n      \"max?\": \"number\",\n      \"base?\": \"number\",\n      \"tick?\": \"AgAxisNumberTickOptions\",\n      \"top?\": \"Omit<AgLogAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"right?\": \"Omit<AgLogAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"bottom?\": \"Omit<AgLogAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"left?\": \"Omit<AgLogAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"crossLines?\": \"AgCrossLineThemeOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"nice?\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"min?\": \"/** User override for the automatically determined min value (based on series data). This value can be any non-zero number less than the configured `max` value. */\",\n      \"max?\": \"/** User override for the automatically determined max value (based on series data). This value can be any non-zero number more than the configured `min` value. */\",\n      \"base?\": \"/** The base of the logarithm used. */\",\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"top?\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"right?\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"bottom?\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"left?\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgCategoryAxisThemeOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"paddingInner?\": \"Ratio\",\n      \"paddingOuter?\": \"Ratio\",\n      \"groupPaddingInner?\": \"Ratio\",\n      \"tick?\": \"AgAxisCategoryTickOptions\",\n      \"top?\": \"Omit<AgCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"right?\": \"Omit<AgCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"bottom?\": \"Omit<AgCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"left?\": \"Omit<AgCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"crossLines?\": \"AgCrossLineThemeOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"paddingInner?\": \"/** The size of the gap between the categories as a proportion, between 0 and 1. This value is a fraction of the “step”, which is the interval between the start of a band and the start of the next band.\\n     * Default: `0.2`\\n     */\",\n      \"paddingOuter?\": \"/** The padding on the outside i.e. left and right of the first and last category. In association with `paddingInner`, this value can be between 0 and 1.\\n     * Default: `0.3`\\n     */\",\n      \"groupPaddingInner?\": \"/** This property is for grouped column/bar series plotted on a category axis. It is a proportion between 0 and 1 which determines the size of the gap between the bars or columns within a single group along the axis.\\n     * Default: `0.2`\\n     */\",\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"top?\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"right?\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"bottom?\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"left?\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgGroupedCategoryAxisThemeOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"tick?\": \"AgAxisCategoryTickOptions\",\n      \"top?\": \"Omit<AgGroupedCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"right?\": \"Omit<AgGroupedCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"bottom?\": \"Omit<AgGroupedCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"left?\": \"Omit<AgGroupedCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"crossLines?\": \"AgCrossLineThemeOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"top?\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"right?\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"bottom?\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"left?\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgTimeAxisThemeOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"nice?\": \"boolean\",\n      \"tick?\": \"AgAxisTimeTickOptions\",\n      \"min?\": \"Date | number\",\n      \"max?\": \"Date | number\",\n      \"top?\": \"Omit<AgTimeAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"right?\": \"Omit<AgTimeAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"bottom?\": \"Omit<AgTimeAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"left?\": \"Omit<AgTimeAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n      \"crossLines?\": \"AgCrossLineThemeOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"nice?\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"min?\": \"/** User override for the automatically determined min value (based on series data). */\",\n      \"max?\": \"/** User override for the automatically determined max value (based on series data). */\",\n      \"top?\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"right?\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"bottom?\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"left?\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgCartesianAxesTheme\": {\n    \"meta\": {},\n    \"type\": {\n      \"number?\": \"AgNumberAxisThemeOptions\",\n      \"log?\": \"AgLogAxisThemeOptions\",\n      \"category?\": \"AgCategoryAxisThemeOptions\",\n      \"groupedCategory?\": \"AgGroupedCategoryAxisThemeOptions\",\n      \"time?\": \"AgTimeAxisThemeOptions\"\n    },\n    \"docs\": {\n      \"number?\": \"/** This extends the common axis configuration with options specific to number axes. */\",\n      \"log?\": \"/** This extends the common axis configuration with options specific to number axes. */\",\n      \"category?\": \"/** This extends the common axis configuration with options specific to category axes. */\",\n      \"groupedCategory?\": \"/** This extends the common axis configuration with options specific to grouped category axes. Currently there are no additional options beyond the common configuration. */\",\n      \"time?\": \"/** This extends the common axis configuration with options specific to time axes. */\"\n    }\n  },\n  \"AgCartesianSeriesTheme\": {\n    \"meta\": {},\n    \"type\": {\n      \"line?\": \"AgLineSeriesOptions\",\n      \"scatter?\": \"AgScatterSeriesOptions\",\n      \"area?\": \"AgAreaSeriesOptions\",\n      \"bar?\": \"AgBarSeriesOptions\",\n      \"column?\": \"AgBarSeriesOptions\",\n      \"histogram?\": \"AgHistogramSeriesOptions\"\n    }\n  },\n  \"AgPolarSeriesTheme\": { \"meta\": {}, \"type\": { \"pie?\": \"AgPieSeriesTheme\" } },\n  \"AgPieSeriesTheme\": {\n    \"meta\": {},\n    \"type\": {\n      \"innerLabels?\": \"AgDoughnutInnerLabelThemeOptions\",\n      \"type?\": \"'pie'\",\n      \"title?\": \"AgPieTitleOptions\",\n      \"label?\": \"AgPieSeriesLabelOptions<DatumType>\",\n      \"calloutLabel?\": \"AgPieSeriesLabelOptions<DatumType>\",\n      \"sectorLabel?\": \"AgPieSeriesSectorLabelOptions<DatumType>\",\n      \"callout?\": \"AgPieSeriesCalloutOptions\",\n      \"calloutLine?\": \"AgPieSeriesCalloutOptions\",\n      \"angleKey?\": \"string\",\n      \"angleName?\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"radiusName?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"labelName?\": \"string\",\n      \"calloutLabelKey?\": \"string\",\n      \"calloutLabelName?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"sectorLabelName?\": \"string\",\n      \"fills?\": \"CssColor[]\",\n      \"strokes?\": \"CssColor[]\",\n      \"fillOpacity?\": \"Opacity\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"lineDash?\": \"PixelSize[]\",\n      \"lineDashOffset?\": \"PixelSize\",\n      \"rotation?\": \"number\",\n      \"outerRadiusOffset?\": \"PixelSize\",\n      \"outerRadiusRatio?\": \"Ratio\",\n      \"innerRadiusOffset?\": \"PixelSize\",\n      \"innerRadiusRatio?\": \"Ratio\",\n      \"radiusMin?\": \"number\",\n      \"radiusMax?\": \"number\",\n      \"shadow?\": \"AgDropShadowOptions\",\n      \"tooltip?\": \"AgPieSeriesTooltip\",\n      \"innerCircle?\": \"AgDoughnutInnerCircle\",\n      \"formatter?\": \"(params: AgPieSeriesFormatterParams<DatumType>) => AgPieSeriesFormat\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"highlightStyle?\": \"AgSeriesHighlightStyle\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"title?\": \"/** Configuration for the series title. */\",\n      \"label?\": \"/** Configuration for the labels used outside of the sectors.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabel instead.\\n     */\",\n      \"calloutLabel?\": \"/** Configuration for the labels used outside of the sectors. */\",\n      \"sectorLabel?\": \"/** Configuration for the labels used inside the sectors. */\",\n      \"callout?\": \"/** Configuration for the callout lines used with the labels for the sectors.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLine instead.\\n     */\",\n      \"calloutLine?\": \"/** Configuration for the callout lines used with the labels for the sectors. */\",\n      \"angleKey?\": \"/** The key to use to retrieve angle values from the data. */\",\n      \"angleName?\": \"/** A human-readable description of the angle values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"radiusKey?\": \"/** The key to use to retrieve radius values from the data. */\",\n      \"radiusName?\": \"/** A human-readable description of the radius values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"labelKey?\": \"/** The key to use to retrieve label values from the data.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelKey or series.sectorLabelKey instead.\\n     */\",\n      \"labelName?\": \"/** A human-readable description of the label values. If supplied, this will be passed to the tooltip renderer as one of the parameters.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelName or series.sectorLabelName instead.\\n     */\",\n      \"calloutLabelKey?\": \"/** The key to use to retrieve label values from the data. */\",\n      \"calloutLabelName?\": \"/** A human-readable description of the label values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"sectorLabelKey?\": \"/** The key to use to retrieve sector label values from the data. */\",\n      \"sectorLabelName?\": \"/** A human-readable description of the sector label values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"fills?\": \"/** The colours to cycle through for the fills of the sectors. */\",\n      \"strokes?\": \"/** The colours to cycle through for the strokes of the sectors. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the sectors. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the sectors. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the sectors. */\",\n      \"lineDash?\": \"/** Defines how the pie sector strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"lineDashOffset?\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"rotation?\": \"/** The rotation of the pie series in degrees. */\",\n      \"outerRadiusOffset?\": \"/** The offset in pixels of the outer radius of the series. Used to construct doughnut charts. */\",\n      \"outerRadiusRatio?\": \"/** The ratio of the outer radius of the series. Used to adjust the outer radius proportionally to the automatically calculated value. */\",\n      \"innerRadiusOffset?\": \"/** The offset in pixels of the inner radius of the series. Used to construct doughnut charts. If this is not provided, or innerRadiusRatio is unset, or a value of zero is given, a pie chart will be rendered. */\",\n      \"innerRadiusRatio?\": \"/** The ratio of the inner radius of the series. Used to construct doughnut charts. If this is not provided, or innerRadiusOffset is unset, or a value of zero or one is given, a pie chart will be rendered. */\",\n      \"radiusMin?\": \"/** Override of the automatically determined minimum radiusKey value from the data. */\",\n      \"radiusMax?\": \"/** Override of the automatically determined maximum radiusKey value from the data. */\",\n      \"shadow?\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"tooltip?\": \"/** Series-specific tooltip configuration. */\",\n      \"innerLabels?\": \"/** Configuration for the text lines to display inside the series, typically used when rendering a doughnut chart */\",\n      \"innerCircle?\": \"/** Configuration for the area inside the series, only visible when rendering a doughnut chart by using innerRadiusOffset or innerRadiusRatio */\",\n      \"formatter?\": \"/** A formatter function for adjusting the styling of the pie sectors. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"highlightStyle?\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgHierarchySeriesTheme\": {\n    \"meta\": {},\n    \"type\": { \"treemap?\": \"AgTreemapSeriesOptions\" }\n  },\n  \"AgChartPaddingOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"top?\": \"PixelSize\",\n      \"right?\": \"PixelSize\",\n      \"bottom?\": \"PixelSize\",\n      \"left?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"top?\": \"/** The number of pixels of padding at the top of the chart area. */\",\n      \"right?\": \"/** The number of pixels of padding at the right of the chart area. */\",\n      \"bottom?\": \"/** The number of pixels of padding at the bottom of the chart area. */\",\n      \"left?\": \"/** The number of pixels of padding at the left of the chart area. */\"\n    }\n  },\n  \"AgSeriesAreaPaddingOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"top?\": \"PixelSize\",\n      \"right?\": \"PixelSize\",\n      \"bottom?\": \"PixelSize\",\n      \"left?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"top?\": \"/** The number of pixels of padding at the top of the series area. */\",\n      \"right?\": \"/** The number of pixels of padding at the right of the series area. */\",\n      \"bottom?\": \"/** The number of pixels of padding at the bottom of the series area. */\",\n      \"left?\": \"/** The number of pixels of padding at the left of the series area. */\"\n    }\n  },\n  \"AgChartOverlayOptions\": {\n    \"meta\": {},\n    \"type\": { \"text?\": \"string\", \"renderer?\": \"() => string\" },\n    \"docs\": {\n      \"text?\": \"/** Text to render in the overlay. */\",\n      \"renderer?\": \"/** A function for generating HTML string for overlay content. */\"\n    }\n  },\n  \"AgChartOverlaysOptions\": {\n    \"meta\": {},\n    \"type\": { \"noData?\": \"AgChartOverlayOptions\" },\n    \"docs\": {\n      \"noData?\": \"/** An overlay to be displayed when there is no data. */\"\n    }\n  },\n  \"AgChartLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not the labels should be shown. */\",\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels. */\",\n      \"color?\": \"/** The colour to use for the labels. */\"\n    }\n  },\n  \"AgDropShadowOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"color?\": \"CssColor\",\n      \"xOffset?\": \"PixelSize\",\n      \"yOffset?\": \"PixelSize\",\n      \"blur?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not the shadow is visible. */\",\n      \"color?\": \"/** The colour of the shadow. */\",\n      \"xOffset?\": \"/** The horizontal offset in pixels for the shadow. */\",\n      \"yOffset?\": \"/** The vertical offset in pixels for the shadow. */\",\n      \"blur?\": \"/** The radius of the shadow's blur, given in pixels. */\"\n    }\n  },\n  \"AgChartCaptionOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"text?\": \"string\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\",\n      \"spacing?\": \"number\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not the text should be shown. */\",\n      \"text?\": \"/** The text to display. */\",\n      \"fontStyle?\": \"/** The font style to use for the text. */\",\n      \"fontWeight?\": \"/** The font weight to use for the text. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the text. */\",\n      \"fontFamily?\": \"/** The font family to use for the text. */\",\n      \"color?\": \"/** The colour to use for the text. */\",\n      \"spacing?\": \"/** Spacing added to help position the text. */\"\n    }\n  },\n  \"AgChartSubtitleOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"text?\": \"string\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\",\n      \"spacing?\": \"number\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not the text should be shown. */\",\n      \"text?\": \"/** The text to display. */\",\n      \"fontStyle?\": \"/** The font style to use for the text. */\",\n      \"fontWeight?\": \"/** The font weight to use for the text. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the text. */\",\n      \"fontFamily?\": \"/** The font family to use for the text. */\",\n      \"color?\": \"/** The colour to use for the text. */\",\n      \"spacing?\": \"/** Spacing added to help position the text. */\"\n    }\n  },\n  \"AgChartFooterOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"text?\": \"string\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\",\n      \"spacing?\": \"number\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not the text should be shown. */\",\n      \"text?\": \"/** The text to display. */\",\n      \"fontStyle?\": \"/** The font style to use for the text. */\",\n      \"fontWeight?\": \"/** The font weight to use for the text. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the text. */\",\n      \"fontFamily?\": \"/** The font family to use for the text. */\",\n      \"color?\": \"/** The colour to use for the text. */\",\n      \"spacing?\": \"/** Spacing added to help position the text. */\"\n    }\n  },\n  \"AgAxisCaptionOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"text?\": \"string\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not the title should be shown. */\",\n      \"text?\": \"/** The text to show in the title. */\",\n      \"fontStyle?\": \"/** The font style to use for the title. */\",\n      \"fontWeight?\": \"/** The font weight to use for the title. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the title. */\",\n      \"fontFamily?\": \"/** The font family to use for the title. */\",\n      \"color?\": \"/** The colour to use for the title. */\"\n    }\n  },\n  \"AgNavigatorMaskOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"fillOpacity?\": \"Opacity\"\n    },\n    \"docs\": {\n      \"fill?\": \"/** The fill colour used by the mask. */\",\n      \"stroke?\": \"/** The stroke colour used by the mask. */\",\n      \"strokeWidth?\": \"/** The stroke width used by the mask. */\",\n      \"fillOpacity?\": \"/** The opacity of the mask's fill in the `[0, 1]` interval, where `0` is effectively no masking. */\"\n    }\n  },\n  \"AgNavigatorHandleOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"width?\": \"PixelSize\",\n      \"height?\": \"PixelSize\",\n      \"gripLineGap?\": \"PixelSize\",\n      \"gripLineLength?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"fill?\": \"/** The fill colour used by the handle. */\",\n      \"stroke?\": \"/** The stroke colour used by the handle. */\",\n      \"strokeWidth?\": \"/** The stroke width used by the handle. */\",\n      \"width?\": \"/** The width of the handle. */\",\n      \"height?\": \"/** The height of the handle. */\",\n      \"gripLineGap?\": \"/** The distance between the handle's grip lines. */\",\n      \"gripLineLength?\": \"/** The length of the handle's grip lines. */\"\n    }\n  },\n  \"AgNavigatorOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"height?\": \"PixelSize\",\n      \"margin?\": \"PixelSize\",\n      \"min?\": \"number\",\n      \"max?\": \"number\",\n      \"mask?\": \"AgNavigatorMaskOptions\",\n      \"minHandle?\": \"AgNavigatorHandleOptions\",\n      \"maxHandle?\": \"AgNavigatorHandleOptions\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not to show the navigator. */\",\n      \"height?\": \"/** The height of the navigator. */\",\n      \"margin?\": \"/** The distance between the navigator and the bottom axis. */\",\n      \"min?\": \"/** The start of the visible range in the `[0, 1]` interval. */\",\n      \"max?\": \"/** The end of the visible range in the `[0, 1]` interval. */\",\n      \"mask?\": \"/** Configuration for the navigator's visible range mask. */\",\n      \"minHandle?\": \"/** Configuration for the navigator's left handle. */\",\n      \"maxHandle?\": \"/** Configuration for the navigator's right handle. */\"\n    }\n  },\n  \"AgChartLegendPosition\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'top' | 'right' | 'bottom' | 'left'\"\n  },\n  \"AgChartOrientation\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'horizontal' | 'vertical'\"\n  },\n  \"AgChartLegendMarkerOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"size?\": \"PixelSize\",\n      \"shape?\": \"MarkerShape\",\n      \"padding?\": \"PixelSize\",\n      \"strokeWidth?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"size?\": \"/** The size in pixels of the markers in the legend. */\",\n      \"shape?\": \"/** If set, overrides the marker shape from the series and the legend will show the specified marker shape instead. If not set, will use a marker shape matching the shape from the series, or fall back to `'square'` if there is none. */\",\n      \"padding?\": \"/** The padding in pixels between a legend marker and the corresponding label. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for markers in the legend. */\"\n    }\n  },\n  \"AgChartLegendLabelFormatterParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"id\": \"string\",\n      \"seriesId\": \"string\",\n      \"itemId\": \"any\",\n      \"value\": \"string\"\n    },\n    \"docs\": {\n      \"id\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId. */\"\n    }\n  },\n  \"AgChartLegendLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"maxLength?\": \"number\",\n      \"color?\": \"CssColor\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"formatter?\": \"(params: AgChartLegendLabelFormatterParams) => string\"\n    },\n    \"docs\": {\n      \"maxLength?\": \"/** If the label text exceeds the maximum length, it will be truncated and an ellipsis will be appended to indicate this. */\",\n      \"color?\": \"/** The colour of the text. */\",\n      \"fontStyle?\": \"/** The font style to use for the legend. */\",\n      \"fontWeight?\": \"/** The font weight to use for the legend. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the legend. */\",\n      \"fontFamily?\": \"/** The font family to use for the legend. */\",\n      \"formatter?\": \"/** Function used to render legend labels. Where `id` is a series ID, `itemId` is component ID within a series, such as a field name or an item index. */\"\n    }\n  },\n  \"AgChartLegendItemOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"marker?\": \"AgChartLegendMarkerOptions\",\n      \"label?\": \"AgChartLegendLabelOptions\",\n      \"maxWidth?\": \"PixelSize\",\n      \"paddingX?\": \"PixelSize\",\n      \"paddingY?\": \"PixelSize\",\n      \"toggleSeriesVisible?\": \"boolean\"\n    },\n    \"docs\": {\n      \"marker?\": \"/** Configuration for the legend markers. */\",\n      \"label?\": \"/** Configuration for the legend labels. */\",\n      \"maxWidth?\": \"/** Used to constrain the width of legend items. */\",\n      \"paddingX?\": \"/** The horizontal spacing in pixels to use between legend items. */\",\n      \"paddingY?\": \"/** The vertical spacing in pixels to use between legend items. */\",\n      \"toggleSeriesVisible?\": \"/** Set to `false` to turn off toggling of the series visibility in the chart when the legend item is clicked. */\"\n    }\n  },\n  \"AgChartLegendEvent\": {\n    \"meta\": { \"typeParams\": [\"T extends string\"] },\n    \"type\": {\n      \"type\": \"T\",\n      \"seriesId\": \"string\",\n      \"itemId\": \"string\",\n      \"enabled\": \"boolean\"\n    },\n    \"docs\": {\n      \"seriesId\": \"/** Series id */\",\n      \"itemId\": \"/** Legend item id - usually yKey value for cartesian series. */\",\n      \"enabled\": \"/** Whether the legend item is currently enabled or not. */\"\n    }\n  },\n  \"AgChartLegendClickEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"T\",\n      \"seriesId\": \"string\",\n      \"itemId\": \"string\",\n      \"enabled\": \"boolean\"\n    },\n    \"docs\": {\n      \"seriesId\": \"/** Series id */\",\n      \"itemId\": \"/** Legend item id - usually yKey value for cartesian series. */\",\n      \"enabled\": \"/** Whether the legend item is currently enabled or not. */\"\n    }\n  },\n  \"AgChartLegendDoubleClickEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"T\",\n      \"seriesId\": \"string\",\n      \"itemId\": \"string\",\n      \"enabled\": \"boolean\"\n    },\n    \"docs\": {\n      \"seriesId\": \"/** Series id */\",\n      \"itemId\": \"/** Legend item id - usually yKey value for cartesian series. */\",\n      \"enabled\": \"/** Whether the legend item is currently enabled or not. */\"\n    }\n  },\n  \"AgChartLegendListeners\": {\n    \"meta\": {},\n    \"type\": {\n      \"legendItemClick?\": \"(event: AgChartLegendClickEvent) => void\",\n      \"legendItemDoubleClick?\": \"(event: AgChartLegendDoubleClickEvent) => void\"\n    },\n    \"docs\": {\n      \"legendItemClick?\": \"/** The listener to call when a legend item is clicked. */\",\n      \"legendItemDoubleClick?\": \"/** The listener to call when a legend item is double clicked. */\"\n    }\n  },\n  \"AgChartLegendOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgChartLegendPosition\",\n      \"orientation?\": \"AgChartOrientation\",\n      \"maxWidth?\": \"PixelSize\",\n      \"maxHeight?\": \"PixelSize\",\n      \"spacing?\": \"PixelSize\",\n      \"item?\": \"AgChartLegendItemOptions\",\n      \"reverseOrder?\": \"boolean\",\n      \"listeners?\": \"AgChartLegendListeners\",\n      \"pagination?\": \"AgChartLegendPaginationOptions\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not to show the legend. */\",\n      \"position?\": \"/** Where the legend should show in relation to the chart. */\",\n      \"orientation?\": \"/** How the legend items should be arranged. */\",\n      \"maxWidth?\": \"/** Used to constrain the width of the legend. */\",\n      \"maxHeight?\": \"/** Used to constrain the height of the legend. */\",\n      \"spacing?\": \"/** The spacing in pixels to use outside the legend. */\",\n      \"item?\": \"/** Configuration for the legend items that consist of a marker and a label. */\",\n      \"reverseOrder?\": \"/** Reverse the display order of legend items if `true`. */\",\n      \"listeners?\": \"/** Optional callbacks for specific legend-related events. */\"\n    }\n  },\n  \"AgChartLegendPaginationOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"marker?\": \"AgPaginationMarkerOptions\",\n      \"activeStyle?\": \"AgPaginationMarkerStyle\",\n      \"inactiveStyle?\": \"AgPaginationMarkerStyle\",\n      \"highlightStyle?\": \"AgPaginationMarkerStyle\",\n      \"label?\": \"AgPaginationLabelOptions\"\n    },\n    \"docs\": {\n      \"marker?\": \"/** Configuration for the pagination markers. */\",\n      \"activeStyle?\": \"/** Configuration for pagination buttons when a button is active. */\",\n      \"inactiveStyle?\": \"/** Configuration for pagination buttons when a button is inactive. */\",\n      \"highlightStyle?\": \"/** Configuration for pagination buttons when a button is hovered over. */\",\n      \"label?\": \"/** Configuration for the pagination label. */\"\n    }\n  },\n  \"AgPaginationMarkerOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"size?\": \"PixelSize\",\n      \"shape?\": \"MarkerShape\",\n      \"padding?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"size?\": \"/** The size in pixels of the pagination buttons. */\",\n      \"shape?\": \"/** If set, overrides the marker shape for the pagination buttons. If not set, the pagination buttons will default to the `'triangle'` marker shape. */\",\n      \"padding?\": \"/** The inner padding in pixels between a pagination button and the pagination label. */\"\n    }\n  },\n  \"AgPaginationMarkerStyle\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"strokeOpacity?\": \"Opacity\"\n    },\n    \"docs\": {\n      \"fill?\": \"/** The fill colour to use for the pagination button markers. */\",\n      \"fillOpacity?\": \"/** Opacity of the pagination buttons. */\",\n      \"stroke?\": \"/** The colour to use for the button strokes. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the button strokes. */\",\n      \"strokeOpacity?\": \"/** Opacity of the button strokes. */\"\n    }\n  },\n  \"AgPaginationLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"color?\": \"CssColor\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\"\n    },\n    \"docs\": {\n      \"color?\": \"/** The colour of the text. */\",\n      \"fontStyle?\": \"/** The font style to use for the pagination label. */\",\n      \"fontWeight?\": \"/** The font weight to use for the pagination label. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the pagination label. */\",\n      \"fontFamily?\": \"/** The font family to use for the pagination label. */\"\n    }\n  },\n  \"AgChartTooltipOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"class?\": \"string\",\n      \"tracking?\": \"boolean\",\n      \"range?\": \"AgChartInteractionRange\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"delay?\": \"number\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Set to false to disable tooltips for all series in the chart. */\",\n      \"class?\": \"/** A class name to be added to the tooltip element of the chart. */\",\n      \"tracking?\": \"/** @deprecated since v7.2.0 (ag-grid v29.2.0) If true, for series with markers the tooltip will be shown to the closest marker. */\",\n      \"range?\": \"/** Range from a point that triggers the tooltip to show. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"delay?\": \"/** The time interval (in milliseconds) after which the tooltip is shown. */\"\n    }\n  },\n  \"AgTooltipPositionType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'pointer' | 'node'\"\n  },\n  \"AgTooltipPositionOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"AgMovingTooltipPositionOptions\"\n  },\n  \"AgMovingTooltipPositionOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"AgTooltipPositionType\",\n      \"xOffset?\": \"PixelSize\",\n      \"yOffset?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"type\": \"/** The type of positioning for the tooltip. By default, the tooltip follows the pointer. */\",\n      \"xOffset?\": \"/** The horizontal offset in pixels for the position of the tooltip. */\",\n      \"yOffset?\": \"/** The vertical offset in pixels for the position of the tooltip. */\"\n    }\n  },\n  \"AgChartBackground\": {\n    \"meta\": {},\n    \"type\": { \"visible?\": \"boolean\", \"fill?\": \"CssColor\" },\n    \"docs\": {\n      \"visible?\": \"/** Whether or not the background should be visible. */\",\n      \"fill?\": \"/** Colour of the chart background. */\"\n    }\n  },\n  \"AgChartEvent\": {\n    \"meta\": { \"typeParams\": [\"T extends string\"] },\n    \"type\": { \"type\": \"T\", \"event\": \"Event\" }\n  },\n  \"AgNodeBaseClickEvent\": {\n    \"meta\": { \"typeParams\": [\"T extends string\"] },\n    \"type\": {\n      \"type\": \"T\",\n      \"series\": \"any\",\n      \"seriesId\": \"string\",\n      \"datum\": \"any\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"sizeKey?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"colorKey?\": \"string\",\n      \"angleKey?\": \"string\",\n      \"calloutLabelKey?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"event\": \"Event\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event type. */\",\n      \"series\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId to get the series ID. */\",\n      \"seriesId\": \"/** Series ID, as specified in series.id (or generated if not specified) */\",\n      \"datum\": \"/** Datum from the chart or series data array. */\",\n      \"xKey?\": \"/** xKey as specified on series options */\",\n      \"yKey?\": \"/** yKey as specified on series options */\",\n      \"sizeKey?\": \"/** sizeKey as specified on series options */\",\n      \"labelKey?\": \"/** labelKey as specified on series options */\",\n      \"colorKey?\": \"/** colorKey as specified on series options */\",\n      \"angleKey?\": \"/** angleKey as specified on series options */\",\n      \"calloutLabelKey?\": \"/** calloutLabelKey as specified on series options */\",\n      \"sectorLabelKey?\": \"/** sectorLabelKey as specified on series options */\",\n      \"radiusKey?\": \"/** radiusKey as specified on series options */\"\n    }\n  },\n  \"AgNodeClickEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"T\",\n      \"series\": \"any\",\n      \"seriesId\": \"string\",\n      \"datum\": \"any\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"sizeKey?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"colorKey?\": \"string\",\n      \"angleKey?\": \"string\",\n      \"calloutLabelKey?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"event\": \"Event\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event type. */\",\n      \"series\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId to get the series ID. */\",\n      \"seriesId\": \"/** Series ID, as specified in series.id (or generated if not specified) */\",\n      \"datum\": \"/** Datum from the chart or series data array. */\",\n      \"xKey?\": \"/** xKey as specified on series options */\",\n      \"yKey?\": \"/** yKey as specified on series options */\",\n      \"sizeKey?\": \"/** sizeKey as specified on series options */\",\n      \"labelKey?\": \"/** labelKey as specified on series options */\",\n      \"colorKey?\": \"/** colorKey as specified on series options */\",\n      \"angleKey?\": \"/** angleKey as specified on series options */\",\n      \"calloutLabelKey?\": \"/** calloutLabelKey as specified on series options */\",\n      \"sectorLabelKey?\": \"/** sectorLabelKey as specified on series options */\",\n      \"radiusKey?\": \"/** radiusKey as specified on series options */\"\n    }\n  },\n  \"AgNodeDoubleClickEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"T\",\n      \"series\": \"any\",\n      \"seriesId\": \"string\",\n      \"datum\": \"any\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"sizeKey?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"colorKey?\": \"string\",\n      \"angleKey?\": \"string\",\n      \"calloutLabelKey?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"event\": \"Event\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event type. */\",\n      \"series\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId to get the series ID. */\",\n      \"seriesId\": \"/** Series ID, as specified in series.id (or generated if not specified) */\",\n      \"datum\": \"/** Datum from the chart or series data array. */\",\n      \"xKey?\": \"/** xKey as specified on series options */\",\n      \"yKey?\": \"/** yKey as specified on series options */\",\n      \"sizeKey?\": \"/** sizeKey as specified on series options */\",\n      \"labelKey?\": \"/** labelKey as specified on series options */\",\n      \"colorKey?\": \"/** colorKey as specified on series options */\",\n      \"angleKey?\": \"/** angleKey as specified on series options */\",\n      \"calloutLabelKey?\": \"/** calloutLabelKey as specified on series options */\",\n      \"sectorLabelKey?\": \"/** sectorLabelKey as specified on series options */\",\n      \"radiusKey?\": \"/** radiusKey as specified on series options */\"\n    }\n  },\n  \"AgChartClickEvent\": {\n    \"meta\": {},\n    \"type\": { \"type\": \"T\", \"event\": \"Event\" }\n  },\n  \"AgChartDoubleClickEvent\": {\n    \"meta\": {},\n    \"type\": { \"type\": \"T\", \"event\": \"Event\" }\n  },\n  \"AgBaseChartListeners\": {\n    \"meta\": {},\n    \"type\": {\n      \"seriesNodeClick?\": \"(event: AgNodeClickEvent) => any\",\n      \"seriesNodeDoubleClick?\": \"(event: AgNodeDoubleClickEvent) => any\",\n      \"click?\": \"(event: AgChartClickEvent) => any\",\n      \"doubleClick?\": \"(event: AgChartDoubleClickEvent) => any\"\n    },\n    \"docs\": {\n      \"seriesNodeClick?\": \"/** The listener to call when a node (marker, column, bar, tile or a pie sector) in any series is clicked. In case a chart has multiple series, the chart's `seriesNodeClick` event can be used to listen to `nodeClick` events of all the series at once. */\",\n      \"seriesNodeDoubleClick?\": \"/** The listener to call when a node (marker, column, bar, tile or a pie sector) in any series is double clicked. In case a chart has multiple series, the chart's `seriesNodeDoubleClick` event can be used to listen to `nodeDoubleClick` events of all the series at once. */\",\n      \"click?\": \"/** The listener to call to signify a general click on the chart by the user. */\",\n      \"doubleClick?\": \"/** The listener to call to signify a double click on the chart by the user. */\"\n    }\n  },\n  \"AgChartHighlightRange\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'tooltip' | 'node'\"\n  },\n  \"AgChartHighlightOptions\": {\n    \"meta\": {},\n    \"type\": { \"range?\": \"AgChartHighlightRange\" },\n    \"docs\": {\n      \"range?\": \"/** By default, nodes will be highlighted when the cursor is within the `tooltip.range`. Set this to `'node'` to highlight nodes when within the `series[].nodeClickRange`. */\"\n    }\n  },\n  \"AgBaseChartOptions\": {\n    \"meta\": { \"doc\": \"/** Configuration common to all charts.  */\" },\n    \"type\": {\n      \"data?\": \"any[]\",\n      \"container?\": \"HTMLElement | null\",\n      \"width?\": \"PixelSize\",\n      \"height?\": \"PixelSize\",\n      \"autoSize?\": \"boolean\",\n      \"padding?\": \"AgChartPaddingOptions\",\n      \"seriesAreaPadding?\": \"AgSeriesAreaPaddingOptions\",\n      \"background?\": \"AgChartBackground\",\n      \"title?\": \"AgChartCaptionOptions\",\n      \"subtitle?\": \"AgChartSubtitleOptions\",\n      \"footnote?\": \"AgChartFooterOptions\",\n      \"tooltip?\": \"AgChartTooltipOptions\",\n      \"legend?\": \"AgChartLegendOptions\",\n      \"listeners?\": \"AgBaseChartListeners\",\n      \"highlight?\": \"AgChartHighlightOptions\",\n      \"theme?\": \"string | AgChartTheme\",\n      \"overlays?\": \"AgChartOverlaysOptions\"\n    },\n    \"docs\": {\n      \"data?\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"container?\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"width?\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"height?\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"autoSize?\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"padding?\": \"/** Configuration for the padding shown around the chart. */\",\n      \"seriesAreaPadding?\": \"/** Configuration for the padding around the series area. */\",\n      \"background?\": \"/** Configuration for the background shown behind the chart. */\",\n      \"title?\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"subtitle?\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"footnote?\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"tooltip?\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"legend?\": \"/** Configuration for the chart legend. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlight?\": \"/** Configuration for the chart highlighting. */\",\n      \"theme?\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"overlays?\": \"/** HTML overlays */\"\n    }\n  },\n  \"AgBaseAxisOptions\": {\n    \"meta\": {},\n    \"type\": { \"keys?\": \"string[]\", \"thickness?\": \"PixelSize\" },\n    \"docs\": {\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgCartesianAxisPosition\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'top' | 'right' | 'bottom' | 'left'\"\n  },\n  \"AgAxisLineOptions\": {\n    \"meta\": {},\n    \"type\": { \"width?\": \"PixelSize\", \"color?\": \"CssColor\" },\n    \"docs\": {\n      \"width?\": \"/** The width in pixels of the axis line. */\",\n      \"color?\": \"/** The colour of the axis line. */\"\n    }\n  },\n  \"AgAxisBaseTickOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"width?\": \"PixelSize\",\n      \"size?\": \"PixelSize\",\n      \"color?\": \"CssColor\",\n      \"values?\": \"any[]\",\n      \"minSpacing?\": \"number\",\n      \"maxSpacing?\": \"number\"\n    },\n    \"docs\": {\n      \"width?\": \"/** The width in pixels of the axis ticks (and corresponding grid line). */\",\n      \"size?\": \"/** The length in pixels of the axis ticks. */\",\n      \"color?\": \"/** The colour of the axis ticks. */\",\n      \"values?\": \"/** Array of values in axis units to display as ticks along the axis.\\n     * The values in this array must be compatible with the axis type.\\n     */\",\n      \"minSpacing?\": \"/** Minimum gap in pixels between tick lines.\\n     */\",\n      \"maxSpacing?\": \"/** Maximum gap in pixels between tick lines.\\n     */\"\n    }\n  },\n  \"AgAxisCategoryTickOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"width?\": \"PixelSize\",\n      \"size?\": \"PixelSize\",\n      \"color?\": \"CssColor\",\n      \"values?\": \"any[]\",\n      \"minSpacing?\": \"number\",\n      \"maxSpacing?\": \"number\"\n    },\n    \"docs\": {\n      \"width?\": \"/** The width in pixels of the axis ticks (and corresponding grid line). */\",\n      \"size?\": \"/** The length in pixels of the axis ticks. */\",\n      \"color?\": \"/** The colour of the axis ticks. */\",\n      \"values?\": \"/** Array of values in axis units to display as ticks along the axis.\\n     * The values in this array must be compatible with the axis type.\\n     */\",\n      \"minSpacing?\": \"/** Minimum gap in pixels between tick lines.\\n     */\",\n      \"maxSpacing?\": \"/** Maximum gap in pixels between tick lines.\\n     */\"\n    }\n  },\n  \"AgAxisNumberTickOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"count?\": \"number\",\n      \"interval?\": \"number\",\n      \"width?\": \"PixelSize\",\n      \"size?\": \"PixelSize\",\n      \"color?\": \"CssColor\",\n      \"values?\": \"any[]\",\n      \"minSpacing?\": \"number\",\n      \"maxSpacing?\": \"number\"\n    },\n    \"docs\": {\n      \"count?\": \"/** A hint of how many ticks to use across an axis.\\n     * The axis is not guaranteed to use exactly this number of ticks, but will try to use a number of ticks that is close to the number given.\\n     * @deprecated since v7.1.0 (ag-grid v29.1.0) Use tick.interval or tick.minSpacing and tick.maxSpacing instead.\\n     */\",\n      \"interval?\": \"/** The step value between ticks specified as a number. If the configured interval results in too many ticks given the chart size, it will be ignored.\\n     */\",\n      \"width?\": \"/** The width in pixels of the axis ticks (and corresponding grid line). */\",\n      \"size?\": \"/** The length in pixels of the axis ticks. */\",\n      \"color?\": \"/** The colour of the axis ticks. */\",\n      \"values?\": \"/** Array of values in axis units to display as ticks along the axis.\\n     * The values in this array must be compatible with the axis type.\\n     */\",\n      \"minSpacing?\": \"/** Minimum gap in pixels between tick lines.\\n     */\",\n      \"maxSpacing?\": \"/** Maximum gap in pixels between tick lines.\\n     */\"\n    }\n  },\n  \"AgAxisTimeTickOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"count?\": \"any\",\n      \"interval?\": \"any\",\n      \"width?\": \"PixelSize\",\n      \"size?\": \"PixelSize\",\n      \"color?\": \"CssColor\",\n      \"values?\": \"any[]\",\n      \"minSpacing?\": \"number\",\n      \"maxSpacing?\": \"number\"\n    },\n    \"docs\": {\n      \"count?\": \"/** A hint of how many ticks to use across an axis.\\n     * The axis is not guaranteed to use exactly this number of ticks, but will try to use a number of ticks that is close to the number given.\\n     * The following intervals from the `agCharts.time` namespace can be used:\\n     * `millisecond, second, minute, hour, day, sunday, monday, tuesday, wednesday, thursday, friday, saturday, month, year, utcMinute, utcHour, utcDay, utcMonth, utcYear`.\\n     * Derived intervals can be created by using the `every` method on the default ones. For example, `agCharts.time.month.every(2)` will return a derived interval that will make the axis place ticks for every other month. */\",\n      \"interval?\": \"/** The step value between ticks specified as a TimeInterval or a number. If the configured interval results in dense ticks given the data domain, the ticks will be removed.\\n     */\",\n      \"width?\": \"/** The width in pixels of the axis ticks (and corresponding grid line). */\",\n      \"size?\": \"/** The length in pixels of the axis ticks. */\",\n      \"color?\": \"/** The colour of the axis ticks. */\",\n      \"values?\": \"/** Array of values in axis units to display as ticks along the axis.\\n     * The values in this array must be compatible with the axis type.\\n     */\",\n      \"minSpacing?\": \"/** Minimum gap in pixels between tick lines.\\n     */\",\n      \"maxSpacing?\": \"/** Maximum gap in pixels between tick lines.\\n     */\"\n    }\n  },\n  \"AgAxisLabelFormatterParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"value\": \"any\",\n      \"index\": \"number\",\n      \"fractionDigits?\": \"number\",\n      \"formatter?\": \"(x: any) => string\"\n    }\n  },\n  \"AgAxisLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"padding?\": \"PixelSize\",\n      \"color?\": \"CssColor\",\n      \"rotation?\": \"number\",\n      \"autoRotate?\": \"boolean\",\n      \"autoRotateAngle?\": \"number\",\n      \"avoidCollisions?\": \"boolean\",\n      \"minSpacing?\": \"PixelSize\",\n      \"format?\": \"string\",\n      \"formatter?\": \"(params: AgAxisLabelFormatterParams) => string | undefined\"\n    },\n    \"docs\": {\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels */\",\n      \"padding?\": \"/** Padding in pixels between the axis label and the tick. */\",\n      \"color?\": \"/** The colour to use for the labels */\",\n      \"rotation?\": \"/** The rotation of the axis labels in degrees. Note: for integrated charts the default is 335 degrees, unless the axis shows grouped or default categories (indexes). The first row of labels in a grouped category axis is rotated perpendicular to the axis line. */\",\n      \"autoRotate?\": \"/** If specified and axis labels may collide, they are rotated so that they are positioned at the supplied angle. This is enabled by default for category. If the `rotation` property is specified, it takes precedence. */\",\n      \"autoRotateAngle?\": \"/** If autoRotate is enabled, specifies the rotation angle to use when autoRotate is activated. Defaults to an angle of 335 degrees if unspecified. */\",\n      \"avoidCollisions?\": \"/** Avoid axis label collision by automatically reducing the number of ticks displayed. If set to `false`, axis labels may collide. */\",\n      \"minSpacing?\": \"/** Minimum gap in pixels between the axis labels before being removed to avoid collisions. */\",\n      \"format?\": \"/** Format string used when rendering labels. */\",\n      \"formatter?\": \"/** Function used to render axis labels. If `value` is a number, `fractionDigits` will also be provided, which indicates the number of fractional digits used in the step between ticks; for example, a tick step of `0.0005` would have `fractionDigits` set to `4` */\"\n    }\n  },\n  \"AgAxisGridStyle\": {\n    \"meta\": {},\n    \"type\": { \"stroke?\": \"CssColor\", \"lineDash?\": \"PixelSize[]\" },\n    \"docs\": {\n      \"stroke?\": \"/** The colour of the grid line. */\",\n      \"lineDash?\": \"/** Defines how the gridlines are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\"\n    }\n  },\n  \"AgCartesianAxisType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'category' | 'groupedCategory' | 'number' | 'log' | 'time'\"\n  },\n  \"AgBaseCartesianAxisOptions\": {\n    \"meta\": { \"doc\": \"/** Configuration for axes in cartesian charts. */\" },\n    \"type\": {\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"crossLines?\": \"AgCrossLineOptions[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgCrossLineOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"type\": \"'line' | 'range'\",\n      \"value?\": \"DataValue\",\n      \"range?\": \"[ DataValue, DataValue ]\",\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"lineDash?\": \"PixelSize[]\",\n      \"label?\": \"AgCrossLineLabelOptions\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not to show the cross line. */\",\n      \"type\": \"/** Type of cross line to render. */\",\n      \"value?\": \"/** The data value at which the line should be positioned. This property is used if the crossLine type is `line`. */\",\n      \"range?\": \"/** The range of values from the data used to display lines at a desired chart region. This property is only used for crossLine type `range`. */\",\n      \"fill?\": \"/** The colour to use for the fill of the range. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the range. */\",\n      \"stroke?\": \"/** The colour of the stroke for the lines. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the lines. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the lines. */\",\n      \"lineDash?\": \"/** Defines how the line stroke is rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"label?\": \"/** Configuration for the crossLine label. */\"\n    }\n  },\n  \"AgCrossLineLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"text?\": \"string\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"padding?\": \"PixelSize\",\n      \"color?\": \"CssColor\",\n      \"position?\": \"AgCrossLineLabelPosition\",\n      \"rotation?\": \"number\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not to show the cross line label. */\",\n      \"text?\": \"/** The text to show in the label. */\",\n      \"fontStyle?\": \"/** The font style to use for the label. */\",\n      \"fontWeight?\": \"/** The font weight to use for the label. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the label. */\",\n      \"fontFamily?\": \"/** The font family to use for the label. */\",\n      \"padding?\": \"/** Padding in pixels between the label and the edge of the crossLine. */\",\n      \"color?\": \"/** The colour to use for the label. */\",\n      \"position?\": \"/** The position of the crossLine label. */\",\n      \"rotation?\": \"/** The rotation of the crossLine label in degrees. */\"\n    }\n  },\n  \"AgCrossLineLabelPosition\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'inside' | 'insideLeft' | 'insideRight' | 'insideTop' | 'insideBottom' | 'insideTopLeft' | 'insideBottomLeft' | 'insideTopRight' | 'insideBottomRight'\"\n  },\n  \"AgNumberAxisOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"'number'\",\n      \"nice?\": \"boolean\",\n      \"min?\": \"number\",\n      \"max?\": \"number\",\n      \"tick?\": \"AgAxisNumberTickOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"crossLines?\": \"AgCrossLineOptions[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"nice?\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"min?\": \"/** User override for the automatically determined min value (based on series data). */\",\n      \"max?\": \"/** User override for the automatically determined max value (based on series data). */\",\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgLogAxisOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"'log'\",\n      \"nice?\": \"boolean\",\n      \"min?\": \"number\",\n      \"max?\": \"number\",\n      \"base?\": \"number\",\n      \"tick?\": \"AgAxisNumberTickOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"crossLines?\": \"AgCrossLineOptions[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"nice?\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"min?\": \"/** User override for the automatically determined min value (based on series data). This value can be any non-zero number less than the configured `max` value. */\",\n      \"max?\": \"/** User override for the automatically determined max value (based on series data). This value can be any non-zero number more than the configured `min` value. */\",\n      \"base?\": \"/** The base of the logarithm used. */\",\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgCategoryAxisOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"'category'\",\n      \"paddingInner?\": \"Ratio\",\n      \"paddingOuter?\": \"Ratio\",\n      \"groupPaddingInner?\": \"Ratio\",\n      \"tick?\": \"AgAxisCategoryTickOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"crossLines?\": \"AgCrossLineOptions[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"paddingInner?\": \"/** The size of the gap between the categories as a proportion, between 0 and 1. This value is a fraction of the “step”, which is the interval between the start of a band and the start of the next band.\\n     * Default: `0.2`\\n     */\",\n      \"paddingOuter?\": \"/** The padding on the outside i.e. left and right of the first and last category. In association with `paddingInner`, this value can be between 0 and 1.\\n     * Default: `0.3`\\n     */\",\n      \"groupPaddingInner?\": \"/** This property is for grouped column/bar series plotted on a category axis. It is a proportion between 0 and 1 which determines the size of the gap between the bars or columns within a single group along the axis.\\n     * Default: `0.2`\\n     */\",\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgGroupedCategoryAxisOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"'groupedCategory'\",\n      \"tick?\": \"AgAxisCategoryTickOptions\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"crossLines?\": \"AgCrossLineOptions[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgTimeAxisOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"'time'\",\n      \"nice?\": \"boolean\",\n      \"tick?\": \"AgAxisTimeTickOptions\",\n      \"min?\": \"Date | number\",\n      \"max?\": \"Date | number\",\n      \"position?\": \"AgCartesianAxisPosition\",\n      \"title?\": \"AgAxisCaptionOptions\",\n      \"line?\": \"AgAxisLineOptions\",\n      \"label?\": \"AgAxisLabelOptions\",\n      \"gridStyle?\": \"AgAxisGridStyle[]\",\n      \"crossLines?\": \"AgCrossLineOptions[]\",\n      \"keys?\": \"string[]\",\n      \"thickness?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"nice?\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"tick?\": \"/** Configuration for the axis ticks. */\",\n      \"min?\": \"/** User override for the automatically determined min value (based on series data). */\",\n      \"max?\": \"/** User override for the automatically determined max value (based on series data). */\",\n      \"position?\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"title?\": \"/** Configuration for the title shown next to the axis. */\",\n      \"line?\": \"/** Configuration for the axis line. */\",\n      \"label?\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"gridStyle?\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"crossLines?\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"thickness?\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\"\n    }\n  },\n  \"AgCartesianAxisOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"AgNumberAxisOptions | AgLogAxisOptions | AgCategoryAxisOptions | AgGroupedCategoryAxisOptions | AgTimeAxisOptions\"\n  },\n  \"AgSeriesHighlightMarkerStyle\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"fill?\": \"/** The fill colour of a marker when tapped or hovered over. Use `undefined` for no highlight. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the highlighted item. */\",\n      \"stroke?\": \"/** The stroke colour of a marker when tapped or hovered over. Use `undefined` for no highlight. */\",\n      \"strokeWidth?\": \"/** The stroke width of a marker when tapped or hovered over. Use `undefined` for no highlight. */\"\n    }\n  },\n  \"AgSeriesHighlightSeriesStyle\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"dimOpacity?\": \"Opacity\",\n      \"strokeWidth?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"dimOpacity?\": \"/** The opacity of the whole series (area line, area fill, labels and markers, if any) when another chart series or another stack level in the same area series is highlighted by hovering a data point or a legend item. Use `undefined` or `1` for no dimming. */\",\n      \"strokeWidth?\": \"/** The stroke width of the area line when one of the markers is tapped or hovered over, or when a tooltip is shown for a data point, even when series markers are disabled. Use `undefined` for no highlight. */\"\n    }\n  },\n  \"AgSeriesHighlightStyle\": {\n    \"meta\": {},\n    \"type\": {\n      \"item?\": \"AgSeriesHighlightMarkerStyle\",\n      \"series?\": \"AgSeriesHighlightSeriesStyle\"\n    },\n    \"docs\": {\n      \"item?\": \"/** Highlight style used for an individual marker when tapped or hovered over. */\",\n      \"series?\": \"/** Highlight style used for whole series when one of its markers is tapped or hovered over. */\"\n    }\n  },\n  \"AgSeriesNodeClickParams\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"type\": \"'nodeClick'\",\n      \"series\": \"any\",\n      \"seriesId\": \"string\",\n      \"datum\": \"DatumType\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"sizeKey?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"colorKey?\": \"string\",\n      \"angleKey?\": \"string\",\n      \"calloutLabelKey?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"radiusKey?\": \"string\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event type. */\",\n      \"series\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId to get the series ID. */\",\n      \"seriesId\": \"/** Series ID, as specified in series.id (or generated if not specified) */\",\n      \"datum\": \"/** Datum from the series data array. */\",\n      \"xKey?\": \"/** xKey as specified on series options */\",\n      \"yKey?\": \"/** yKey as specified on series options */\",\n      \"sizeKey?\": \"/** sizeKey as specified on series options */\",\n      \"labelKey?\": \"/** labelKey as specified on series options */\",\n      \"colorKey?\": \"/** colorKey as specified on series options */\",\n      \"angleKey?\": \"/** angleKey as specified on series options */\",\n      \"calloutLabelKey?\": \"/** calloutLabelKey as specified on series options */\",\n      \"sectorLabelKey?\": \"/** sectorLabelKey as specified on series options */\",\n      \"radiusKey?\": \"/** radiusKey as specified on series options */\"\n    }\n  },\n  \"AgSeriesListeners\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"nodeClick?\": \"(params: AgSeriesNodeClickParams<DatumType>) => void\",\n      \"nodeDoubleClick?\": \"(params: AgSeriesNodeClickParams<DatumType>) => void\"\n    },\n    \"docs\": {\n      \"nodeClick?\": \"/** The listener to call when a node (marker, column, bar, tile or a pie sector) in the series is clicked. */\",\n      \"nodeDoubleClick?\": \"/** The listener to call when a node (marker, column, bar, tile or a pie sector) in the series is double clicked. */\"\n    }\n  },\n  \"AgBaseSeriesOptions\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"highlightStyle?\": \"AgSeriesHighlightStyle\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlightStyle?\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgTooltipRendererResult\": {\n    \"meta\": {},\n    \"type\": {\n      \"title?\": \"string\",\n      \"content?\": \"string\",\n      \"color?\": \"string\",\n      \"backgroundColor?\": \"string\"\n    },\n    \"docs\": {\n      \"title?\": \"/** Title text for the tooltip header. */\",\n      \"content?\": \"/** Content text for the tooltip body. */\",\n      \"color?\": \"/** Tooltip title text color. */\",\n      \"backgroundColor?\": \"/** Tooltip title background color. */\"\n    }\n  },\n  \"AgSeriesTooltipRendererParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"datum\": \"any\",\n      \"title?\": \"string\",\n      \"color?\": \"CssColor\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"datum\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"title?\": \"/** Series title or yName depending on series configuration. */\",\n      \"color?\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgCartesianSeriesTooltipRendererParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"xKey\": \"string\",\n      \"xValue?\": \"any\",\n      \"xName?\": \"string\",\n      \"yKey\": \"string\",\n      \"yValue?\": \"any\",\n      \"yName?\": \"string\",\n      \"datum\": \"any\",\n      \"title?\": \"string\",\n      \"color?\": \"CssColor\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"xKey\": \"/** xKey as specified on series options. */\",\n      \"xValue?\": \"/** xValue as read from series data via the xKey property. */\",\n      \"xName?\": \"/** xName as specified on series options. */\",\n      \"yKey\": \"/** yKey as specified on series options. */\",\n      \"yValue?\": \"/** yValue as read from series data via the yKey property. */\",\n      \"yName?\": \"/** yName as specified on series options. */\",\n      \"datum\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"title?\": \"/** Series title or yName depending on series configuration. */\",\n      \"color?\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgPolarSeriesTooltipRendererParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"angleKey\": \"string\",\n      \"angleValue?\": \"any\",\n      \"angleName?\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"radiusValue?\": \"any\",\n      \"radiusName?\": \"string\",\n      \"datum\": \"any\",\n      \"title?\": \"string\",\n      \"color?\": \"CssColor\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"angleKey\": \"/** angleKey as specified on series options. */\",\n      \"angleValue?\": \"/** angleValue as read from series data via the angleKey property. */\",\n      \"angleName?\": \"/** angleName as specified on series options. */\",\n      \"radiusKey?\": \"/** radiusKey as specified on series options. */\",\n      \"radiusValue?\": \"/** radiusValue as read from series data via the radiusKey property. */\",\n      \"radiusName?\": \"/** radiusName as specified on series options. */\",\n      \"datum\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"title?\": \"/** Series title or yName depending on series configuration. */\",\n      \"color?\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgScatterSeriesTooltipRendererParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"sizeKey?\": \"string\",\n      \"sizeName?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"labelName?\": \"string\",\n      \"xKey\": \"string\",\n      \"xValue?\": \"any\",\n      \"xName?\": \"string\",\n      \"yKey\": \"string\",\n      \"yValue?\": \"any\",\n      \"yName?\": \"string\",\n      \"datum\": \"any\",\n      \"title?\": \"string\",\n      \"color?\": \"CssColor\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"sizeKey?\": \"/** sizeKey as specified on series options. */\",\n      \"sizeName?\": \"/** sizeName as specified on series options. */\",\n      \"labelKey?\": \"/** labelKey as specified on series options. */\",\n      \"labelName?\": \"/** labelName as specified on series options. */\",\n      \"xKey\": \"/** xKey as specified on series options. */\",\n      \"xValue?\": \"/** xValue as read from series data via the xKey property. */\",\n      \"xName?\": \"/** xName as specified on series options. */\",\n      \"yKey\": \"/** yKey as specified on series options. */\",\n      \"yValue?\": \"/** yValue as read from series data via the yKey property. */\",\n      \"yName?\": \"/** yName as specified on series options. */\",\n      \"datum\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"title?\": \"/** Series title or yName depending on series configuration. */\",\n      \"color?\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgSeriesMarker\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"shape?\": \"MarkerShape\",\n      \"size?\": \"PixelSize\",\n      \"maxSize?\": \"PixelSize\",\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"strokeOpacity?\": \"Opacity\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not to show markers. */\",\n      \"shape?\": \"/** The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass. */\",\n      \"size?\": \"/** The size in pixels of the markers. */\",\n      \"maxSize?\": \"/** For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels. */\",\n      \"fill?\": \"/** The colour to use for marker fills. If this is not specified, the markers will take their fill from the series. */\",\n      \"fillOpacity?\": \"/** Opacity of the marker fills. */\",\n      \"stroke?\": \"/** The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series. */\",\n      \"strokeOpacity?\": \"/** Opacity of the marker strokes. */\"\n    }\n  },\n  \"AgSeriesMarkerFormatterParams\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"datum\": \"DatumType\",\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth\": \"PixelSize\",\n      \"size\": \"number\",\n      \"highlighted\": \"boolean\",\n      \"seriesId\": \"string\"\n    }\n  },\n  \"AgCartesianSeriesMarkerFormatterParams\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"xKey\": \"string\",\n      \"yKey\": \"string\",\n      \"datum\": \"DatumType\",\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth\": \"PixelSize\",\n      \"size\": \"number\",\n      \"highlighted\": \"boolean\",\n      \"seriesId\": \"string\"\n    }\n  },\n  \"AgCartesianSeriesMarkerFormat\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"size?\": \"PixelSize\"\n    }\n  },\n  \"AgCartesianSeriesMarkerFormatter\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"DatumType\"] },\n    \"type\": \"(params: AgCartesianSeriesMarkerFormatterParams<DatumType>) => AgCartesianSeriesMarkerFormat | undefined\"\n  },\n  \"AgCartesianSeriesMarker\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"formatter?\": \"AgCartesianSeriesMarkerFormatter<DatumType>\",\n      \"enabled?\": \"boolean\",\n      \"shape?\": \"MarkerShape\",\n      \"size?\": \"PixelSize\",\n      \"maxSize?\": \"PixelSize\",\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"strokeOpacity?\": \"Opacity\"\n    },\n    \"docs\": {\n      \"formatter?\": \"/** Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states. */\",\n      \"enabled?\": \"/** Whether or not to show markers. */\",\n      \"shape?\": \"/** The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass. */\",\n      \"size?\": \"/** The size in pixels of the markers. */\",\n      \"maxSize?\": \"/** For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels. */\",\n      \"fill?\": \"/** The colour to use for marker fills. If this is not specified, the markers will take their fill from the series. */\",\n      \"fillOpacity?\": \"/** Opacity of the marker fills. */\",\n      \"stroke?\": \"/** The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series. */\",\n      \"strokeOpacity?\": \"/** Opacity of the marker strokes. */\"\n    }\n  },\n  \"AgAreaSeriesMarker\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"formatter?\": \"AgCartesianSeriesMarkerFormatter<DatumType>\",\n      \"enabled?\": \"boolean\",\n      \"shape?\": \"MarkerShape\",\n      \"size?\": \"PixelSize\",\n      \"maxSize?\": \"PixelSize\",\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"strokeOpacity?\": \"Opacity\"\n    },\n    \"docs\": {\n      \"formatter?\": \"/** Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states. */\",\n      \"enabled?\": \"/** Whether or not to show markers. */\",\n      \"shape?\": \"/** The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass. */\",\n      \"size?\": \"/** The size in pixels of the markers. */\",\n      \"maxSize?\": \"/** For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels. */\",\n      \"fill?\": \"/** The colour to use for marker fills. If this is not specified, the markers will take their fill from the series. */\",\n      \"fillOpacity?\": \"/** Opacity of the marker fills. */\",\n      \"stroke?\": \"/** The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series. */\",\n      \"strokeOpacity?\": \"/** Opacity of the marker strokes. */\"\n    }\n  },\n  \"AgSeriesTooltip\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"interaction?\": \"AgSeriesTooltipInteraction\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"interaction?\": \"/** Configuration for tooltip interaction. */\"\n    }\n  },\n  \"AgSeriesTooltipInteraction\": {\n    \"meta\": {},\n    \"type\": { \"enabled\": \"boolean\" },\n    \"docs\": {\n      \"enabled\": \"/** Set to true to keep the tooltip open when the mouse is hovering over it, and enable clicking tooltip text */\"\n    }\n  },\n  \"AgCartesianSeriesLabelFormatterParams\": {\n    \"meta\": {},\n    \"type\": { \"seriesId\": \"string\", \"value\": \"number\" },\n    \"docs\": {\n      \"seriesId\": \"/** The ID of the series. */\",\n      \"value\": \"/** The value of yKey as specified on series options. */\"\n    }\n  },\n  \"AgCartesianSeriesLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"formatter?\": \"(params: AgCartesianSeriesLabelFormatterParams) => string\",\n      \"enabled?\": \"boolean\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"formatter?\": \"/** Function used to turn 'yKey' values into text to be displayed by a label. By default the values are simply stringified. */\",\n      \"enabled?\": \"/** Whether or not the labels should be shown. */\",\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels. */\",\n      \"color?\": \"/** The colour to use for the labels. */\"\n    }\n  },\n  \"AgLineSeriesTooltip\": {\n    \"meta\": {},\n    \"type\": {\n      \"renderer?\": \"(params: AgCartesianSeriesTooltipRendererParams) => string | AgTooltipRendererResult\",\n      \"format?\": \"string\",\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"interaction?\": \"AgSeriesTooltipInteraction\"\n    },\n    \"docs\": {\n      \"renderer?\": \"/** Function used to create the content for tooltips. */\",\n      \"enabled?\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"interaction?\": \"/** Configuration for tooltip interaction. */\"\n    }\n  },\n  \"AgLineSeriesOptions\": {\n    \"meta\": {\n      \"typeParams\": [\"DatumType = any\"],\n      \"doc\": \"/** Configuration for line series. */\"\n    },\n    \"type\": {\n      \"type?\": \"'line'\",\n      \"marker?\": \"AgCartesianSeriesMarker<DatumType>\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"xName?\": \"string\",\n      \"yName?\": \"string\",\n      \"title?\": \"string\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"lineDash?\": \"PixelSize[]\",\n      \"lineDashOffset?\": \"PixelSize\",\n      \"label?\": \"AgCartesianSeriesLabelOptions\",\n      \"tooltip?\": \"AgLineSeriesTooltip\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"highlightStyle?\": \"AgSeriesHighlightStyle\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"xKey?\": \"/** The key to use to retrieve x-values from the data. */\",\n      \"yKey?\": \"/** The key to use to retrieve y-values from the data. */\",\n      \"xName?\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"yName?\": \"/** A human-readable description of the y-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"title?\": \"/** The title to use for the series. Defaults to `yName` if it exists, or `yKey` if not. */\",\n      \"stroke?\": \"/** The colour of the stroke for the lines. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the lines. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the lines. */\",\n      \"lineDash?\": \"/** Defines how the line stroke is rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"lineDashOffset?\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"label?\": \"/** Configuration for the labels shown on top of data points. */\",\n      \"tooltip?\": \"/** Series-specific tooltip configuration. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"highlightStyle?\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgScatterSeriesTooltip\": {\n    \"meta\": {},\n    \"type\": {\n      \"renderer?\": \"(params: AgScatterSeriesTooltipRendererParams) => string | AgTooltipRendererResult\",\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"interaction?\": \"AgSeriesTooltipInteraction\"\n    },\n    \"docs\": {\n      \"renderer?\": \"/** Function used to create the content for tooltips. */\",\n      \"enabled?\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"interaction?\": \"/** Configuration for tooltip interaction. */\"\n    }\n  },\n  \"AgScatterSeriesLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not the labels should be shown. */\",\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels. */\",\n      \"color?\": \"/** The colour to use for the labels. */\"\n    }\n  },\n  \"AgScatterSeriesMarker\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"domain?\": \"[ number, number ]\",\n      \"formatter?\": \"AgCartesianSeriesMarkerFormatter<DatumType>\",\n      \"enabled?\": \"boolean\",\n      \"shape?\": \"MarkerShape\",\n      \"size?\": \"PixelSize\",\n      \"maxSize?\": \"PixelSize\",\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"strokeOpacity?\": \"Opacity\"\n    },\n    \"docs\": {\n      \"domain?\": \"/** If sizeKey is used, explicitly specifies the extent of the domain of it's values. */\",\n      \"formatter?\": \"/** Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states. */\",\n      \"enabled?\": \"/** Whether or not to show markers. */\",\n      \"shape?\": \"/** The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass. */\",\n      \"size?\": \"/** The size in pixels of the markers. */\",\n      \"maxSize?\": \"/** For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels. */\",\n      \"fill?\": \"/** The colour to use for marker fills. If this is not specified, the markers will take their fill from the series. */\",\n      \"fillOpacity?\": \"/** Opacity of the marker fills. */\",\n      \"stroke?\": \"/** The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series. */\",\n      \"strokeOpacity?\": \"/** Opacity of the marker strokes. */\"\n    }\n  },\n  \"AgScatterSeriesOptions\": {\n    \"meta\": {\n      \"typeParams\": [\"DatumType = any\"],\n      \"doc\": \"/** Configuration for scatter/bubble series. */\"\n    },\n    \"type\": {\n      \"type?\": \"'scatter'\",\n      \"marker?\": \"AgScatterSeriesMarker<DatumType>\",\n      \"label?\": \"AgScatterSeriesLabelOptions\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"xName?\": \"string\",\n      \"yName?\": \"string\",\n      \"sizeKey?\": \"string\",\n      \"sizeName?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"labelName?\": \"string\",\n      \"title?\": \"string\",\n      \"tooltip?\": \"AgScatterSeriesTooltip\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"highlightStyle?\": \"AgSeriesHighlightStyle\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"type?\": \"/** Configuration for the scatter series.  */\",\n      \"marker?\": \"/** Configuration for the markers used in the series.  */\",\n      \"label?\": \"/** Configuration for the labels shown on top of data points.  */\",\n      \"xKey?\": \"/** The key to use to retrieve x-values from the data.  */\",\n      \"yKey?\": \"/** The key to use to retrieve y-values from the data.  */\",\n      \"xName?\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters.  */\",\n      \"yName?\": \"/** A human-readable description of the y-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters.  */\",\n      \"sizeKey?\": \"/** The key to use to retrieve size values from the data, used to control the size of the markers in bubble charts.  */\",\n      \"sizeName?\": \"/** A human-readable description of the size values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters.  */\",\n      \"labelKey?\": \"/** The key to use to retrieve values from the data to use as labels for the markers.  */\",\n      \"labelName?\": \"/** A human-readable description of the label values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters.  */\",\n      \"title?\": \"/** The title to use for the series. Defaults to `yName` if it exists, or `yKey` if not.  */\",\n      \"tooltip?\": \"/** Series-specific tooltip configuration.  */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"highlightStyle?\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgAreaSeriesTooltip\": {\n    \"meta\": {},\n    \"type\": {\n      \"renderer?\": \"(params: AgCartesianSeriesTooltipRendererParams) => string | AgTooltipRendererResult\",\n      \"format?\": \"string\",\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"interaction?\": \"AgSeriesTooltipInteraction\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"interaction?\": \"/** Configuration for tooltip interaction. */\"\n    }\n  },\n  \"AgAreaSeriesOptions\": {\n    \"meta\": {\n      \"typeParams\": [\"DatumType = any\"],\n      \"doc\": \"/** Configuration for area series. */\"\n    },\n    \"type\": {\n      \"type?\": \"'area'\",\n      \"marker?\": \"AgAreaSeriesMarker<DatumType>\",\n      \"normalizedTo?\": \"number\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"xName?\": \"string\",\n      \"yName?\": \"string\",\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"fillOpacity?\": \"Opacity\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"lineDash?\": \"PixelSize[]\",\n      \"lineDashOffset?\": \"PixelSize\",\n      \"shadow?\": \"AgDropShadowOptions\",\n      \"label?\": \"AgCartesianSeriesLabelOptions\",\n      \"tooltip?\": \"AgAreaSeriesTooltip\",\n      \"stacked?\": \"boolean\",\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"highlightStyle?\": \"AgSeriesHighlightStyle\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"marker?\": \"/** Configuration for the markers used in the series. */\",\n      \"normalizedTo?\": \"/** The number to normalise the area stacks to. For example, if `normalizedTo` is set to `100`, the stacks will all be scaled proportionally so that their total height is always 100. */\",\n      \"xKey?\": \"/** The key to use to retrieve x-values from the data. */\",\n      \"yKey?\": \"/** The key to use to retrieve y-values from the data. */\",\n      \"xName?\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"yName?\": \"/** A human-readable description of the y-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"fill?\": \"/** The colour to use for the fill of the area. */\",\n      \"stroke?\": \"/** The colours to use for the stroke of the areas. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the areas. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the area. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the areas. */\",\n      \"lineDash?\": \"/** Defines how the area strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"lineDashOffset?\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"shadow?\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"label?\": \"/** Configuration for the labels shown on top of data points. */\",\n      \"tooltip?\": \"/** Series-specific tooltip configuration. */\",\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlightStyle?\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgBarSeriesLabelPlacement\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'inside' | 'outside'\"\n  },\n  \"AgBarSeriesLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"placement?\": \"AgBarSeriesLabelPlacement\",\n      \"formatter?\": \"(params: AgCartesianSeriesLabelFormatterParams) => string\",\n      \"enabled?\": \"boolean\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"placement?\": \"/** Where to render series labels relative to the segments. */\",\n      \"formatter?\": \"/** Function used to turn 'yKey' values into text to be displayed by a label. By default the values are simply stringified. */\",\n      \"enabled?\": \"/** Whether or not the labels should be shown. */\",\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels. */\",\n      \"color?\": \"/** The colour to use for the labels. */\"\n    }\n  },\n  \"AgBarSeriesFormatterParams\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"datum\": \"DatumType\",\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth\": \"PixelSize\",\n      \"highlighted\": \"boolean\",\n      \"xKey\": \"string\",\n      \"yKey\": \"string\",\n      \"seriesId\": \"string\",\n      \"stackGroup?\": \"string\"\n    }\n  },\n  \"AgBarSeriesFormat\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\"\n    }\n  },\n  \"AgBarSeriesTooltipRendererParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"stackGroup?\": \"string\",\n      \"xKey\": \"string\",\n      \"xValue?\": \"any\",\n      \"xName?\": \"string\",\n      \"yKey\": \"string\",\n      \"yValue?\": \"any\",\n      \"yName?\": \"string\",\n      \"datum\": \"any\",\n      \"title?\": \"string\",\n      \"color?\": \"CssColor\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"xKey\": \"/** xKey as specified on series options. */\",\n      \"xValue?\": \"/** xValue as read from series data via the xKey property. */\",\n      \"xName?\": \"/** xName as specified on series options. */\",\n      \"yKey\": \"/** yKey as specified on series options. */\",\n      \"yValue?\": \"/** yValue as read from series data via the yKey property. */\",\n      \"yName?\": \"/** yName as specified on series options. */\",\n      \"datum\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"title?\": \"/** Series title or yName depending on series configuration. */\",\n      \"color?\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgBarSeriesTooltip\": {\n    \"meta\": {},\n    \"type\": {\n      \"renderer?\": \"(params: AgBarSeriesTooltipRendererParams) => string | AgTooltipRendererResult\",\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"interaction?\": \"AgSeriesTooltipInteraction\"\n    },\n    \"docs\": {\n      \"renderer?\": \"/** Function used to create the content for tooltips. */\",\n      \"enabled?\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"interaction?\": \"/** Configuration for tooltip interaction. */\"\n    }\n  },\n  \"AgBarSeriesOptions\": {\n    \"meta\": {\n      \"typeParams\": [\"DatumType = any\"],\n      \"doc\": \"/** Configuration for bar/column series. */\"\n    },\n    \"type\": {\n      \"type?\": \"'bar' | 'column'\",\n      \"grouped?\": \"boolean\",\n      \"stacked?\": \"boolean\",\n      \"stackGroup?\": \"string\",\n      \"normalizedTo?\": \"number\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"xName?\": \"string\",\n      \"yName?\": \"string\",\n      \"flipXY?\": \"boolean\",\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"fillOpacity?\": \"Opacity\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"lineDash?\": \"PixelSize[]\",\n      \"lineDashOffset?\": \"PixelSize\",\n      \"shadow?\": \"AgDropShadowOptions\",\n      \"label?\": \"AgBarSeriesLabelOptions\",\n      \"tooltip?\": \"AgBarSeriesTooltip\",\n      \"formatter?\": \"(params: AgBarSeriesFormatterParams<DatumType>) => AgBarSeriesFormat\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"highlightStyle?\": \"AgSeriesHighlightStyle\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"grouped?\": \"/** Whether to show different y-values as separate bars (grouped) or not (stacked). */\",\n      \"stacked?\": \"/** An option indicating if the bars/columns should be stacked. */\",\n      \"stackGroup?\": \"/** An ID to be used to group stacked items. */\",\n      \"normalizedTo?\": \"/** The number to normalise the bar stacks to. Has no effect when `grouped` is `true`. For example, if `normalizedTo` is set to `100`, the bar stacks will all be scaled proportionally so that each of their totals is 100. */\",\n      \"xKey?\": \"/** The key to use to retrieve x-values from the data. */\",\n      \"yKey?\": \"/** The keys to use to retrieve y-values from the data. */\",\n      \"xName?\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"yName?\": \"/** Human-readable description of the y-values. If supplied, a corresponding `yName` will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"fill?\": \"/** The colour to use for the fill of the bars. */\",\n      \"stroke?\": \"/** The colours to use for the stroke of the bars. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the bars. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the bars. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the bars. */\",\n      \"lineDash?\": \"/** Defines how the bar/column strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"lineDashOffset?\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"shadow?\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"label?\": \"/** Configuration for the labels shown on bars. */\",\n      \"tooltip?\": \"/** Series-specific tooltip configuration. */\",\n      \"formatter?\": \"/** Function used to return formatting for individual bars/columns, based on the given parameters. If the current bar/column is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"highlightStyle?\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgHistogramSeriesLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"formatter?\": \"(params: AgCartesianSeriesLabelFormatterParams) => string\",\n      \"enabled?\": \"boolean\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"formatter?\": \"/** Function used to turn 'yKey' values into text to be displayed by a label. By default the values are simply stringified. */\",\n      \"enabled?\": \"/** Whether or not the labels should be shown. */\",\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels. */\",\n      \"color?\": \"/** The colour to use for the labels. */\"\n    }\n  },\n  \"AgHistogramSeriesTooltipRendererParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"datum\": \"AgHistogramBinDatum<any>\",\n      \"xKey\": \"string\",\n      \"xValue?\": \"any\",\n      \"xName?\": \"string\",\n      \"yKey\": \"string\",\n      \"yValue?\": \"any\",\n      \"yName?\": \"string\",\n      \"title?\": \"string\",\n      \"color?\": \"CssColor\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"xKey\": \"/** xKey as specified on series options. */\",\n      \"xValue?\": \"/** xValue as read from series data via the xKey property. */\",\n      \"xName?\": \"/** xName as specified on series options. */\",\n      \"yKey\": \"/** yKey as specified on series options. */\",\n      \"yValue?\": \"/** yValue as read from series data via the yKey property. */\",\n      \"yName?\": \"/** yName as specified on series options. */\",\n      \"datum\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"title?\": \"/** Series title or yName depending on series configuration. */\",\n      \"color?\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgHistogramSeriesTooltip\": {\n    \"meta\": {},\n    \"type\": {\n      \"renderer?\": \"(params: AgHistogramSeriesTooltipRendererParams) => string | AgTooltipRendererResult\",\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"interaction?\": \"AgSeriesTooltipInteraction\"\n    },\n    \"docs\": {\n      \"renderer?\": \"/** Function used to create the content for tooltips. */\",\n      \"enabled?\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"interaction?\": \"/** Configuration for tooltip interaction. */\"\n    }\n  },\n  \"AgHistogramBinDatum\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"data\": \"DatumType[]\",\n      \"aggregatedValue\": \"number\",\n      \"frequency\": \"number\",\n      \"domain\": \"[ number, number ]\"\n    }\n  },\n  \"AgHistogramSeriesOptions\": {\n    \"meta\": {\n      \"typeParams\": [\"DatumType = any\"],\n      \"doc\": \"/** Configuration for histogram series. */\"\n    },\n    \"type\": {\n      \"type?\": \"'histogram'\",\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"lineDash?\": \"PixelSize[]\",\n      \"lineDashOffset?\": \"PixelSize\",\n      \"xKey?\": \"string\",\n      \"xName?\": \"string\",\n      \"yKey?\": \"string\",\n      \"yName?\": \"string\",\n      \"areaPlot?\": \"boolean\",\n      \"bins?\": \"[ number, number ][]\",\n      \"binCount?\": \"number\",\n      \"aggregation?\": \"'count' | 'sum' | 'mean'\",\n      \"shadow?\": \"AgDropShadowOptions\",\n      \"label?\": \"AgHistogramSeriesLabelOptions\",\n      \"tooltip?\": \"AgHistogramSeriesTooltip\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"highlightStyle?\": \"AgSeriesHighlightStyle\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"fill?\": \"/** The colour of the fill for the histogram bars. */\",\n      \"stroke?\": \"/** The colour of the stroke for the histogram bars. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the histogram bars. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the histogram bars. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the histogram bars. */\",\n      \"lineDash?\": \"/** Defines how the column strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"lineDashOffset?\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"xKey?\": \"/** The key to use to retrieve x-values from the data. */\",\n      \"xName?\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"yKey?\": \"/** The key to use to retrieve y-values from the data. */\",\n      \"yName?\": \"/** A human-readable description of the y-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"areaPlot?\": \"/** For variable width bins, if true the histogram will represent the aggregated `yKey` values using the area of the bar. Otherwise, the height of the var represents the value as per a normal bar chart. This is useful for keeping an undistorted curve displayed when using variable-width bins. */\",\n      \"bins?\": \"/** Set the bins explicitly. The bins need not be of equal width. Note that `bins` is ignored if `binCount` is also supplied. */\",\n      \"binCount?\": \"/** The number of bins to try to split the x axis into. Clashes with the `bins` setting. */\",\n      \"aggregation?\": \"/** Dictates how the bins are aggregated. If set to 'sum', the value shown for the bins will be the total of the yKey values. If set to 'mean', it will display the average yKey value of the bin. */\",\n      \"shadow?\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"label?\": \"/** Configuration for the labels shown on bars. */\",\n      \"tooltip?\": \"/** Series-specific tooltip configuration. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"highlightStyle?\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgPieSeriesLabelOptions\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"offset?\": \"PixelSize\",\n      \"minAngle?\": \"number\",\n      \"formatter?\": \"(params: AgPieSeriesLabelFormatterParams<DatumType>) => string\",\n      \"enabled?\": \"boolean\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"offset?\": \"/** Distance in pixels between the callout line and the label text. */\",\n      \"minAngle?\": \"/** Minimum angle in degrees required for a sector to show a label. */\",\n      \"formatter?\": \"/** A function that allows the modification of the label text based on input parameters. */\",\n      \"enabled?\": \"/** Whether or not the labels should be shown. */\",\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels. */\",\n      \"color?\": \"/** The colour to use for the labels. */\"\n    }\n  },\n  \"AgPieSeriesSectorLabelOptions\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"positionOffset?\": \"PixelSize\",\n      \"positionRatio?\": \"Ratio\",\n      \"formatter?\": \"(params: AgPieSeriesLabelFormatterParams<DatumType>) => string\",\n      \"enabled?\": \"boolean\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"positionOffset?\": \"/** Distance in pixels, used to make the label text closer to or further from the center. This offset is applied after positionRatio. */\",\n      \"positionRatio?\": \"/** Position of labels as a ratio proportional to pie radius (or doughnut thickness). Additional offset in pixels can be applied by using positionOffset. */\",\n      \"formatter?\": \"/** A function that allows the modification of the label text based on input parameters. */\",\n      \"enabled?\": \"/** Whether or not the labels should be shown. */\",\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels. */\",\n      \"color?\": \"/** The colour to use for the labels. */\"\n    }\n  },\n  \"AgPieSeriesFormatterParams\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"datum\": \"DatumType\",\n      \"fill?\": \"CssColor\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth\": \"PixelSize\",\n      \"highlighted\": \"boolean\",\n      \"angleKey\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"seriesId\": \"string\"\n    }\n  },\n  \"AgPieSeriesFormat\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeWidth?\": \"PixelSize\"\n    }\n  },\n  \"AgPieSeriesTooltip\": {\n    \"meta\": {},\n    \"type\": {\n      \"renderer?\": \"(params: AgPieSeriesTooltipRendererParams) => string | AgTooltipRendererResult\",\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"interaction?\": \"AgSeriesTooltipInteraction\"\n    },\n    \"docs\": {\n      \"renderer?\": \"/** Function used to create the content for tooltips. */\",\n      \"enabled?\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"interaction?\": \"/** Configuration for tooltip interaction. */\"\n    }\n  },\n  \"AgPieTitleOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"showInLegend?\": \"boolean\",\n      \"enabled?\": \"boolean\",\n      \"text?\": \"string\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\",\n      \"spacing?\": \"number\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Whether or not the text should be shown. */\",\n      \"text?\": \"/** The text to display. */\",\n      \"fontStyle?\": \"/** The font style to use for the text. */\",\n      \"fontWeight?\": \"/** The font weight to use for the text. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the text. */\",\n      \"fontFamily?\": \"/** The font family to use for the text. */\",\n      \"color?\": \"/** The colour to use for the text. */\",\n      \"spacing?\": \"/** Spacing added to help position the text. */\"\n    }\n  },\n  \"AgPieSeriesCalloutOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"colors?\": \"CssColor[]\",\n      \"length?\": \"PixelSize\",\n      \"strokeWidth?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"colors?\": \"/** The colours to cycle through for the strokes of the callouts. */\",\n      \"length?\": \"/** The length in pixels of the callout lines. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for callout lines. */\"\n    }\n  },\n  \"AgDoughnutInnerLabel\": {\n    \"meta\": {},\n    \"type\": {\n      \"text\": \"string\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\",\n      \"margin?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"text\": \"/** The text to show in the inner label. */\",\n      \"fontStyle?\": \"/** The font style to use for the inner label. */\",\n      \"fontWeight?\": \"/** The font weight to use for the inner label. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the inner label. */\",\n      \"fontFamily?\": \"/** The font family to use for the inner label. */\",\n      \"color?\": \"/** The colour to use for the inner label. */\",\n      \"margin?\": \"/** The margin in pixels before and after the inner label. */\"\n    }\n  },\n  \"AgDoughnutInnerLabelThemeOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\",\n      \"margin?\": \"PixelSize\"\n    },\n    \"docs\": {\n      \"fontStyle?\": \"/** The font style to use for the inner label. */\",\n      \"fontWeight?\": \"/** The font weight to use for the inner label. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the inner label. */\",\n      \"fontFamily?\": \"/** The font family to use for the inner label. */\",\n      \"color?\": \"/** The colour to use for the inner label. */\",\n      \"margin?\": \"/** The margin in pixels before and after the inner label. */\"\n    }\n  },\n  \"AgDoughnutInnerCircle\": {\n    \"meta\": {},\n    \"type\": { \"fill\": \"CssColor\", \"fillOpacity?\": \"Opacity\" },\n    \"docs\": {\n      \"fill\": \"/** The colour of the fill for the inner circle. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the inner circle. */\"\n    }\n  },\n  \"AgPieSeriesOptions\": {\n    \"meta\": {\n      \"typeParams\": [\"DatumType = any\"],\n      \"doc\": \"/** Configuration for pie/doughnut series. */\"\n    },\n    \"type\": {\n      \"type?\": \"'pie'\",\n      \"title?\": \"AgPieTitleOptions\",\n      \"label?\": \"AgPieSeriesLabelOptions<DatumType>\",\n      \"calloutLabel?\": \"AgPieSeriesLabelOptions<DatumType>\",\n      \"sectorLabel?\": \"AgPieSeriesSectorLabelOptions<DatumType>\",\n      \"callout?\": \"AgPieSeriesCalloutOptions\",\n      \"calloutLine?\": \"AgPieSeriesCalloutOptions\",\n      \"angleKey?\": \"string\",\n      \"angleName?\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"radiusName?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"labelName?\": \"string\",\n      \"calloutLabelKey?\": \"string\",\n      \"calloutLabelName?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"sectorLabelName?\": \"string\",\n      \"fills?\": \"CssColor[]\",\n      \"strokes?\": \"CssColor[]\",\n      \"fillOpacity?\": \"Opacity\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"lineDash?\": \"PixelSize[]\",\n      \"lineDashOffset?\": \"PixelSize\",\n      \"rotation?\": \"number\",\n      \"outerRadiusOffset?\": \"PixelSize\",\n      \"outerRadiusRatio?\": \"Ratio\",\n      \"innerRadiusOffset?\": \"PixelSize\",\n      \"innerRadiusRatio?\": \"Ratio\",\n      \"radiusMin?\": \"number\",\n      \"radiusMax?\": \"number\",\n      \"shadow?\": \"AgDropShadowOptions\",\n      \"tooltip?\": \"AgPieSeriesTooltip\",\n      \"innerLabels?\": \"AgDoughnutInnerLabel[]\",\n      \"innerCircle?\": \"AgDoughnutInnerCircle\",\n      \"formatter?\": \"(params: AgPieSeriesFormatterParams<DatumType>) => AgPieSeriesFormat\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"highlightStyle?\": \"AgSeriesHighlightStyle\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"title?\": \"/** Configuration for the series title. */\",\n      \"label?\": \"/** Configuration for the labels used outside of the sectors.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabel instead.\\n     */\",\n      \"calloutLabel?\": \"/** Configuration for the labels used outside of the sectors. */\",\n      \"sectorLabel?\": \"/** Configuration for the labels used inside the sectors. */\",\n      \"callout?\": \"/** Configuration for the callout lines used with the labels for the sectors.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLine instead.\\n     */\",\n      \"calloutLine?\": \"/** Configuration for the callout lines used with the labels for the sectors. */\",\n      \"angleKey?\": \"/** The key to use to retrieve angle values from the data. */\",\n      \"angleName?\": \"/** A human-readable description of the angle values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"radiusKey?\": \"/** The key to use to retrieve radius values from the data. */\",\n      \"radiusName?\": \"/** A human-readable description of the radius values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"labelKey?\": \"/** The key to use to retrieve label values from the data.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelKey or series.sectorLabelKey instead.\\n     */\",\n      \"labelName?\": \"/** A human-readable description of the label values. If supplied, this will be passed to the tooltip renderer as one of the parameters.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelName or series.sectorLabelName instead.\\n     */\",\n      \"calloutLabelKey?\": \"/** The key to use to retrieve label values from the data. */\",\n      \"calloutLabelName?\": \"/** A human-readable description of the label values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"sectorLabelKey?\": \"/** The key to use to retrieve sector label values from the data. */\",\n      \"sectorLabelName?\": \"/** A human-readable description of the sector label values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"fills?\": \"/** The colours to cycle through for the fills of the sectors. */\",\n      \"strokes?\": \"/** The colours to cycle through for the strokes of the sectors. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the sectors. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the sectors. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the sectors. */\",\n      \"lineDash?\": \"/** Defines how the pie sector strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"lineDashOffset?\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"rotation?\": \"/** The rotation of the pie series in degrees. */\",\n      \"outerRadiusOffset?\": \"/** The offset in pixels of the outer radius of the series. Used to construct doughnut charts. */\",\n      \"outerRadiusRatio?\": \"/** The ratio of the outer radius of the series. Used to adjust the outer radius proportionally to the automatically calculated value. */\",\n      \"innerRadiusOffset?\": \"/** The offset in pixels of the inner radius of the series. Used to construct doughnut charts. If this is not provided, or innerRadiusRatio is unset, or a value of zero is given, a pie chart will be rendered. */\",\n      \"innerRadiusRatio?\": \"/** The ratio of the inner radius of the series. Used to construct doughnut charts. If this is not provided, or innerRadiusOffset is unset, or a value of zero or one is given, a pie chart will be rendered. */\",\n      \"radiusMin?\": \"/** Override of the automatically determined minimum radiusKey value from the data. */\",\n      \"radiusMax?\": \"/** Override of the automatically determined maximum radiusKey value from the data. */\",\n      \"shadow?\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"tooltip?\": \"/** Series-specific tooltip configuration. */\",\n      \"innerLabels?\": \"/** Configuration for the text lines to display inside the series, typically used when rendering a doughnut chart */\",\n      \"innerCircle?\": \"/** Configuration for the area inside the series, only visible when rendering a doughnut chart by using innerRadiusOffset or innerRadiusRatio */\",\n      \"formatter?\": \"/** A formatter function for adjusting the styling of the pie sectors. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"highlightStyle?\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgPieSeriesTooltipRendererParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"labelKey?\": \"string\",\n      \"labelName?\": \"string\",\n      \"calloutLabelKey?\": \"string\",\n      \"calloutLabelName?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"sectorLabelName?\": \"string\",\n      \"angleKey\": \"string\",\n      \"angleValue?\": \"any\",\n      \"angleName?\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"radiusValue?\": \"any\",\n      \"radiusName?\": \"string\",\n      \"datum\": \"any\",\n      \"title?\": \"string\",\n      \"color?\": \"CssColor\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"labelKey?\": \"/** labelKey as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelKey or series.sectorLabelKey instead.\\n     */\",\n      \"labelName?\": \"/** labelName as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelName or series.sectorLabelName instead.\\n     */\",\n      \"calloutLabelKey?\": \"/** calloutLabelKey as specified on series options. */\",\n      \"calloutLabelName?\": \"/** calloutLabelName as specified on series options. */\",\n      \"sectorLabelKey?\": \"/** sectorLabelKey as specified on series options. */\",\n      \"sectorLabelName?\": \"/** sectorLabelName as specified on series options. */\",\n      \"angleKey\": \"/** angleKey as specified on series options. */\",\n      \"angleValue?\": \"/** angleValue as read from series data via the angleKey property. */\",\n      \"angleName?\": \"/** angleName as specified on series options. */\",\n      \"radiusKey?\": \"/** radiusKey as specified on series options. */\",\n      \"radiusValue?\": \"/** radiusValue as read from series data via the radiusKey property. */\",\n      \"radiusName?\": \"/** radiusName as specified on series options. */\",\n      \"datum\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"title?\": \"/** Series title or yName depending on series configuration. */\",\n      \"color?\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgPieSeriesLabelFormatterParams\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"datum\": \"DatumType\",\n      \"labelKey?\": \"string\",\n      \"labelValue?\": \"string\",\n      \"labelName?\": \"string\",\n      \"calloutLabelKey?\": \"string\",\n      \"calloutLabelValue?\": \"string\",\n      \"calloutLabelName?\": \"string\",\n      \"sectorLabelKey?\": \"string\",\n      \"sectorLabelValue?\": \"string\",\n      \"sectorLabelName?\": \"string\",\n      \"angleKey\": \"string\",\n      \"angleValue?\": \"any\",\n      \"angleName?\": \"string\",\n      \"radiusKey?\": \"string\",\n      \"radiusValue?\": \"any\",\n      \"radiusName?\": \"string\",\n      \"value?\": \"any\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"datum\": \"/** Datum from the series data array that the label is being rendered for. */\",\n      \"labelKey?\": \"/** labelKey as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use calloutLabelKey instead.\\n     */\",\n      \"labelValue?\": \"/** labelValue as read from series data via the labelKey property.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use calloutLabelValue instead.\\n     */\",\n      \"labelName?\": \"/** labelName as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use calloutLabelName instead.\\n     */\",\n      \"calloutLabelKey?\": \"/** calloutLabelKey as specified on series options. */\",\n      \"calloutLabelValue?\": \"/** calloutLabelValue as read from series data via the calloutLabelKey property. */\",\n      \"calloutLabelName?\": \"/** calloutLabelName as specified on series options. */\",\n      \"sectorLabelKey?\": \"/** sectorLabelKey as specified on series options. */\",\n      \"sectorLabelValue?\": \"/** sectorLabelValue as read from series data via the sectorLabelKey property. */\",\n      \"sectorLabelName?\": \"/** sectorLabelName as specified on series options. */\",\n      \"angleKey\": \"/** angleKey as specified on series options. */\",\n      \"angleValue?\": \"/** angleValue as read from series data via the angleKey property. */\",\n      \"angleName?\": \"/** angleName as specified on series options. */\",\n      \"radiusKey?\": \"/** radiusKey as specified on series options. */\",\n      \"radiusValue?\": \"/** radiusValue as read from series data via the radiusKey property. */\",\n      \"radiusName?\": \"/** radiusName as specified on series options. */\",\n      \"value?\": \"/** The value of labelKey as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use item.datum instead.\\n     */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgTreemapSeriesLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"padding?\": \"number\",\n      \"enabled?\": \"boolean\",\n      \"fontStyle?\": \"FontStyle\",\n      \"fontWeight?\": \"FontWeight\",\n      \"fontSize?\": \"FontSize\",\n      \"fontFamily?\": \"FontFamily\",\n      \"color?\": \"CssColor\"\n    },\n    \"docs\": {\n      \"padding?\": \"/** The amount of the tile's vertical space to reserve for the label. */\",\n      \"enabled?\": \"/** Whether or not the labels should be shown. */\",\n      \"fontStyle?\": \"/** The font style to use for the labels. */\",\n      \"fontWeight?\": \"/** The font weight to use for the labels. */\",\n      \"fontSize?\": \"/** The font size in pixels to use for the labels. */\",\n      \"fontFamily?\": \"/** The font family to use for the labels. */\",\n      \"color?\": \"/** The colour to use for the labels. */\"\n    }\n  },\n  \"AgTreemapSeriesTooltipRendererParams\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"datum\": \"DatumType\",\n      \"parent?\": \"DataValue\",\n      \"depth\": \"number\",\n      \"sizeKey?\": \"string\",\n      \"labelKey?\": \"string\",\n      \"colorKey?\": \"string\",\n      \"color?\": \"string\",\n      \"title?\": \"string\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"datum\": \"/** Datum from the series data that the treemap tile is being rendered for. */\",\n      \"parent?\": \"/** The parent of the datum from the treemap data. */\",\n      \"depth\": \"/** The depth of the datum in the hierarchy. */\",\n      \"sizeKey?\": \"/** sizeKey as specified on series options. */\",\n      \"labelKey?\": \"/** labelKey as specified on series options. */\",\n      \"colorKey?\": \"/** colorKey as specified on series options. */\",\n      \"color?\": \"/** The computed fill colour of the treemap tile. */\",\n      \"title?\": \"/** The title of the treemap tile */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgTreemapSeriesTooltip\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"type\": {\n      \"renderer?\": \"(params: AgTreemapSeriesTooltipRendererParams<DatumType>) => string | AgTooltipRendererResult\",\n      \"enabled?\": \"boolean\",\n      \"position?\": \"AgTooltipPositionOptions\",\n      \"interaction?\": \"AgSeriesTooltipInteraction\"\n    },\n    \"docs\": {\n      \"renderer?\": \"/** Function used to create the content for tooltips. */\",\n      \"enabled?\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"position?\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"interaction?\": \"/** Configuration for tooltip interaction. */\"\n    }\n  },\n  \"AgTreemapSeriesLabelsOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"large?\": \"AgChartLabelOptions\",\n      \"medium?\": \"AgChartLabelOptions\",\n      \"small?\": \"AgChartLabelOptions\",\n      \"value?\": \"{ key?: string; name?: string; formatter?: (params: { datum: any; }) => string | undefined; style?: AgChartLabelOptions; }\"\n    },\n    \"docs\": {\n      \"large?\": \"/** The label configuration for the large leaf tiles. */\",\n      \"medium?\": \"/** The label configuration for the medium-sized leaf tiles. */\",\n      \"small?\": \"/** The label configuration for the small leaf tiles. */\",\n      \"value?\": \"/** The configuration for the cell value label. */\"\n    }\n  },\n  \"AgTreemapSeriesHighlightTextStyle\": {\n    \"meta\": {},\n    \"type\": { \"color?\": \"CssColor\" },\n    \"docs\": {\n      \"color?\": \"/** The colour of an item's text when tapped or hovered over. Use `undefined` for no highlight. */\"\n    }\n  },\n  \"AgTreemapSeriesHighlightStyle\": {\n    \"meta\": {},\n    \"type\": {\n      \"text?\": \"AgTreemapSeriesHighlightTextStyle\",\n      \"item?\": \"AgSeriesHighlightMarkerStyle\",\n      \"series?\": \"AgSeriesHighlightSeriesStyle\"\n    },\n    \"docs\": {\n      \"text?\": \"/** Highlight style used for a text when item is tapped or hovered over. */\",\n      \"item?\": \"/** Highlight style used for an individual marker when tapped or hovered over. */\",\n      \"series?\": \"/** Highlight style used for whole series when one of its markers is tapped or hovered over. */\"\n    }\n  },\n  \"AgTreemapSeriesOptions\": {\n    \"meta\": {\n      \"typeParams\": [\"DatumType = any\"],\n      \"doc\": \"/** Configuration for the treemap series. */\"\n    },\n    \"type\": {\n      \"type?\": \"'treemap'\",\n      \"title?\": \"AgTreemapSeriesLabelOptions\",\n      \"subtitle?\": \"AgTreemapSeriesLabelOptions\",\n      \"labels?\": \"AgTreemapSeriesLabelsOptions\",\n      \"labelKey?\": \"string\",\n      \"sizeKey?\": \"string\",\n      \"colorKey?\": \"string\",\n      \"colorDomain?\": \"number[]\",\n      \"colorRange?\": \"string[]\",\n      \"groupFill?\": \"string\",\n      \"groupStroke?\": \"string\",\n      \"groupStrokeWidth?\": \"number\",\n      \"tileStroke?\": \"string\",\n      \"tileStrokeWidth?\": \"number\",\n      \"tooltip?\": \"AgTreemapSeriesTooltip<DatumType>\",\n      \"nodePadding?\": \"PixelSize\",\n      \"gradient?\": \"boolean\",\n      \"tileShadow?\": \"AgDropShadowOptions\",\n      \"labelShadow?\": \"AgDropShadowOptions\",\n      \"highlightGroups?\": \"boolean\",\n      \"highlightStyle?\": \"AgTreemapSeriesHighlightStyle\",\n      \"formatter?\": \"(params: AgTreemapSeriesFormatterParams<DataValue>) => AgTreemapSeriesFormat\",\n      \"listeners?\": \"AgSeriesListeners<DatumType>\",\n      \"id?\": \"string\",\n      \"data?\": \"DatumType[]\",\n      \"visible?\": \"boolean\",\n      \"showInLegend?\": \"boolean\",\n      \"cursor?\": \"string\",\n      \"nodeClickRange?\": \"AgChartInteractionRange\"\n    },\n    \"docs\": {\n      \"title?\": \"/** The label configuration for the top-level tiles. */\",\n      \"subtitle?\": \"/** The label configuration for the children of the top-level parent tiles. */\",\n      \"labels?\": \"/** Configuration for the tile labels. */\",\n      \"labelKey?\": \"/** The name of the node key containing the label. */\",\n      \"sizeKey?\": \"/** The name of the node key containing the size value. */\",\n      \"colorKey?\": \"/** The name of the node key containing the color value. This value (along with `colorDomain` and `colorRange` configs) will be used to determine the tile color. */\",\n      \"colorDomain?\": \"/** The domain the 'colorKey' values belong to. The domain can contain more than two stops, for example `[-5, 0, -5]`. In that case the 'colorRange' should also use a matching number of colors. */\",\n      \"colorRange?\": \"/** The color range to interpolate the numeric `colorDomain` into. For example, if the `colorDomain` is `[-5, 5]` and `colorRange` is `['red', 'green']`, a `colorKey` value of `-5` will be assigned the 'red' color, `5` - 'green' color and `0` a blend of 'red' and 'green'. */\",\n      \"groupFill?\": \"/** The group fill color. If undefined the value based on `colorKey` will be used. */\",\n      \"groupStroke?\": \"/** The group's stroke color. */\",\n      \"groupStrokeWidth?\": \"/** The group's stroke width. */\",\n      \"tileStroke?\": \"/** The tile's stroke color. */\",\n      \"tileStrokeWidth?\": \"/** The tile's stroke width. */\",\n      \"tooltip?\": \"/** Series-specific tooltip configuration. */\",\n      \"nodePadding?\": \"/** The amount of padding in pixels inside of each treemap tile. Increasing `nodePadding` will reserve more space for parent labels. */\",\n      \"gradient?\": \"/** Whether or not to use gradients for treemap tiles. */\",\n      \"tileShadow?\": \"/** Configuration for the shadow used behind the treemap tiles. */\",\n      \"labelShadow?\": \"/** Configuration for the shadow used behind the treemap labels. */\",\n      \"highlightGroups?\": \"/** Determines whether the groups will be highlighted by cursor. */\",\n      \"highlightStyle?\": \"/** Configuration for treemap tiles when they are hovered over. */\",\n      \"formatter?\": \"/** A callback function for adjusting the styles of a particular treemap tile based on the input parameters */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"id?\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"data?\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"visible?\": \"/** Whether or not to display the series. */\",\n      \"showInLegend?\": \"/** Whether or not to include the series in the legend. */\",\n      \"cursor?\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"nodeClickRange?\": \"/** Range from a node a click triggers the listener. */\"\n    }\n  },\n  \"AgTreemapSeriesFormatterParams\": {\n    \"meta\": {\n      \"typeParams\": [\"DataValue = any\"],\n      \"doc\": \"/** The parameters of the treemap series formatter function */\"\n    },\n    \"type\": {\n      \"datum\": \"DataValue\",\n      \"parent?\": \"DataValue\",\n      \"depth\": \"number\",\n      \"labelKey\": \"string\",\n      \"sizeKey?\": \"string\",\n      \"colorKey?\": \"string\",\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"gradient?\": \"boolean\",\n      \"highlighted\": \"boolean\",\n      \"seriesId\": \"string\"\n    },\n    \"docs\": {\n      \"datum\": \"/** Datum from the series data that the treemap tile is being rendered for. */\",\n      \"parent?\": \"/** The parent of the datum from the treemap data. */\",\n      \"depth\": \"/** The depth of the datum in the hierarchy. */\",\n      \"labelKey\": \"/** labelKey as specified on series options. */\",\n      \"sizeKey?\": \"/** sizeKey as specified on series options. */\",\n      \"colorKey?\": \"/** colorKey as specified on series options. */\",\n      \"fill?\": \"/** The colour of the fill for the treemap tile. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the treemap tile. */\",\n      \"stroke?\": \"/** The colour of the stroke for the treemap tile. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the treemap tile. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the treemap tile. */\",\n      \"gradient?\": \"/** Whether or not the gradients are used for treemap tiles. */\",\n      \"highlighted\": \"/** `true` if the tile is highlighted by hovering */\",\n      \"seriesId\": \"/** The ID of the series. */\"\n    }\n  },\n  \"AgTreemapSeriesFormat\": {\n    \"meta\": { \"doc\": \"/** The formatted style of a treemap tile */\" },\n    \"type\": {\n      \"fill?\": \"CssColor\",\n      \"fillOpacity?\": \"Opacity\",\n      \"stroke?\": \"CssColor\",\n      \"strokeOpacity?\": \"Opacity\",\n      \"strokeWidth?\": \"PixelSize\",\n      \"gradient?\": \"boolean\"\n    },\n    \"docs\": {\n      \"fill?\": \"/** The colour of the fill for the treemap tile. */\",\n      \"fillOpacity?\": \"/** The opacity of the fill for the treemap tile. */\",\n      \"stroke?\": \"/** The colour of the stroke for the treemap tile. */\",\n      \"strokeOpacity?\": \"/** The opacity of the stroke for the treemap tile. */\",\n      \"strokeWidth?\": \"/** The width in pixels of the stroke for the treemap tile. */\",\n      \"gradient?\": \"/** Whether or not the gradient is used for the treemap tile. */\"\n    }\n  },\n  \"AgCartesianSeriesOptions\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TAddon = never\"] },\n    \"type\": \"AgLineSeriesOptions | AgScatterSeriesOptions | AgAreaSeriesOptions | AgBarSeriesOptions | AgHistogramSeriesOptions | TAddon\"\n  },\n  \"AgPolarSeriesOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"AgPieSeriesOptions\"\n  },\n  \"AgHierarchySeriesOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"AgTreemapSeriesOptions\"\n  },\n  \"AgCartesianChartOptions\": {\n    \"meta\": { \"typeParams\": [\"TAddonType = never\", \"TAddonSeries = never\"] },\n    \"type\": {\n      \"type?\": \"'line' | 'bar' | 'column' | 'area' | 'scatter' | 'histogram' | TAddonType\",\n      \"axes?\": \"AgCartesianAxisOptions[]\",\n      \"series?\": \"AgCartesianSeriesOptions<TAddonSeries>[]\",\n      \"navigator?\": \"AgNavigatorOptions\",\n      \"data?\": \"any[]\",\n      \"container?\": \"HTMLElement | null\",\n      \"width?\": \"PixelSize\",\n      \"height?\": \"PixelSize\",\n      \"autoSize?\": \"boolean\",\n      \"padding?\": \"AgChartPaddingOptions\",\n      \"seriesAreaPadding?\": \"AgSeriesAreaPaddingOptions\",\n      \"background?\": \"AgChartBackground\",\n      \"title?\": \"AgChartCaptionOptions\",\n      \"subtitle?\": \"AgChartSubtitleOptions\",\n      \"footnote?\": \"AgChartFooterOptions\",\n      \"tooltip?\": \"AgChartTooltipOptions\",\n      \"legend?\": \"AgChartLegendOptions\",\n      \"listeners?\": \"AgBaseChartListeners\",\n      \"highlight?\": \"AgChartHighlightOptions\",\n      \"theme?\": \"string | AgChartTheme\",\n      \"overlays?\": \"AgChartOverlaysOptions\"\n    },\n    \"docs\": {\n      \"type?\": \"/** If specified overrides the default series type. */\",\n      \"axes?\": \"/** Axis configurations. */\",\n      \"series?\": \"/** Series configurations. */\",\n      \"navigator?\": \"/** Configuration for the chart navigator. */\",\n      \"data?\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"container?\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"width?\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"height?\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"autoSize?\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"padding?\": \"/** Configuration for the padding shown around the chart. */\",\n      \"seriesAreaPadding?\": \"/** Configuration for the padding around the series area. */\",\n      \"background?\": \"/** Configuration for the background shown behind the chart. */\",\n      \"title?\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"subtitle?\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"footnote?\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"tooltip?\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"legend?\": \"/** Configuration for the chart legend. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlight?\": \"/** Configuration for the chart highlighting. */\",\n      \"theme?\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"overlays?\": \"/** HTML overlays */\"\n    }\n  },\n  \"AgPolarChartOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type?\": \"'pie'\",\n      \"series?\": \"AgPolarSeriesOptions[]\",\n      \"data?\": \"any[]\",\n      \"container?\": \"HTMLElement | null\",\n      \"width?\": \"PixelSize\",\n      \"height?\": \"PixelSize\",\n      \"autoSize?\": \"boolean\",\n      \"padding?\": \"AgChartPaddingOptions\",\n      \"seriesAreaPadding?\": \"AgSeriesAreaPaddingOptions\",\n      \"background?\": \"AgChartBackground\",\n      \"title?\": \"AgChartCaptionOptions\",\n      \"subtitle?\": \"AgChartSubtitleOptions\",\n      \"footnote?\": \"AgChartFooterOptions\",\n      \"tooltip?\": \"AgChartTooltipOptions\",\n      \"legend?\": \"AgChartLegendOptions\",\n      \"listeners?\": \"AgBaseChartListeners\",\n      \"highlight?\": \"AgChartHighlightOptions\",\n      \"theme?\": \"string | AgChartTheme\",\n      \"overlays?\": \"AgChartOverlaysOptions\"\n    },\n    \"docs\": {\n      \"type?\": \"/** If specified overrides the default series type. */\",\n      \"series?\": \"/** Series configurations. */\",\n      \"data?\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"container?\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"width?\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"height?\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"autoSize?\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"padding?\": \"/** Configuration for the padding shown around the chart. */\",\n      \"seriesAreaPadding?\": \"/** Configuration for the padding around the series area. */\",\n      \"background?\": \"/** Configuration for the background shown behind the chart. */\",\n      \"title?\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"subtitle?\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"footnote?\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"tooltip?\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"legend?\": \"/** Configuration for the chart legend. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlight?\": \"/** Configuration for the chart highlighting. */\",\n      \"theme?\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"overlays?\": \"/** HTML overlays */\"\n    }\n  },\n  \"AgHierarchyChartOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type?\": \"'treemap'\",\n      \"data?\": \"any\",\n      \"series?\": \"AgHierarchySeriesOptions[]\",\n      \"container?\": \"HTMLElement | null\",\n      \"width?\": \"PixelSize\",\n      \"height?\": \"PixelSize\",\n      \"autoSize?\": \"boolean\",\n      \"padding?\": \"AgChartPaddingOptions\",\n      \"seriesAreaPadding?\": \"AgSeriesAreaPaddingOptions\",\n      \"background?\": \"AgChartBackground\",\n      \"title?\": \"AgChartCaptionOptions\",\n      \"subtitle?\": \"AgChartSubtitleOptions\",\n      \"footnote?\": \"AgChartFooterOptions\",\n      \"tooltip?\": \"AgChartTooltipOptions\",\n      \"legend?\": \"AgChartLegendOptions\",\n      \"listeners?\": \"AgBaseChartListeners\",\n      \"highlight?\": \"AgChartHighlightOptions\",\n      \"theme?\": \"string | AgChartTheme\",\n      \"overlays?\": \"AgChartOverlaysOptions\"\n    },\n    \"docs\": {\n      \"type?\": \"/** If specified overrides the default series type. */\",\n      \"series?\": \"/** Series configurations. */\",\n      \"data?\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"container?\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"width?\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"height?\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"autoSize?\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"padding?\": \"/** Configuration for the padding shown around the chart. */\",\n      \"seriesAreaPadding?\": \"/** Configuration for the padding around the series area. */\",\n      \"background?\": \"/** Configuration for the background shown behind the chart. */\",\n      \"title?\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"subtitle?\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"footnote?\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"tooltip?\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"legend?\": \"/** Configuration for the chart legend. */\",\n      \"listeners?\": \"/** A map of event names to event listeners. */\",\n      \"highlight?\": \"/** Configuration for the chart highlighting. */\",\n      \"theme?\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"overlays?\": \"/** HTML overlays */\"\n    }\n  },\n  \"AgChartOptions\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"TAddonType = never\", \"TAddonSeries = never\"]\n    },\n    \"type\": \"AgCartesianChartOptions<TAddonType, TAddonSeries> | AgPolarChartOptions | AgHierarchyChartOptions\"\n  },\n  \"AgChartInstance\": {\n    \"meta\": {},\n    \"type\": { \"getOptions()\": \"AgChartOptions\", \"destroy()\": \"void\" },\n    \"docs\": {\n      \"getOptions()\": \"/** Get the `AgChartOptions` representing the current chart configuration. */\",\n      \"destroy()\": \"/** Destroy the chart instance and any allocated resources to support its rendering. */\"\n    }\n  },\n  \"SeriesOptionType\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T extends Series\"] },\n    \"type\": \"T extends LineSeries ? AgLineSeriesOptions : T extends BarSeries ? AgBarSeriesOptions : T extends AreaSeries ? AgAreaSeriesOptions : T extends ScatterSeries ? AgScatterSeriesOptions : T extends HistogramSeries ? AgHistogramSeriesOptions : T extends PieSeries ? AgPieSeriesOptions : T extends TreemapSeries ? AgTreemapSeriesOptions : never\"\n  },\n  \"DownloadOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"fileName?\": \"string\",\n      \"width?\": \"number\",\n      \"height?\": \"number\",\n      \"fileFormat?\": \"string\"\n    },\n    \"docs\": {\n      \"fileName?\": \"/** Name of downloaded image file. Defaults to `image`.  */\",\n      \"width?\": \"/** Width of downloaded chart image in pixels. Defaults to current chart width. */\",\n      \"height?\": \"/** Height of downloaded chart image in pixels. Defaults to current chart height. */\",\n      \"fileFormat?\": \"/** A MIME-type string indicating the image format. The default format type is `image/png`. Options: `image/png`, `image/jpeg`.  */\"\n    }\n  },\n  \"ImageDataUrlOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"width?\": \"number\",\n      \"height?\": \"number\",\n      \"fileFormat?\": \"string\"\n    },\n    \"docs\": {\n      \"width?\": \"/** Width of downloaded chart image in pixels. Defaults to current chart width. */\",\n      \"height?\": \"/** Height of downloaded chart image in pixels. Defaults to current chart height. */\",\n      \"fileFormat?\": \"/** A MIME-type string indicating the image format. The default format type is `image/png`. Options: `image/png`, `image/jpeg`.  */\"\n    }\n  },\n  \"DeepPartialDepth\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"[ never, 0, 1, 2, 3, 4, 5, 6 ]\"\n  },\n  \"DeepPartial\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"{[P1 in keyof T]?: IsSkippableProperty<T, P1> extends true ? any : IsLiteralProperty<T, P1> extends true ? T[P1] : { [P2 in keyof T[P1]]?: IsSkippableProperty<T[P1], P2> extends true ? any : IsLiteralProperty<T[P1], P2> extends true ? T[P1][P2] : { [P3 in keyof T[P1][P2]]?: IsSkippableProperty<T[P1][P2], P3> extends true ? any : IsLiteralProperty<T[P1][P2], P3> extends true ? T[P1][P2][P3] : { [P4 in keyof T[P1][P2][P3]]?: IsSkippableProperty<T[P1][P2][P3], P4> extends true ? any : IsLiteralProperty<T[P1][P2][P3], P4> extends true ? T[P1][P2][P3][P4] : Partial<T[P1][P2][P3][P4]>; }; }; }}\"\n  },\n  \"AgChart\": {\n    \"meta\": {\n      \"doc\": \"/** Factory for creating and updating instances of AgChartInstance.\\n *\\n * @docsInterface\\n */\"\n    },\n    \"type\": {\n      \"public static create(options: AgChartOptions): AgChartInstance { return AgChartInternal.createOrUpdate(options as any); }\": \"AgChartInstance\",\n      \"public static getImageDataURL(chart: AgChartInstance, options?: ImageDataUrlOptions): Promise<string> { if (!(chart instanceof AgChartInstanceProxy)) { throw new Error('AG Charts - invalid chart reference passed'); } return AgChartInternal.getImageDataURL(chart, options); }\": \"Promise<string>\"\n    },\n    \"docs\": {\n      \"public static create(options: AgChartOptions): AgChartInstance { return AgChartInternal.createOrUpdate(options as any); }\": \"/** Create a new `AgChartInstance` based upon the given configuration options.\\n     */\",\n      \"public static update(chart: AgChartInstance, options: AgChartOptions) { if (!AgChartInstanceProxy.isInstance(chart)) { throw new Error('AG Charts - invalid chart reference passed'); } AgChartInternal.createOrUpdate(options as any, chart); }\": \"/** Update an existing `AgChartInstance`. Options provided should be complete and not\\n     * partial.\\n     * <br/>\\n     * <br/>\\n     * **NOTE**: As each call could trigger a chart redraw, multiple calls to update options in\\n     * quick succession could result in undesirable flickering, so callers should batch up and/or\\n     * debounce changes to avoid unintended partial update renderings.\\n     */\",\n      \"public static updateDelta(chart: AgChartInstance, deltaOptions: DeepPartial<AgChartOptions>) { if (!AgChartInstanceProxy.isInstance(chart)) { throw new Error('AG Charts - invalid chart reference passed'); } return AgChartInternal.updateUserDelta(chart, deltaOptions as any); }\": \"/** Update an existing `AgChartInstance` by applying a partial set of option changes.\\n     * <br/>\\n     * <br/>\\n     * **NOTE**: As each call could trigger a chart redraw, each individual delta options update\\n     * should leave the chart in a valid options state. Also, multiple calls to update options in\\n     * quick succession could result in undesirable flickering, so callers should batch up and/or\\n     * debounce changes to avoid unintended partial update renderings.\\n     */\",\n      \"public static download(chart: AgChartInstance, options?: DownloadOptions) { if (!(chart instanceof AgChartInstanceProxy)) { throw new Error('AG Charts - invalid chart reference passed'); } return AgChartInternal.download(chart, options); }\": \"/** Starts a browser-based image download for the given `AgChartInstance`.\\n     */\",\n      \"public static getImageDataURL(chart: AgChartInstance, options?: ImageDataUrlOptions): Promise<string> { if (!(chart instanceof AgChartInstanceProxy)) { throw new Error('AG Charts - invalid chart reference passed'); } return AgChartInternal.getImageDataURL(chart, options); }\": \"/** Returns a base64-encoded image data URL for the given `AgChartInstance`.\\n     */\"\n    }\n  },\n  \"ObservableLike\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ addEventListener(key: string, cb: TypedEventListener): void; clearEventListeners(): void; }\"\n  },\n  \"VisibilityMap\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ crossLines: boolean; series: boolean; }\"\n  },\n  \"OptionalHTMLElement\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"HTMLElement | undefined | null\"\n  },\n  \"TransferableResources\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ container?: OptionalHTMLElement; scene: Scene; element: HTMLElement; }\"\n  },\n  \"ChartUpdateOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ forceNodeDataRefresh?: boolean; seriesToUpdate?: Iterable<Series>; }\"\n  },\n  \"PickedNode\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ series: Series<any>; datum: SeriesNodeDatum; distance: number; }\"\n  },\n  \"BoundSeries\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"string\",\n      \"getDomain(direction: ChartAxisDirection)\": \"any[]\",\n      \"isEnabled()\": \"boolean\",\n      \"getKeys(direction: ChartAxisDirection)\": \"string[]\",\n      \"visible\": \"boolean\",\n      \"getBandScalePadding?()\": \"{ inner: number; outer: number; }\"\n    }\n  },\n  \"ChartAxisDirection\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"X = 'x'\", \"Y = 'y'\"],\n    \"docs\": [null, null]\n  },\n  \"ChartType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'cartesian' | 'polar' | 'hierarchy'\"\n  },\n  \"ChartUpdateType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"FULL\",\n      \"PROCESS_DATA\",\n      \"PERFORM_LAYOUT\",\n      \"SERIES_UPDATE\",\n      \"TOOLTIP_RECALCULATION\",\n      \"SCENE_RENDER\",\n      \"NONE\"\n    ],\n    \"docs\": [null, null, null, null, null, null, null]\n  },\n  \"NodeData\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"number[]\" },\n  \"CrossLineType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'line' | 'range'\"\n  },\n  \"CrossLineLabelPosition\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'top' | 'left' | 'right' | 'bottom' | 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'inside' | 'insideLeft' | 'insideRight' | 'insideTop' | 'insideBottom' | 'insideTopLeft' | 'insideBottomLeft' | 'insideTopRight' | 'insideBottomRight'\"\n  },\n  \"CoordinatesFnOpts\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ yDirection: boolean; xStart: number; xEnd: number; yStart: number; yEnd: number; }\"\n  },\n  \"CoordinatesFn\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"({ yDirection, xStart, xEnd, yStart, yEnd }: CoordinatesFnOpts) => Point\"\n  },\n  \"PositionCalcFns\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ c: CoordinatesFn; }\"\n  },\n  \"LabelTranslationDirection\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"1 | -1 | 0\"\n  },\n  \"CrossLineTranslationDirection\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ xTranslationDirection: LabelTranslationDirection; yTranslationDirection: LabelTranslationDirection; }\"\n  },\n  \"CrossLinesRangeConfig\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"Record<string, { vertical: [ Date, Date ]; horizontal: [ number, number ]; }>\"\n  },\n  \"UngroupedDataItem\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"D\", \"V\"] },\n    \"type\": \"{ keys: any[]; values: V; sumValues?: [ number, number ][]; datum: D; }\"\n  },\n  \"UngroupedData\": {\n    \"meta\": { \"typeParams\": [\"D\"] },\n    \"type\": {\n      \"type\": \"'ungrouped'\",\n      \"data\": \"UngroupedDataItem<D, any[]>[]\",\n      \"domain\": \"{ keys: any[][]; values: any[][]; sumValues?: [ number, number ][]; }\",\n      \"indices\": \"{ keys: Record<keyof D, number>; values: Record<keyof D, number>; }\",\n      \"reduced?\": \"Record<string, any>\",\n      \"defs\": \"{ keys: DatumPropertyDefinition<keyof D>[]; values: DatumPropertyDefinition<keyof D>[]; }\",\n      \"time\": \"number\"\n    }\n  },\n  \"GroupedData\": {\n    \"meta\": { \"typeParams\": [\"D\"] },\n    \"type\": {\n      \"type\": \"'grouped'\",\n      \"data\": \"UngroupedDataItem<D[], any[][]>[]\",\n      \"domain\": \"{ keys: any[][]; values: any[][]; sumValues?: [ number, number ][]; }\",\n      \"indices\": \"{ keys: Record<keyof D, number>; values: Record<keyof D, number>; }\",\n      \"reduced?\": \"Record<string, any>\",\n      \"defs\": \"{ keys: DatumPropertyDefinition<keyof D>[]; values: DatumPropertyDefinition<keyof D>[]; }\",\n      \"time\": \"number\"\n    }\n  },\n  \"ProcessedData\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"D\"] },\n    \"type\": \"UngroupedData<D> | GroupedData<D>\"\n  },\n  \"DatumPropertyType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'range' | 'category'\"\n  },\n  \"ContinuousDomain\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T extends number | Date\"] },\n    \"type\": \"[ T, T ]\"\n  },\n  \"Options\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"K\", \"Grouped extends boolean | undefined\"]\n    },\n    \"type\": \"{ readonly props: PropertyDefinition<K>[]; readonly groupByKeys?: Grouped; readonly normaliseTo?: number; readonly dataVisible?: boolean; }\"\n  },\n  \"PropertyDefinition\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"K\"] },\n    \"type\": \"DatumPropertyDefinition<K> | OutputPropertyDefinition<K> | ReducerOutputPropertyDefinition<any> | ProcessorOutputPropertyDefinition<any>\"\n  },\n  \"DatumPropertyDefinition\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"K\"] },\n    \"type\": \"{ type: 'key' | 'value'; valueType: DatumPropertyType; property: K; invalidValue?: any; missingValue?: any; validation?: (datum: any) => boolean; }\"\n  },\n  \"InternalDatumPropertyDefinition\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"K\"] },\n    \"type\": \"DatumPropertyDefinition<K> & { index: number; missing: boolean; }\"\n  },\n  \"OutputPropertyDefinition\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"K\"] },\n    \"type\": \"{ type: 'sum'; properties: K[]; }\"\n  },\n  \"ReducerOutputPropertyDefinition\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"R\"] },\n    \"type\": \"{ type: 'reducer'; property: string; initialValue?: R; reducer: () => (acc: R, next: UngroupedDataItem<any, any>) => R; }\"\n  },\n  \"ProcessorOutputPropertyDefinition\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"R\"] },\n    \"type\": \"{ type: 'processor'; property: string; calculate: (data: ProcessedData<any>) => R; }\"\n  },\n  \"Page\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ columns: Column[]; pageWidth: number; pageHeight: number; startIndex: number; endIndex: number; }\"\n  },\n  \"Column\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ columnWidth: number; columnHeight: number; indices: number[]; bboxes: BBox[]; }\"\n  },\n  \"DimensionProps\": {\n    \"meta\": {},\n    \"type\": {\n      \"max\": \"number\",\n      \"fn\": \"(bbox: BBox) => number\",\n      \"padding\": \"number\"\n    }\n  },\n  \"CursorState\": { \"meta\": {}, \"type\": { \"style\": \"string\" } },\n  \"HighlightState\": {\n    \"meta\": {},\n    \"type\": { \"highlightedDatum\": \"HighlightNodeDatum\" }\n  },\n  \"HighlightNodeDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"series\": \"any\",\n      \"itemId?\": \"any\",\n      \"datum\": \"any\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"cumulativeValue?\": \"number\",\n      \"aggregatedValue?\": \"number\",\n      \"domain?\": \"[ number, number ]\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"HighlightChangeEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"'highlight-change'\",\n      \"previousHighlight?\": \"HighlightNodeDatum\",\n      \"currentHighlight?\": \"HighlightNodeDatum\"\n    }\n  },\n  \"InteractionTypes\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'click' | 'dblclick' | 'contextmenu' | 'hover' | 'drag-start' | 'drag' | 'drag-end' | 'leave' | 'page-left' | 'wheel'\"\n  },\n  \"SUPPORTED_EVENTS\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'click' | 'dblclick' | 'contextmenu' | 'mousedown' | 'mousemove' | 'mouseup' | 'mouseout' | 'mouseenter' | 'touchstart' | 'touchmove' | 'touchend' | 'touchcancel' | 'pagehide' | 'wheel'\"\n  },\n  \"InteractionEvent\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"T extends InteractionTypes\"]\n    },\n    \"type\": \"{ type: T; offsetX: number; offsetY: number; pageX: number; pageY: number; sourceEvent: Event; consume(): void; }\"\n  },\n  \"Coords\": {\n    \"meta\": {},\n    \"type\": {\n      \"clientX\": \"number\",\n      \"clientY\": \"number\",\n      \"pageX\": \"number\",\n      \"pageY\": \"number\",\n      \"offsetX\": \"number\",\n      \"offsetY\": \"number\"\n    }\n  },\n  \"SupportedEvent\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"MouseEvent | TouchEvent | Event\"\n  },\n  \"TooltipState\": {\n    \"meta\": {},\n    \"type\": { \"content\": \"string\", \"meta?\": \"TooltipMeta\" }\n  },\n  \"ZoomState\": { \"meta\": {}, \"type\": { \"min\": \"number\", \"max\": \"number\" } },\n  \"AxisZoomState\": {\n    \"meta\": {},\n    \"type\": { \"x?\": \"ZoomState\", \"y?\": \"ZoomState\" }\n  },\n  \"ZoomChangeEvent\": {\n    \"meta\": {},\n    \"type\": { \"type\": \"'zoom-change'\", \"x?\": \"ZoomState\", \"y?\": \"ZoomState\" }\n  },\n  \"Layers\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"SERIES_BACKGROUND_ZINDEX = -10\",\n      \"AXIS_GRID_ZINDEX = 0\",\n      \"AXIS_ZINDEX = 20\",\n      \"SERIES_CROSSLINE_RANGE_ZINDEX = 30\",\n      \"SERIES_LAYER_ZINDEX = 500\",\n      \"SERIES_CROSSHAIR_ZINDEX = 1000\",\n      \"SERIES_LABEL_ZINDEX = 1500\",\n      \"SERIES_CROSSLINE_LINE_ZINDEX = 2500\",\n      \"LEGEND_ZINDEX = 3000\"\n    ],\n    \"docs\": [null, null, null, null, null, null, null, null, null]\n  },\n  \"LayoutStage\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'start-layout' | 'before-series'\"\n  },\n  \"AxisLabelLayout\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ baseline: 'hanging' | 'bottom' | 'middle'; align: 'start' | 'end' | 'center'; rotation: number; fractionDigits: number; padding: number; format?: string; }\"\n  },\n  \"AxisLayout\": {\n    \"meta\": {},\n    \"type\": {\n      \"rect\": \"BBox\",\n      \"gridPadding\": \"number\",\n      \"seriesAreaPadding\": \"number\",\n      \"tickSize\": \"number\",\n      \"label\": \"AxisLabelLayout\"\n    }\n  },\n  \"LayoutCompleteEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"'layout-complete'\",\n      \"chart\": \"{ width: number; height: number; }\",\n      \"series\": \"{ rect: BBox; paddedRect: BBox; hoverRect: BBox; visible: boolean; }\",\n      \"axes?\": \"(AxisLayout & { id: string; })[]\"\n    }\n  },\n  \"LayoutContext\": { \"meta\": {}, \"type\": { \"shrinkRect\": \"BBox\" } },\n  \"LayoutResult\": { \"meta\": {}, \"type\": { \"shrinkRect\": \"BBox\" } },\n  \"EventTypes\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"LayoutStage | 'layout-complete'\"\n  },\n  \"LayoutListener\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(event: LayoutCompleteEvent) => void\"\n  },\n  \"LayoutProcessor\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(ctx: LayoutContext) => LayoutResult\"\n  },\n  \"Handler\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T extends EventTypes\"] },\n    \"type\": \"T extends LayoutStage ? LayoutProcessor : LayoutListener\"\n  },\n  \"LegendDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"id\": \"string\",\n      \"itemId\": \"any\",\n      \"seriesId\": \"string\",\n      \"enabled\": \"boolean\",\n      \"marker\": \"{ shape?: string | (new () => Marker); fill: string; stroke: string; fillOpacity: number; strokeOpacity: number; }\",\n      \"label\": \"{ text: string; }\"\n    }\n  },\n  \"SeriesOptionsTypes\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"NonNullable<AgChartOptions['series']>[number]\"\n  },\n  \"AxesOptionsTypes\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"NonNullable<AgCartesianChartOptions['axes']>[number]\"\n  },\n  \"PreparationContext\": {\n    \"meta\": {},\n    \"type\": { \"colourIndex\": \"number\", \"palette\": \"AgChartThemePalette\" }\n  },\n  \"SeriesOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"AgCartesianSeriesOptions | AgPolarSeriesOptions | AgHierarchySeriesOptions\"\n  },\n  \"ReduceConfig\": {\n    \"meta\": { \"typeParams\": [\"T\"] },\n    \"type\": {\n      \"outputProp\": \"string\",\n      \"reducer\": \"(r: T, n: any, idx: number, length: number) => T\",\n      \"start\": \"T\",\n      \"seriesType?\": \"string[]\"\n    }\n  },\n  \"ThemeMap\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{[key in AgChartThemeName | 'undefined' | 'null']?: () => ChartTheme}\"\n  },\n  \"Transforms\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\n        \"Source\",\n        \"Result extends {\\n    [R in keyof Source]?: any;\\n}\",\n        \"Keys extends keyof Source & keyof Result = keyof Source & keyof Result\"\n      ]\n    },\n    \"type\": \"{[Property in Keys]: (p: Source[Property], src: Source) => Result[Property]}\"\n  },\n  \"SeriesTypes\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"NonNullable<AgChartOptions['series']>[number]\"\n  },\n  \"SeriesType\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"T extends SeriesTypes['type']\"]\n    },\n    \"type\": \"T extends 'area' ? AgAreaSeriesOptions : T extends 'bar' ? AgBarSeriesOptions : T extends 'column' ? AgBarSeriesOptions : T extends 'histogram' ? AgHistogramSeriesOptions : T extends 'line' ? AgLineSeriesOptions : T extends 'pie' ? AgPieSeriesOptions : T extends 'scatter' ? AgScatterSeriesOptions : T extends 'treemap' ? AgTreemapSeriesOptions : never\"\n  },\n  \"MarkerPathMove\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ x: number; y: number; t?: 'move'; }\"\n  },\n  \"Offset\": {\n    \"meta\": {},\n    \"type\": { \"offsetX\": \"number\", \"offsetY\": \"number\" }\n  },\n  \"FillSelectionDatum\": {\n    \"meta\": {},\n    \"type\": { \"itemId\": \"string\", \"points\": \"{ x: number; y: number; }[]\" }\n  },\n  \"StrokeSelectionDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"yValues\": \"(number | undefined)[]\",\n      \"itemId\": \"string\",\n      \"points\": \"{ x: number; y: number; }[]\"\n    }\n  },\n  \"MarkerSelectionDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"index\": \"number\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"yValue\": \"number\",\n      \"cumulativeValue\": \"number\",\n      \"xKey\": \"string\",\n      \"yKey\": \"string\"\n    }\n  },\n  \"LabelSelectionDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"index\": \"number\",\n      \"itemId\": \"any\",\n      \"point\": \"Readonly<Point>\",\n      \"label?\": \"{ readonly text: string; readonly fontStyle?: FontStyle; readonly fontWeight?: FontWeight; readonly fontSize: number; readonly fontFamily: string; readonly textAlign: CanvasTextAlign; readonly textBaseline: CanvasTextBaseline; readonly fill: string; }\"\n    }\n  },\n  \"CumulativeValue\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ left: number; right: number; }\"\n  },\n  \"AreaSeriesTag\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Fill\", \"Stroke\", \"Marker\", \"Label\"],\n    \"docs\": [null, null, null, null]\n  },\n  \"AreaSeriesNodeDataContext\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"SeriesNodeDataContext<MarkerSelectionDatum, LabelSelectionDatum> & { fillSelectionData: FillSelectionDatum; strokeSelectionData: StrokeSelectionDatum; }\"\n  },\n  \"BarNodeDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"index\": \"number\",\n      \"yValue\": \"number\",\n      \"cumulativeValue\": \"number\",\n      \"width\": \"number\",\n      \"height\": \"number\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"colorIndex\": \"number\",\n      \"strokeWidth\": \"number\",\n      \"label?\": \"Readonly<Point> & { readonly text: string; readonly fontStyle?: FontStyle; readonly fontWeight?: FontWeight; readonly fontSize: number; readonly fontFamily: string; readonly textAlign: CanvasTextAlign; readonly textBaseline: CanvasTextBaseline; readonly fill: string; }\",\n      \"xKey\": \"string\",\n      \"yKey\": \"string\",\n      \"x\": \"number\",\n      \"y\": \"number\",\n      \"series\": \"Series<any>\",\n      \"itemId?\": \"any\",\n      \"datum\": \"any\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"BarSeriesNodeTag\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Bar\", \"Label\"],\n    \"docs\": [null, null]\n  },\n  \"NodeDataSelection\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\n        \"N extends Node\",\n        \"ContextType extends SeriesNodeDataContext\"\n      ]\n    },\n    \"type\": \"Selection<N, ContextType['nodeData'][number]>\"\n  },\n  \"LabelDataSelection\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\n        \"N extends Node\",\n        \"ContextType extends SeriesNodeDataContext\"\n      ]\n    },\n    \"type\": \"Selection<N, ContextType['labelData'][number]>\"\n  },\n  \"CartesianSeriesNodeDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"xKey\": \"string\",\n      \"yKey\": \"string\",\n      \"series\": \"Series<any>\",\n      \"itemId?\": \"any\",\n      \"datum\": \"any\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"SubGroup\": {\n    \"meta\": {\n      \"typeParams\": [\n        \"C extends SeriesNodeDataContext\",\n        \"SceneNodeType extends Node\"\n      ]\n    },\n    \"type\": {\n      \"paths\": \"Path[]\",\n      \"dataNodeGroup\": \"Group\",\n      \"labelGroup\": \"Group\",\n      \"markerGroup?\": \"Group\",\n      \"datumSelection\": \"NodeDataSelection<SceneNodeType, C>\",\n      \"labelSelection\": \"LabelDataSelection<Text, C>\",\n      \"markerSelection?\": \"NodeDataSelection<Marker, C>\"\n    }\n  },\n  \"SeriesOpts\": {\n    \"meta\": {},\n    \"type\": {\n      \"pathsPerSeries\": \"number\",\n      \"pathsZIndexSubOrderOffset\": \"number[]\",\n      \"hasMarkers\": \"boolean\",\n      \"renderLayerPerSubSeries\": \"boolean\"\n    }\n  },\n  \"HistogramSeriesNodeTag\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Bin\", \"Label\"],\n    \"docs\": [null, null]\n  },\n  \"HistogramNodeDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"x\": \"number\",\n      \"y\": \"number\",\n      \"width\": \"number\",\n      \"height\": \"number\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth\": \"number\",\n      \"aggregatedValue\": \"number\",\n      \"domain\": \"[ number, number ]\",\n      \"label?\": \"{ readonly text: string; readonly x: number; readonly y: number; readonly fontStyle?: FontStyle; readonly fontWeight?: FontWeight; readonly fontSize: number; readonly fontFamily: string; readonly fill: string; }\",\n      \"xKey\": \"string\",\n      \"yKey\": \"string\",\n      \"series\": \"Series<any>\",\n      \"itemId?\": \"any\",\n      \"datum\": \"any\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"HistogramAggregation\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"NonNullable<AgHistogramSeriesOptions['aggregation']>\"\n  },\n  \"AggregationFunction\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(bin: HistogramBin, yKey: string) => number\"\n  },\n  \"LineNodeDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"point\": \"SeriesNodeDatum['point'] & { readonly moveTo: boolean; }\",\n      \"label?\": \"{ readonly text: string; readonly fontStyle?: FontStyle; readonly fontWeight?: FontWeight; readonly fontSize: number; readonly fontFamily: string; readonly textAlign: CanvasTextAlign; readonly textBaseline: CanvasTextBaseline; readonly fill: string; }\",\n      \"xKey\": \"string\",\n      \"yKey\": \"string\",\n      \"series\": \"Series<any>\",\n      \"itemId?\": \"any\",\n      \"datum\": \"any\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"PointDatum\": {\n    \"meta\": {},\n    \"type\": { \"xDatum\": \"any\", \"yDatum\": \"any\", \"datum\": \"any\" }\n  },\n  \"LineContext\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"SeriesNodeDataContext<LineNodeDatum>\"\n  },\n  \"ScatterNodeDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"label\": \"MeasuredLabel\",\n      \"xKey\": \"string\",\n      \"yKey\": \"string\",\n      \"series\": \"Series<any>\",\n      \"itemId?\": \"any\",\n      \"datum\": \"any\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"TreeDatum\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ [prop: string]: any; children?: TreeDatum[]; }\"\n  },\n  \"TreemapNodeDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"datum\": \"TreeDatum\",\n      \"value\": \"number\",\n      \"depth\": \"number\",\n      \"label\": \"string\",\n      \"fill\": \"string\",\n      \"parent?\": \"TreemapNodeDatum\",\n      \"isLeaf\": \"boolean\",\n      \"children\": \"TreemapNodeDatum[]\",\n      \"series\": \"Series<any>\",\n      \"itemId?\": \"any\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"TextNodeTag\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Name\", \"Value\"],\n    \"docs\": [null, null]\n  },\n  \"TextMeta\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ text: string; style: Label; x: number; y: number; hAlign: CanvasTextAlign; vAlign: CanvasTextBaseline; }\"\n  },\n  \"LabelMeta\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ label?: TextMeta; value?: TextMeta; }\"\n  },\n  \"PieNodeDatum\": {\n    \"meta\": {},\n    \"type\": {\n      \"index\": \"number\",\n      \"radius\": \"number\",\n      \"startAngle\": \"number\",\n      \"endAngle\": \"number\",\n      \"midAngle\": \"number\",\n      \"midCos\": \"number\",\n      \"midSin\": \"number\",\n      \"calloutLabel?\": \"{ readonly text: string; readonly textAlign: CanvasTextAlign; readonly textBaseline: CanvasTextBaseline; hidden: boolean; collisionTextAlign?: CanvasTextAlign; collisionOffsetY: number; box?: BBox; }\",\n      \"sectorLabel?\": \"{ readonly text: string; }\",\n      \"sectorFormat\": \"AgPieSeriesFormat\",\n      \"series\": \"Series<any>\",\n      \"itemId?\": \"any\",\n      \"datum\": \"any\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"PieNodeTag\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Sector\", \"Callout\", \"Label\"],\n    \"docs\": [null, null, null]\n  },\n  \"SeriesNodeDatum\": {\n    \"meta\": {\n      \"doc\": \"/** Processed series datum used in node selections,\\n * contains information used to render pie sectors, bars, markers, etc.\\n */\"\n    },\n    \"type\": {\n      \"series\": \"Series<any>\",\n      \"itemId?\": \"any\",\n      \"datum\": \"any\",\n      \"point?\": \"Readonly<SizedPoint>\",\n      \"nodeMidPoint?\": \"Readonly<Point>\"\n    }\n  },\n  \"SeriesNodePickMode\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"EXACT_SHAPE_MATCH\",\n      \"NEAREST_BY_MAIN_AXIS_FIRST\",\n      \"NEAREST_BY_MAIN_CATEGORY_AXIS_FIRST\",\n      \"NEAREST_NODE\"\n    ],\n    \"docs\": [\n      \"/** Pick matches based upon pick coordinates being inside a matching shape/marker. */\",\n      \"/** Pick matches by nearest category/X-axis value, then distance within that category/X-value. */\",\n      \"/** Pick matches by nearest category value, then distance within that category. */\",\n      \"/** Pick matches based upon distance to ideal position */\"\n    ]\n  },\n  \"SeriesNodePickMatch\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ datum: SeriesNodeDatum; distance: number; }\"\n  },\n  \"SeriesNodeDataContext\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"S = SeriesNodeDatum\", \"L = S\"]\n    },\n    \"type\": \"{ itemId: string; nodeData: S[]; labelData: L[]; }\"\n  },\n  \"TestCase\": {\n    \"meta\": {},\n    \"type\": {\n      \"options\": \"AgChartOptions\",\n      \"assertions\": \"(chart: AgChartInstance) => Promise<void>\",\n      \"extraScreenshotActions?\": \"(chart: AgChartInstance) => Promise<void>\"\n    }\n  },\n  \"CartesianTestCase\": {\n    \"meta\": {},\n    \"type\": {\n      \"options\": \"AgCartesianChartOptions\",\n      \"assertions\": \"(chart: AgChartInstance) => Promise<void>\",\n      \"extraScreenshotActions?\": \"(chart: AgChartInstance) => Promise<void>\"\n    }\n  },\n  \"PolarTestCase\": {\n    \"meta\": {},\n    \"type\": {\n      \"options\": \"AgPolarChartOptions\",\n      \"assertions\": \"(chart: AgChartInstance) => Promise<void>\",\n      \"extraScreenshotActions?\": \"(chart: AgChartInstance) => Promise<void>\"\n    }\n  },\n  \"ChartThemeDefaults\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ cartesian: AgCartesianThemeOptions; groupedCategory: AgCartesianThemeOptions; polar: AgPolarThemeOptions; hierarchy: AgHierarchyThemeOptions; } & { [key in keyof AgCartesianSeriesTheme]?: AgCartesianThemeOptions; } & { [key in keyof AgPolarSeriesTheme]?: AgPolarThemeOptions; } & { [key in keyof AgHierarchySeriesTheme]?: AgHierarchyThemeOptions; }\"\n  },\n  \"ChartThemeParams\": {\n    \"meta\": {},\n    \"type\": { \"seriesDefaults\": \"any\", \"defaultFontFamily\": \"string\" }\n  },\n  \"DarkThemeParams\": { \"meta\": {}, \"type\": { \"seriesLabelDefaults\": \"any\" } },\n  \"EventTarget\": { \"meta\": {}, \"type\": { \"classList\": \"DOMTokenList\" } },\n  \"TooltipMeta\": {\n    \"meta\": {},\n    \"type\": {\n      \"pageX\": \"number\",\n      \"pageY\": \"number\",\n      \"offsetX\": \"number\",\n      \"offsetY\": \"number\",\n      \"position?\": \"{ xOffset?: number; yOffset?: number; }\",\n      \"enableInteraction?\": \"boolean\",\n      \"event\": \"Event | InteractionEvent<any>\"\n    }\n  },\n  \"TooltipPositionType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'pointer' | 'node'\"\n  },\n  \"Tick\": { \"meta\": {}, \"type\": { \"labels\": \"string[]\" } },\n  \"ScaleClampParams\": {\n    \"meta\": {},\n    \"type\": { \"strict\": \"boolean\" },\n    \"docs\": {\n      \"strict\": \"/** If `true` the values outside of the domain will become `NaN`.\\n     * If `false` such values will be clamped to the domain edges.\\n     */\"\n    }\n  },\n  \"ScaleTickFormatParams\": {\n    \"meta\": {},\n    \"type\": { \"ticks?\": \"any[]\", \"specifier?\": \"any\" }\n  },\n  \"Scale\": {\n    \"meta\": { \"typeParams\": [\"D\", \"R\", \"I = number\"] },\n    \"type\": {\n      \"domain\": \"D[]\",\n      \"range\": \"R[]\",\n      \"nice?\": \"boolean\",\n      \"tickCount?\": \"number\",\n      \"interval?\": \"I\",\n      \"convert(value: D, params?: ScaleClampParams)\": \"R\",\n      \"invert?(value: R)\": \"D\",\n      \"ticks?()\": \"D[]\",\n      \"tickFormat?(params: ScaleTickFormatParams)\": \"(x: any) => string\",\n      \"bandwidth?\": \"number\"\n    }\n  },\n  \"DefaultTimeFormats\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"MILLISECOND\",\n      \"SECOND\",\n      \"MINUTE\",\n      \"HOUR\",\n      \"WEEK_DAY\",\n      \"SHORT_MONTH\",\n      \"MONTH\",\n      \"SHORT_YEAR\",\n      \"YEAR\"\n    ],\n    \"docs\": [null, null, null, null, null, null, null, null, null]\n  },\n  \"Padding\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ top: number; left: number; right: number; bottom: number; }\"\n  },\n  \"RedrawType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"NONE\", \"TRIVIAL\", \"MINOR\", \"MAJOR\"],\n    \"docs\": [null, null, null, null]\n  },\n  \"SceneChangeDetectionOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ redraw?: RedrawType; type?: 'normal' | 'transform' | 'path' | 'font'; convertor?: (o: any) => any; changeCb?: (o: any) => any; checkDirtyOnAssignment?: boolean; }\"\n  },\n  \"GradientColorStop\": {\n    \"meta\": {},\n    \"type\": { \"offset\": \"number\", \"color\": \"string\" }\n  },\n  \"PointerEvents\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"All\", \"None\"],\n    \"docs\": [null, null]\n  },\n  \"RenderContext\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D; forceRender: boolean; resized: boolean; clipBBox?: BBox; stats?: { nodesRendered: number; nodesSkipped: number; layersRendered: number; layersSkipped: number; }; debugNodes: Record<string, Node>; }\"\n  },\n  \"Layer\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"HdpiCanvas | HdpiOffscreenCanvas\"\n  },\n  \"ZIndexSubOrder\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"[ LiteralOrFn<string | number>, LiteralOrFn<number> ]\"\n  },\n  \"LayerManager\": {\n    \"meta\": {},\n    \"type\": {\n      \"debug\": \"SceneDebugOptions\",\n      \"canvas\": \"Layer\",\n      \"markDirty()\": \"void\",\n      \"addLayer(opts: { zIndex?: number; zIndexSubOrder?: ZIndexSubOrder; name?: string; getComputedOpacity: () => number; getVisibility: () => boolean; })\": \"Layer | undefined\",\n      \"moveLayer(canvas: Layer, zIndex: number, zIndexSubOrder?: ZIndexSubOrder)\": \"void\",\n      \"removeLayer(canvas: Layer)\": \"void\"\n    }\n  },\n  \"Command\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Move\", \"Line\", \"Arc\", \"Curve\", \"ClosePath\"],\n    \"docs\": [null, null, null, null, null]\n  },\n  \"Point\": { \"meta\": {}, \"type\": { \"x\": \"number\", \"y\": \"number\" } },\n  \"SizedPoint\": {\n    \"meta\": {},\n    \"type\": { \"size\": \"number\", \"x\": \"number\", \"y\": \"number\" }\n  },\n  \"SceneOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"document\": \"Document\",\n      \"mode\": \"'simple' | 'composite' | 'dom-composite' | 'adv-composite'\"\n    }\n  },\n  \"SceneLayer\": {\n    \"meta\": {},\n    \"type\": {\n      \"id\": \"number\",\n      \"name?\": \"string\",\n      \"zIndex\": \"number\",\n      \"zIndexSubOrder?\": \"[ string, number ]\",\n      \"canvas\": \"HdpiOffscreenCanvas | HdpiCanvas\",\n      \"getComputedOpacity\": \"() => number\",\n      \"getVisibility\": \"() => boolean\"\n    }\n  },\n  \"SceneDebugOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"stats\": \"false | 'basic' | 'detailed'\",\n      \"dirtyTree\": \"boolean\",\n      \"renderBoundingBoxes\": \"boolean\",\n      \"consoleLog\": \"boolean\",\n      \"sceneNodeHighlight\": \"(string | RegExp)[]\"\n    }\n  },\n  \"NodeConstructor\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TNode extends Node\"] },\n    \"type\": \"new () => TNode\"\n  },\n  \"NodeFactory\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"TNode extends Node\", \"TDatum\"]\n    },\n    \"type\": \"(datum: TDatum) => TNode\"\n  },\n  \"NodeConstructorOrFactory\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"TNode extends Node\", \"TDatum\"]\n    },\n    \"type\": \"NodeConstructor<TNode> | NodeFactory<TNode, TDatum>\"\n  },\n  \"ArcType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Open\", \"Chord\", \"Round\"],\n    \"docs\": [null, null, null]\n  },\n  \"ShapeLineCap\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'butt' | 'round' | 'square'\"\n  },\n  \"ShapeLineJoin\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'round' | 'bevel' | 'miter'\"\n  },\n  \"CanvasContext\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"CanvasFillStrokeStyles & CanvasCompositing & CanvasShadowStyles & CanvasPathDrawingStyles & CanvasDrawPath\"\n  },\n  \"Comparator\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"(a: T, b: T) => number\"\n  },\n  \"LiteralOrFn\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"T | (() => T)\"\n  },\n  \"TransformFn\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(target: any, key: string | symbol, value: any, oldValue?: any) => any | typeof BREAK_TRANSFORM_CHAIN\"\n  },\n  \"TransformConfig\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ setters: TransformFn[]; getters: TransformFn[]; }\"\n  },\n  \"LiteralProperties\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'shape' | 'data'\"\n  },\n  \"SkippableProperties\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'axes' | 'series' | 'container' | 'customChartThemes'\"\n  },\n  \"IsLiteralProperty\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\", \"K extends keyof T\"] },\n    \"type\": \"K extends LiteralProperties ? true : T[K] extends Array<any> ? true : false\"\n  },\n  \"IsSkippableProperty\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\", \"K extends keyof T\"] },\n    \"type\": \"K extends SkippableProperties ? true : false\"\n  },\n  \"JsonMergeOptions\": {\n    \"meta\": {},\n    \"type\": { \"avoidDeepClone\": \"string[]\" },\n    \"docs\": {\n      \"avoidDeepClone\": \"/** Contains a list of properties where deep clones should be avoided\\n     */\"\n    }\n  },\n  \"Classification\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'array' | 'object' | 'primitive'\"\n  },\n  \"MeasuredLabel\": {\n    \"meta\": {},\n    \"type\": { \"text\": \"string\", \"width\": \"number\", \"height\": \"number\" }\n  },\n  \"PlacedLabel\": {\n    \"meta\": { \"typeParams\": [\"PLD = PointLabelDatum\"] },\n    \"type\": {\n      \"index\": \"number\",\n      \"datum\": \"PLD\",\n      \"text\": \"string\",\n      \"width\": \"number\",\n      \"height\": \"number\",\n      \"x\": \"number\",\n      \"y\": \"number\"\n    }\n  },\n  \"PointLabelDatum\": {\n    \"meta\": {},\n    \"type\": { \"point\": \"Readonly<SizedPoint>\", \"label\": \"MeasuredLabel\" }\n  },\n  \"Bounds\": {\n    \"meta\": {},\n    \"type\": {\n      \"width\": \"number\",\n      \"height\": \"number\",\n      \"x\": \"number\",\n      \"y\": \"number\"\n    }\n  },\n  \"Listener\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"H extends Function\"] },\n    \"type\": \"{ symbol?: Symbol; handler: H; }\"\n  },\n  \"ModuleContext\": {\n    \"meta\": {},\n    \"type\": {\n      \"scene\": \"Scene\",\n      \"interactionManager\": \"InteractionManager\",\n      \"highlightManager\": \"HighlightManager\",\n      \"cursorManager\": \"CursorManager\",\n      \"zoomManager\": \"ZoomManager\",\n      \"tooltipManager\": \"TooltipManager\",\n      \"layoutService\": \"Pick<LayoutService, 'addListener' | 'removeListener'>\",\n      \"updateService\": \"UpdateService\"\n    }\n  },\n  \"ModuleContextWithParent\": {\n    \"meta\": { \"typeParams\": [\"P\"] },\n    \"type\": {\n      \"parent\": \"P\",\n      \"scene\": \"Scene\",\n      \"interactionManager\": \"InteractionManager\",\n      \"highlightManager\": \"HighlightManager\",\n      \"cursorManager\": \"CursorManager\",\n      \"zoomManager\": \"ZoomManager\",\n      \"tooltipManager\": \"TooltipManager\",\n      \"layoutService\": \"Pick<LayoutService, 'addListener' | 'removeListener'>\",\n      \"updateService\": \"UpdateService\"\n    }\n  },\n  \"AxisContext\": {\n    \"meta\": {},\n    \"type\": {\n      \"axisId\": \"string\",\n      \"position\": \"AgCartesianAxisPosition\",\n      \"direction\": \"'x' | 'y'\",\n      \"continuous\": \"boolean\",\n      \"keys\": \"() => string[]\",\n      \"scaleValueFormatter\": \"(specifier: string) => ((x: any) => string) | undefined\",\n      \"scaleBandwidth\": \"() => number\",\n      \"scaleConvert(val: any)\": \"number\",\n      \"scaleInvert(position: number)\": \"any\"\n    }\n  },\n  \"SeriesFactory\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"() => Series<any>\"\n  },\n  \"SeriesContext\": {\n    \"meta\": {},\n    \"type\": {\n      \"seriesFactory\": \"{ add(factory: SeriesFactory): void; delete(): void; }\",\n      \"defaults\": \"{ add(defaultOptions: any): void; delete(): void; }\",\n      \"themes\": \"{ chartTheme: { add(fn: (params: ChartThemeParams) => any): void; delete(): void; }; darkTheme: { add(fn: (params: DarkThemeParams) => any): void; delete(): void; }; }\"\n    }\n  },\n  \"ModuleInstance\": {\n    \"meta\": {},\n    \"type\": { \"update()\": \"void\", \"destroy()\": \"void\" }\n  },\n  \"ModuleInstanceMeta\": {\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] },\n    \"type\": { \"instance\": \"M\" }\n  },\n  \"BaseModule\": {\n    \"meta\": {},\n    \"type\": {\n      \"optionsKey\": \"string\",\n      \"packageType\": \"'community' | 'enterprise'\",\n      \"chartTypes\": \"('cartesian' | 'polar' | 'hierarchy')[]\"\n    }\n  },\n  \"RootModule\": {\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] },\n    \"type\": {\n      \"type\": \"'root'\",\n      \"initialiseModule(ctx: ModuleContext)\": \"ModuleInstanceMeta<M>\",\n      \"optionsKey\": \"string\",\n      \"packageType\": \"'community' | 'enterprise'\",\n      \"chartTypes\": \"('cartesian' | 'polar' | 'hierarchy')[]\"\n    }\n  },\n  \"AxisModule\": {\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] },\n    \"type\": {\n      \"type\": \"'axis'\",\n      \"initialiseModule(ctx: ModuleContextWithParent<AxisContext>)\": \"ModuleInstanceMeta<M>\",\n      \"optionsKey\": \"string\",\n      \"packageType\": \"'community' | 'enterprise'\",\n      \"chartTypes\": \"('cartesian' | 'polar' | 'hierarchy')[]\"\n    }\n  },\n  \"SeriesModule\": {\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] },\n    \"type\": {\n      \"type\": \"'series'\",\n      \"initialiseModule(ctx: SeriesContext)\": \"ModuleInstanceMeta<M>\",\n      \"optionsKey\": \"string\",\n      \"packageType\": \"'community' | 'enterprise'\",\n      \"chartTypes\": \"('cartesian' | 'polar' | 'hierarchy')[]\"\n    }\n  },\n  \"Module\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"]\n    },\n    \"type\": \"RootModule<M> | AxisModule<M> | SeriesModule<M>\"\n  },\n  \"FormatterOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"prefix?\": \"string\",\n      \"fill?\": \"string\",\n      \"align?\": \"string\",\n      \"sign?\": \"string\",\n      \"symbol?\": \"string\",\n      \"zero?\": \"string\",\n      \"width?\": \"number\",\n      \"comma?\": \"string\",\n      \"precision?\": \"number\",\n      \"trim?\": \"boolean\",\n      \"type?\": \"string\",\n      \"suffix?\": \"string\"\n    }\n  },\n  \"TypedEvent\": { \"meta\": {}, \"type\": { \"type\": \"string\" } },\n  \"TypedEventListener\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(event: TypedEvent) => any\"\n  },\n  \"Callback\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(params: { count: number; }) => Promise<void> | void\"\n  },\n  \"SectorBoundaries\": {\n    \"meta\": {},\n    \"type\": {\n      \"startAngle\": \"number\",\n      \"endAngle\": \"number\",\n      \"innerRadius\": \"number\",\n      \"outerRadius\": \"number\"\n    }\n  },\n  \"LineCoordinates\": {\n    \"meta\": {},\n    \"type\": {\n      \"start\": \"{ x: number; y: number; }\",\n      \"end\": \"{ x: number; y: number; }\"\n    }\n  },\n  \"OnSizeChange\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(size: Size, element: HTMLElement) => void\"\n  },\n  \"Entry\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ cb: OnSizeChange; size?: Size; }\"\n  },\n  \"NumberFormat\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ locales?: string | string[]; options?: any; }\"\n  },\n  \"DateFormat\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"string\" },\n  \"ValueFormat\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"NumberFormat | DateFormat\"\n  },\n  \"EncodeFn\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(date: Date) => number\"\n  },\n  \"DecodeFn\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(encoded: number) => Date\"\n  },\n  \"RangeFn\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(start: Date, end: Date) => () => void\"\n  },\n  \"CountableTimeIntervalOptions\": {\n    \"meta\": {},\n    \"type\": { \"snapTo?\": \"Date | number | 'start' | 'end'\" }\n  },\n  \"FormattingFn\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(dateTime: Date, paddingChar?: string) => string\"\n  },\n  \"PaddingString\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"' ' | '0' | ''\"\n  },\n  \"FormattingString\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"string\" },\n  \"LiteralString\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"string\" },\n  \"ValidationContext\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ target: any; }\"\n  },\n  \"ValidatePredicate\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ (v: any, ctx: ValidationContext): boolean; message?: string; }\"\n  }\n}\n"}},{"relativePath":"charts-api/doc-interfaces.AUTO.json","internal":{"content":"{\n  \"_config_\": {},\n  \"Tags\": {},\n  \"TickCount\": { \"meta\": { \"typeParams\": [\"S\"] } },\n  \"TickInterval\": { \"meta\": { \"typeParams\": [\"S\"] } },\n  \"Size\": {},\n  \"OffscreenCanvasRenderingContext2D\": {},\n  \"OffscreenCanvas\": {},\n  \"FontStyle\": {},\n  \"FontWeight\": {},\n  \"FontFamily\": {},\n  \"FontSize\": {},\n  \"AgChartThemeName\": {},\n  \"MarkerShape\": {},\n  \"CssColor\": {},\n  \"Opacity\": {},\n  \"PixelSize\": {},\n  \"Ratio\": {},\n  \"DataValue\": {},\n  \"AgChartInteractionRange\": {},\n  \"AgChartThemePalette\": {\n    \"fills\": {\n      \"description\": \"/** The array of fills to be used. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"strokes\": {\n      \"description\": \"/** The array of strokes to be used. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    }\n  },\n  \"AgChartThemeOptions\": {\n    \"palette\": {\n      \"description\": \"/** The palette to use. If specified, this replaces the palette from the base theme. */\",\n      \"type\": { \"returnType\": \"AgChartThemePalette\", \"optional\": true }\n    },\n    \"overrides\": {\n      \"description\": \"/** Configuration from this object is merged over the defaults specified in the base theme. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    }\n  },\n  \"AgChartTheme\": {\n    \"baseTheme\": {\n      \"description\": \"/** The name of the theme to base your theme on. Your custom theme will inherit all of the configuration from\\n     * the base theme, allowing you to override just the settings you wish to change using the `overrides` config (see\\n     * below).\\n     */\",\n      \"type\": { \"returnType\": \"AgChartThemeName\", \"optional\": true }\n    },\n    \"palette\": {\n      \"description\": \"/** The palette to use. If specified, this replaces the palette from the base theme. */\",\n      \"type\": { \"returnType\": \"AgChartThemePalette\", \"optional\": true }\n    },\n    \"overrides\": {\n      \"description\": \"/** Configuration from this object is merged over the defaults specified in the base theme. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    }\n  },\n  \"AgChartThemeOverrides\": {\n    \"cartesian\": {\n      \"description\": \"/** Specifies defaults for all cartesian charts (used for bar, column, histogram, line, scatter and area series) */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianThemeOptions<AgCartesianSeriesTheme>\",\n        \"optional\": true\n      }\n    },\n    \"column\": {\n      \"description\": \"/** Specifies defaults for column charts. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianThemeOptions<AgBarSeriesOptions>\",\n        \"optional\": true\n      }\n    },\n    \"bar\": {\n      \"description\": \"/** Specifies defaults for bar charts. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianThemeOptions<AgBarSeriesOptions>\",\n        \"optional\": true\n      }\n    },\n    \"line\": {\n      \"description\": \"/** Specifies defaults for line charts. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianThemeOptions<AgLineSeriesOptions>\",\n        \"optional\": true\n      }\n    },\n    \"area\": {\n      \"description\": \"/** Specifies defaults for area charts. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianThemeOptions<AgAreaSeriesOptions>\",\n        \"optional\": true\n      }\n    },\n    \"scatter\": {\n      \"description\": \"/** Specifies defaults for scatter/bubble charts. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianThemeOptions<AgScatterSeriesOptions>\",\n        \"optional\": true\n      }\n    },\n    \"histogram\": {\n      \"description\": \"/** Specifies defaults for histogram charts. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianThemeOptions<AgHistogramSeriesOptions>\",\n        \"optional\": true\n      }\n    },\n    \"polar\": {\n      \"description\": \"/** Specifies defaults for all polar charts (used for pie series) */\",\n      \"type\": {\n        \"returnType\": \"AgPolarThemeOptions<AgPolarSeriesTheme>\",\n        \"optional\": true\n      }\n    },\n    \"pie\": {\n      \"description\": \"/** Specifies defaults for pie/doughnut charts. */\",\n      \"type\": {\n        \"returnType\": \"AgPolarThemeOptions<AgPieSeriesOptions>\",\n        \"optional\": true\n      }\n    },\n    \"hierarchy\": {\n      \"description\": \"/** Specifies defaults for all hierarchy charts (used for treemap series) */\",\n      \"type\": {\n        \"returnType\": \"AgHierarchyThemeOptions<AgHierarchySeriesTheme>\",\n        \"optional\": true\n      }\n    },\n    \"treemap\": {\n      \"description\": \"/** Specifies defaults for all treemap charts. */\",\n      \"type\": {\n        \"returnType\": \"AgHierarchyThemeOptions<AgHierarchySeriesOptions>\",\n        \"optional\": true\n      }\n    },\n    \"common\": {\n      \"description\": \"/** Specifies defaults for all chart types. Be careful to only use properties that apply to all chart types here. For example, don't specify `navigator` configuration here as navigators are only available in cartesian charts. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    }\n  },\n  \"AgCartesianAxisThemeSpecialOptions\": {},\n  \"AgCartesianAxisThemeOptions\": {\n    \"top\": {\n      \"description\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"type\": {\n        \"returnType\": \"Omit<T, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"right\": {\n      \"description\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<T, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"bottom\": {\n      \"description\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<T, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"left\": {\n      \"description\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<T, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"T\"] }\n  },\n  \"AgCartesianThemeOptions\": {\n    \"axes\": {\n      \"description\": \"/** Axis configurations. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxesTheme\", \"optional\": true }\n    },\n    \"series\": {\n      \"description\": \"/** Series configurations. */\",\n      \"type\": { \"returnType\": \"S\", \"optional\": true }\n    },\n    \"navigator\": {\n      \"description\": \"/** Configuration for the chart navigator. */\",\n      \"type\": { \"returnType\": \"AgNavigatorOptions\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"S = AgCartesianSeriesTheme\"] },\n    \"data\": {\n      \"description\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"container\": {\n      \"description\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"autoSize\": {\n      \"description\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding shown around the chart. */\",\n      \"type\": { \"returnType\": \"AgChartPaddingOptions\", \"optional\": true }\n    },\n    \"seriesAreaPadding\": {\n      \"description\": \"/** Configuration for the padding around the series area. */\",\n      \"type\": { \"returnType\": \"AgSeriesAreaPaddingOptions\", \"optional\": true }\n    },\n    \"background\": {\n      \"description\": \"/** Configuration for the background shown behind the chart. */\",\n      \"type\": { \"returnType\": \"AgChartBackground\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartCaptionOptions\", \"optional\": true }\n    },\n    \"subtitle\": {\n      \"description\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"type\": { \"returnType\": \"AgChartSubtitleOptions\", \"optional\": true }\n    },\n    \"footnote\": {\n      \"description\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartFooterOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"type\": { \"returnType\": \"AgChartTooltipOptions\", \"optional\": true }\n    },\n    \"legend\": {\n      \"description\": \"/** Configuration for the chart legend. */\",\n      \"type\": { \"returnType\": \"AgChartLegendOptions\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgBaseChartListeners\", \"optional\": true }\n    },\n    \"highlight\": {\n      \"description\": \"/** Configuration for the chart highlighting. */\",\n      \"type\": { \"returnType\": \"AgChartHighlightOptions\", \"optional\": true }\n    },\n    \"theme\": {\n      \"description\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"type\": { \"returnType\": \"string | AgChartTheme\", \"optional\": true }\n    },\n    \"overlays\": {\n      \"description\": \"/** HTML overlays */\",\n      \"type\": { \"returnType\": \"AgChartOverlaysOptions\", \"optional\": true }\n    }\n  },\n  \"AgPolarThemeOptions\": {\n    \"series\": {\n      \"description\": \"/** Series configurations. */\",\n      \"type\": { \"returnType\": \"S\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"S = AgPolarSeriesTheme\"] },\n    \"data\": {\n      \"description\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"container\": {\n      \"description\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"autoSize\": {\n      \"description\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding shown around the chart. */\",\n      \"type\": { \"returnType\": \"AgChartPaddingOptions\", \"optional\": true }\n    },\n    \"seriesAreaPadding\": {\n      \"description\": \"/** Configuration for the padding around the series area. */\",\n      \"type\": { \"returnType\": \"AgSeriesAreaPaddingOptions\", \"optional\": true }\n    },\n    \"background\": {\n      \"description\": \"/** Configuration for the background shown behind the chart. */\",\n      \"type\": { \"returnType\": \"AgChartBackground\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartCaptionOptions\", \"optional\": true }\n    },\n    \"subtitle\": {\n      \"description\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"type\": { \"returnType\": \"AgChartSubtitleOptions\", \"optional\": true }\n    },\n    \"footnote\": {\n      \"description\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartFooterOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"type\": { \"returnType\": \"AgChartTooltipOptions\", \"optional\": true }\n    },\n    \"legend\": {\n      \"description\": \"/** Configuration for the chart legend. */\",\n      \"type\": { \"returnType\": \"AgChartLegendOptions\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgBaseChartListeners\", \"optional\": true }\n    },\n    \"highlight\": {\n      \"description\": \"/** Configuration for the chart highlighting. */\",\n      \"type\": { \"returnType\": \"AgChartHighlightOptions\", \"optional\": true }\n    },\n    \"theme\": {\n      \"description\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"type\": { \"returnType\": \"string | AgChartTheme\", \"optional\": true }\n    },\n    \"overlays\": {\n      \"description\": \"/** HTML overlays */\",\n      \"type\": { \"returnType\": \"AgChartOverlaysOptions\", \"optional\": true }\n    }\n  },\n  \"AgHierarchyThemeOptions\": {\n    \"series\": {\n      \"description\": \"/** Series configurations. */\",\n      \"type\": { \"returnType\": \"S\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"S = AgHierarchySeriesTheme\"] },\n    \"data\": {\n      \"description\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"container\": {\n      \"description\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"autoSize\": {\n      \"description\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding shown around the chart. */\",\n      \"type\": { \"returnType\": \"AgChartPaddingOptions\", \"optional\": true }\n    },\n    \"seriesAreaPadding\": {\n      \"description\": \"/** Configuration for the padding around the series area. */\",\n      \"type\": { \"returnType\": \"AgSeriesAreaPaddingOptions\", \"optional\": true }\n    },\n    \"background\": {\n      \"description\": \"/** Configuration for the background shown behind the chart. */\",\n      \"type\": { \"returnType\": \"AgChartBackground\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartCaptionOptions\", \"optional\": true }\n    },\n    \"subtitle\": {\n      \"description\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"type\": { \"returnType\": \"AgChartSubtitleOptions\", \"optional\": true }\n    },\n    \"footnote\": {\n      \"description\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartFooterOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"type\": { \"returnType\": \"AgChartTooltipOptions\", \"optional\": true }\n    },\n    \"legend\": {\n      \"description\": \"/** Configuration for the chart legend. */\",\n      \"type\": { \"returnType\": \"AgChartLegendOptions\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgBaseChartListeners\", \"optional\": true }\n    },\n    \"highlight\": {\n      \"description\": \"/** Configuration for the chart highlighting. */\",\n      \"type\": { \"returnType\": \"AgChartHighlightOptions\", \"optional\": true }\n    },\n    \"theme\": {\n      \"description\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"type\": { \"returnType\": \"string | AgChartTheme\", \"optional\": true }\n    },\n    \"overlays\": {\n      \"description\": \"/** HTML overlays */\",\n      \"type\": { \"returnType\": \"AgChartOverlaysOptions\", \"optional\": true }\n    }\n  },\n  \"AgCrossLineThemeOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show the cross line. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"value\": {\n      \"description\": \"/** The data value at which the line should be positioned. This property is used if the crossLine type is `line`. */\",\n      \"type\": { \"returnType\": \"DataValue\", \"optional\": true }\n    },\n    \"range\": {\n      \"description\": \"/** The range of values from the data used to display lines at a desired chart region. This property is only used for crossLine type `range`. */\",\n      \"type\": { \"returnType\": \"[DataValue, DataValue]\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The colour to use for the fill of the range. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the range. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the line stroke is rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the crossLine label. */\",\n      \"type\": { \"returnType\": \"AgCrossLineLabelOptions\", \"optional\": true }\n    }\n  },\n  \"AgCartesianAxesCrossLineThemeOptions\": {\n    \"crossLines\": {\n      \"type\": { \"returnType\": \"AgCrossLineThemeOptions\", \"optional\": true }\n    }\n  },\n  \"AgNumberAxisThemeOptions\": {\n    \"nice\": {\n      \"description\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"min\": {\n      \"description\": \"/** User override for the automatically determined min value (based on series data). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** User override for the automatically determined max value (based on series data). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisNumberTickOptions\", \"optional\": true }\n    },\n    \"top\": {\n      \"description\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgNumberAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"right\": {\n      \"description\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgNumberAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"bottom\": {\n      \"description\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgNumberAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"left\": {\n      \"description\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgNumberAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"crossLines\": {\n      \"type\": { \"returnType\": \"AgCrossLineThemeOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgLogAxisThemeOptions\": {\n    \"nice\": {\n      \"description\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"min\": {\n      \"description\": \"/** User override for the automatically determined min value (based on series data). This value can be any non-zero number less than the configured `max` value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** User override for the automatically determined max value (based on series data). This value can be any non-zero number more than the configured `min` value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"base\": {\n      \"description\": \"/** The base of the logarithm used. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisNumberTickOptions\", \"optional\": true }\n    },\n    \"top\": {\n      \"description\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgLogAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"right\": {\n      \"description\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgLogAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"bottom\": {\n      \"description\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgLogAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"left\": {\n      \"description\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgLogAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"crossLines\": {\n      \"type\": { \"returnType\": \"AgCrossLineThemeOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgCategoryAxisThemeOptions\": {\n    \"paddingInner\": {\n      \"description\": \"/** The size of the gap between the categories as a proportion, between 0 and 1. This value is a fraction of the “step”, which is the interval between the start of a band and the start of the next band.\\n     * Default: `0.2`\\n     */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"paddingOuter\": {\n      \"description\": \"/** The padding on the outside i.e. left and right of the first and last category. In association with `paddingInner`, this value can be between 0 and 1.\\n     * Default: `0.3`\\n     */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"groupPaddingInner\": {\n      \"description\": \"/** This property is for grouped column/bar series plotted on a category axis. It is a proportion between 0 and 1 which determines the size of the gap between the bars or columns within a single group along the axis.\\n     * Default: `0.2`\\n     */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisCategoryTickOptions\", \"optional\": true }\n    },\n    \"top\": {\n      \"description\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"right\": {\n      \"description\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"bottom\": {\n      \"description\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"left\": {\n      \"description\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"crossLines\": {\n      \"type\": { \"returnType\": \"AgCrossLineThemeOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgGroupedCategoryAxisThemeOptions\": {\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisCategoryTickOptions\", \"optional\": true }\n    },\n    \"top\": {\n      \"description\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgGroupedCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"right\": {\n      \"description\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgGroupedCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"bottom\": {\n      \"description\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgGroupedCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"left\": {\n      \"description\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgGroupedCategoryAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"crossLines\": {\n      \"type\": { \"returnType\": \"AgCrossLineThemeOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgTimeAxisThemeOptions\": {\n    \"nice\": {\n      \"description\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisTimeTickOptions\", \"optional\": true }\n    },\n    \"min\": {\n      \"description\": \"/** User override for the automatically determined min value (based on series data). */\",\n      \"type\": { \"returnType\": \"Date | number\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** User override for the automatically determined max value (based on series data). */\",\n      \"type\": { \"returnType\": \"Date | number\", \"optional\": true }\n    },\n    \"top\": {\n      \"description\": \"/** An object with axis theme overrides for the `top` positioned axes. Same configs apply here as one level above. For example, to rotate labels by 45 degrees in 'top' positioned axes one can use `top: { label: { rotation: 45 } } }`. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgTimeAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"right\": {\n      \"description\": \"/** An object with axis theme overrides for the `right` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgTimeAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"bottom\": {\n      \"description\": \"/** An object with axis theme overrides for the `bottom` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgTimeAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"left\": {\n      \"description\": \"/** An object with axis theme overrides for the `left` positioned axes. Same configs apply here as one level above. */\",\n      \"type\": {\n        \"returnType\": \"Omit<AgTimeAxisOptions, AgCartesianAxisThemeSpecialOptions>\",\n        \"optional\": true\n      }\n    },\n    \"crossLines\": {\n      \"type\": { \"returnType\": \"AgCrossLineThemeOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgCartesianAxesTheme\": {\n    \"number\": {\n      \"description\": \"/** This extends the common axis configuration with options specific to number axes. */\",\n      \"type\": { \"returnType\": \"AgNumberAxisThemeOptions\", \"optional\": true }\n    },\n    \"log\": {\n      \"description\": \"/** This extends the common axis configuration with options specific to number axes. */\",\n      \"type\": { \"returnType\": \"AgLogAxisThemeOptions\", \"optional\": true }\n    },\n    \"category\": {\n      \"description\": \"/** This extends the common axis configuration with options specific to category axes. */\",\n      \"type\": { \"returnType\": \"AgCategoryAxisThemeOptions\", \"optional\": true }\n    },\n    \"groupedCategory\": {\n      \"description\": \"/** This extends the common axis configuration with options specific to grouped category axes. Currently there are no additional options beyond the common configuration. */\",\n      \"type\": {\n        \"returnType\": \"AgGroupedCategoryAxisThemeOptions\",\n        \"optional\": true\n      }\n    },\n    \"time\": {\n      \"description\": \"/** This extends the common axis configuration with options specific to time axes. */\",\n      \"type\": { \"returnType\": \"AgTimeAxisThemeOptions\", \"optional\": true }\n    }\n  },\n  \"AgCartesianSeriesTheme\": {\n    \"line\": {\n      \"type\": { \"returnType\": \"AgLineSeriesOptions\", \"optional\": true }\n    },\n    \"scatter\": {\n      \"type\": { \"returnType\": \"AgScatterSeriesOptions\", \"optional\": true }\n    },\n    \"area\": {\n      \"type\": { \"returnType\": \"AgAreaSeriesOptions\", \"optional\": true }\n    },\n    \"bar\": { \"type\": { \"returnType\": \"AgBarSeriesOptions\", \"optional\": true } },\n    \"column\": {\n      \"type\": { \"returnType\": \"AgBarSeriesOptions\", \"optional\": true }\n    },\n    \"histogram\": {\n      \"type\": { \"returnType\": \"AgHistogramSeriesOptions\", \"optional\": true }\n    }\n  },\n  \"AgPolarSeriesTheme\": {\n    \"pie\": { \"type\": { \"returnType\": \"AgPieSeriesTheme\", \"optional\": true } }\n  },\n  \"AgPieSeriesTheme\": {\n    \"type\": { \"type\": { \"returnType\": \"'pie'\", \"optional\": true } },\n    \"title\": {\n      \"description\": \"/** Configuration for the series title. */\",\n      \"type\": { \"returnType\": \"AgPieTitleOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels used outside of the sectors.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabel instead.\\n     */\",\n      \"type\": {\n        \"returnType\": \"AgPieSeriesLabelOptions<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"calloutLabel\": {\n      \"description\": \"/** Configuration for the labels used outside of the sectors. */\",\n      \"type\": {\n        \"returnType\": \"AgPieSeriesLabelOptions<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"sectorLabel\": {\n      \"description\": \"/** Configuration for the labels used inside the sectors. */\",\n      \"type\": {\n        \"returnType\": \"AgPieSeriesSectorLabelOptions<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"callout\": {\n      \"description\": \"/** Configuration for the callout lines used with the labels for the sectors.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLine instead.\\n     */\",\n      \"type\": { \"returnType\": \"AgPieSeriesCalloutOptions\", \"optional\": true }\n    },\n    \"calloutLine\": {\n      \"description\": \"/** Configuration for the callout lines used with the labels for the sectors. */\",\n      \"type\": { \"returnType\": \"AgPieSeriesCalloutOptions\", \"optional\": true }\n    },\n    \"angleKey\": {\n      \"description\": \"/** The key to use to retrieve angle values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"angleName\": {\n      \"description\": \"/** A human-readable description of the angle values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** The key to use to retrieve radius values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusName\": {\n      \"description\": \"/** A human-readable description of the radius values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** The key to use to retrieve label values from the data.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelKey or series.sectorLabelKey instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelName\": {\n      \"description\": \"/** A human-readable description of the label values. If supplied, this will be passed to the tooltip renderer as one of the parameters.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelName or series.sectorLabelName instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelKey\": {\n      \"description\": \"/** The key to use to retrieve label values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelName\": {\n      \"description\": \"/** A human-readable description of the label values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelKey\": {\n      \"description\": \"/** The key to use to retrieve sector label values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelName\": {\n      \"description\": \"/** A human-readable description of the sector label values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fills\": {\n      \"description\": \"/** The colours to cycle through for the fills of the sectors. */\",\n      \"type\": { \"returnType\": \"CssColor[]\", \"optional\": true }\n    },\n    \"strokes\": {\n      \"description\": \"/** The colours to cycle through for the strokes of the sectors. */\",\n      \"type\": { \"returnType\": \"CssColor[]\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the sectors. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the sectors. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the sectors. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the pie sector strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    },\n    \"lineDashOffset\": {\n      \"description\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"rotation\": {\n      \"description\": \"/** The rotation of the pie series in degrees. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"outerRadiusOffset\": {\n      \"description\": \"/** The offset in pixels of the outer radius of the series. Used to construct doughnut charts. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"outerRadiusRatio\": {\n      \"description\": \"/** The ratio of the outer radius of the series. Used to adjust the outer radius proportionally to the automatically calculated value. */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"innerRadiusOffset\": {\n      \"description\": \"/** The offset in pixels of the inner radius of the series. Used to construct doughnut charts. If this is not provided, or innerRadiusRatio is unset, or a value of zero is given, a pie chart will be rendered. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"innerRadiusRatio\": {\n      \"description\": \"/** The ratio of the inner radius of the series. Used to construct doughnut charts. If this is not provided, or innerRadiusOffset is unset, or a value of zero or one is given, a pie chart will be rendered. */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"radiusMin\": {\n      \"description\": \"/** Override of the automatically determined minimum radiusKey value from the data. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"radiusMax\": {\n      \"description\": \"/** Override of the automatically determined maximum radiusKey value from the data. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"shadow\": {\n      \"description\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"type\": { \"returnType\": \"AgDropShadowOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Series-specific tooltip configuration. */\",\n      \"type\": { \"returnType\": \"AgPieSeriesTooltip\", \"optional\": true }\n    },\n    \"innerCircle\": {\n      \"description\": \"/** Configuration for the area inside the series, only visible when rendering a doughnut chart by using innerRadiusOffset or innerRadiusRatio */\",\n      \"type\": { \"returnType\": \"AgDoughnutInnerCircle\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** A formatter function for adjusting the styling of the pie sectors. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgPieSeriesFormatterParams<DatumType>\" },\n        \"returnType\": \"AgPieSeriesFormat\",\n        \"optional\": true\n      }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightStyle\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    }\n  },\n  \"AgHierarchySeriesTheme\": {\n    \"treemap\": {\n      \"type\": { \"returnType\": \"AgTreemapSeriesOptions\", \"optional\": true }\n    }\n  },\n  \"AgChartPaddingOptions\": {\n    \"top\": {\n      \"description\": \"/** The number of pixels of padding at the top of the chart area. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"right\": {\n      \"description\": \"/** The number of pixels of padding at the right of the chart area. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"bottom\": {\n      \"description\": \"/** The number of pixels of padding at the bottom of the chart area. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"left\": {\n      \"description\": \"/** The number of pixels of padding at the left of the chart area. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgSeriesAreaPaddingOptions\": {\n    \"top\": {\n      \"description\": \"/** The number of pixels of padding at the top of the series area. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"right\": {\n      \"description\": \"/** The number of pixels of padding at the right of the series area. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"bottom\": {\n      \"description\": \"/** The number of pixels of padding at the bottom of the series area. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"left\": {\n      \"description\": \"/** The number of pixels of padding at the left of the series area. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgChartOverlayOptions\": {\n    \"text\": {\n      \"description\": \"/** Text to render in the overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"renderer\": {\n      \"description\": \"/** A function for generating HTML string for overlay content. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"AgChartOverlaysOptions\": {\n    \"noData\": {\n      \"description\": \"/** An overlay to be displayed when there is no data. */\",\n      \"type\": { \"returnType\": \"AgChartOverlayOptions\", \"optional\": true }\n    }\n  },\n  \"AgChartLabelOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not the labels should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgDropShadowOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not the shadow is visible. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour of the shadow. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"xOffset\": {\n      \"description\": \"/** The horizontal offset in pixels for the shadow. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"yOffset\": {\n      \"description\": \"/** The vertical offset in pixels for the shadow. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"blur\": {\n      \"description\": \"/** The radius of the shadow's blur, given in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgChartCaptionOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not the text should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"text\": {\n      \"description\": \"/** The text to display. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the text. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the text. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the text. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the text. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the text. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"spacing\": {\n      \"description\": \"/** Spacing added to help position the text. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgChartSubtitleOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not the text should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"text\": {\n      \"description\": \"/** The text to display. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the text. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the text. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the text. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the text. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the text. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"spacing\": {\n      \"description\": \"/** Spacing added to help position the text. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgChartFooterOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not the text should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"text\": {\n      \"description\": \"/** The text to display. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the text. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the text. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the text. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the text. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the text. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"spacing\": {\n      \"description\": \"/** Spacing added to help position the text. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgAxisCaptionOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not the title should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"text\": {\n      \"description\": \"/** The text to show in the title. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the title. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the title. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the title. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the title. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the title. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgNavigatorMaskOptions\": {\n    \"fill\": {\n      \"description\": \"/** The fill colour used by the mask. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The stroke colour used by the mask. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The stroke width used by the mask. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the mask's fill in the `[0, 1]` interval, where `0` is effectively no masking. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    }\n  },\n  \"AgNavigatorHandleOptions\": {\n    \"fill\": {\n      \"description\": \"/** The fill colour used by the handle. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The stroke colour used by the handle. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The stroke width used by the handle. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the handle. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the handle. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"gripLineGap\": {\n      \"description\": \"/** The distance between the handle's grip lines. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"gripLineLength\": {\n      \"description\": \"/** The length of the handle's grip lines. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgNavigatorOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show the navigator. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the navigator. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"margin\": {\n      \"description\": \"/** The distance between the navigator and the bottom axis. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"min\": {\n      \"description\": \"/** The start of the visible range in the `[0, 1]` interval. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** The end of the visible range in the `[0, 1]` interval. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"mask\": {\n      \"description\": \"/** Configuration for the navigator's visible range mask. */\",\n      \"type\": { \"returnType\": \"AgNavigatorMaskOptions\", \"optional\": true }\n    },\n    \"minHandle\": {\n      \"description\": \"/** Configuration for the navigator's left handle. */\",\n      \"type\": { \"returnType\": \"AgNavigatorHandleOptions\", \"optional\": true }\n    },\n    \"maxHandle\": {\n      \"description\": \"/** Configuration for the navigator's right handle. */\",\n      \"type\": { \"returnType\": \"AgNavigatorHandleOptions\", \"optional\": true }\n    }\n  },\n  \"AgChartLegendPosition\": {},\n  \"AgChartOrientation\": {},\n  \"AgChartLegendMarkerOptions\": {\n    \"size\": {\n      \"description\": \"/** The size in pixels of the markers in the legend. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"shape\": {\n      \"description\": \"/** If set, overrides the marker shape from the series and the legend will show the specified marker shape instead. If not set, will use a marker shape matching the shape from the series, or fall back to `'square'` if there is none. */\",\n      \"type\": { \"returnType\": \"MarkerShape\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** The padding in pixels between a legend marker and the corresponding label. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for markers in the legend. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgChartLegendLabelFormatterParams\": {\n    \"id\": {\n      \"description\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"seriesId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"value\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"AgChartLegendLabelOptions\": {\n    \"maxLength\": {\n      \"description\": \"/** If the label text exceeds the maximum length, it will be truncated and an ellipsis will be appended to indicate this. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour of the text. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the legend. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the legend. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the legend. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the legend. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** Function used to render legend labels. Where `id` is a series ID, `itemId` is component ID within a series, such as a field name or an item index. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgChartLegendLabelFormatterParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    }\n  },\n  \"AgChartLegendItemOptions\": {\n    \"marker\": {\n      \"description\": \"/** Configuration for the legend markers. */\",\n      \"type\": { \"returnType\": \"AgChartLegendMarkerOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the legend labels. */\",\n      \"type\": { \"returnType\": \"AgChartLegendLabelOptions\", \"optional\": true }\n    },\n    \"maxWidth\": {\n      \"description\": \"/** Used to constrain the width of legend items. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"paddingX\": {\n      \"description\": \"/** The horizontal spacing in pixels to use between legend items. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"paddingY\": {\n      \"description\": \"/** The vertical spacing in pixels to use between legend items. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"toggleSeriesVisible\": {\n      \"description\": \"/** Set to `false` to turn off toggling of the series visibility in the chart when the legend item is clicked. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"AgChartLegendEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"T\", \"optional\": false } },\n    \"seriesId\": {\n      \"description\": \"/** Series id */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"itemId\": {\n      \"description\": \"/** Legend item id - usually yKey value for cartesian series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether the legend item is currently enabled or not. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"T extends string\"] }\n  },\n  \"AgChartLegendClickEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"T\", \"optional\": false } },\n    \"seriesId\": {\n      \"description\": \"/** Series id */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"itemId\": {\n      \"description\": \"/** Legend item id - usually yKey value for cartesian series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether the legend item is currently enabled or not. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"AgChartLegendDoubleClickEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"T\", \"optional\": false } },\n    \"seriesId\": {\n      \"description\": \"/** Series id */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"itemId\": {\n      \"description\": \"/** Legend item id - usually yKey value for cartesian series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether the legend item is currently enabled or not. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"AgChartLegendListeners\": {\n    \"legendItemClick\": {\n      \"description\": \"/** The listener to call when a legend item is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AgChartLegendClickEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"legendItemDoubleClick\": {\n      \"description\": \"/** The listener to call when a legend item is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AgChartLegendDoubleClickEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"AgChartLegendOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** Where the legend should show in relation to the chart. */\",\n      \"type\": { \"returnType\": \"AgChartLegendPosition\", \"optional\": true }\n    },\n    \"orientation\": {\n      \"description\": \"/** How the legend items should be arranged. */\",\n      \"type\": { \"returnType\": \"AgChartOrientation\", \"optional\": true }\n    },\n    \"maxWidth\": {\n      \"description\": \"/** Used to constrain the width of the legend. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"maxHeight\": {\n      \"description\": \"/** Used to constrain the height of the legend. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"spacing\": {\n      \"description\": \"/** The spacing in pixels to use outside the legend. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"item\": {\n      \"description\": \"/** Configuration for the legend items that consist of a marker and a label. */\",\n      \"type\": { \"returnType\": \"AgChartLegendItemOptions\", \"optional\": true }\n    },\n    \"reverseOrder\": {\n      \"description\": \"/** Reverse the display order of legend items if `true`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** Optional callbacks for specific legend-related events. */\",\n      \"type\": { \"returnType\": \"AgChartLegendListeners\", \"optional\": true }\n    },\n    \"pagination\": {\n      \"type\": {\n        \"returnType\": \"AgChartLegendPaginationOptions\",\n        \"optional\": true\n      }\n    }\n  },\n  \"AgChartLegendPaginationOptions\": {\n    \"marker\": {\n      \"description\": \"/** Configuration for the pagination markers. */\",\n      \"type\": { \"returnType\": \"AgPaginationMarkerOptions\", \"optional\": true }\n    },\n    \"activeStyle\": {\n      \"description\": \"/** Configuration for pagination buttons when a button is active. */\",\n      \"type\": { \"returnType\": \"AgPaginationMarkerStyle\", \"optional\": true }\n    },\n    \"inactiveStyle\": {\n      \"description\": \"/** Configuration for pagination buttons when a button is inactive. */\",\n      \"type\": { \"returnType\": \"AgPaginationMarkerStyle\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for pagination buttons when a button is hovered over. */\",\n      \"type\": { \"returnType\": \"AgPaginationMarkerStyle\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the pagination label. */\",\n      \"type\": { \"returnType\": \"AgPaginationLabelOptions\", \"optional\": true }\n    }\n  },\n  \"AgPaginationMarkerOptions\": {\n    \"size\": {\n      \"description\": \"/** The size in pixels of the pagination buttons. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"shape\": {\n      \"description\": \"/** If set, overrides the marker shape for the pagination buttons. If not set, the pagination buttons will default to the `'triangle'` marker shape. */\",\n      \"type\": { \"returnType\": \"MarkerShape\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** The inner padding in pixels between a pagination button and the pagination label. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgPaginationMarkerStyle\": {\n    \"fill\": {\n      \"description\": \"/** The fill colour to use for the pagination button markers. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** Opacity of the pagination buttons. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour to use for the button strokes. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the button strokes. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** Opacity of the button strokes. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    }\n  },\n  \"AgPaginationLabelOptions\": {\n    \"color\": {\n      \"description\": \"/** The colour of the text. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the pagination label. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the pagination label. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the pagination label. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the pagination label. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    }\n  },\n  \"AgChartTooltipOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Set to false to disable tooltips for all series in the chart. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"class\": {\n      \"description\": \"/** A class name to be added to the tooltip element of the chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"tracking\": {\n      \"description\": \"/** @deprecated since v7.2.0 (ag-grid v29.2.0) If true, for series with markers the tooltip will be shown to the closest marker. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"range\": {\n      \"description\": \"/** Range from a point that triggers the tooltip to show. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"delay\": {\n      \"description\": \"/** The time interval (in milliseconds) after which the tooltip is shown. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgTooltipPositionType\": {},\n  \"AgTooltipPositionOptions\": {},\n  \"AgMovingTooltipPositionOptions\": {\n    \"type\": {\n      \"description\": \"/** The type of positioning for the tooltip. By default, the tooltip follows the pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionType\", \"optional\": false }\n    },\n    \"xOffset\": {\n      \"description\": \"/** The horizontal offset in pixels for the position of the tooltip. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"yOffset\": {\n      \"description\": \"/** The vertical offset in pixels for the position of the tooltip. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgChartBackground\": {\n    \"visible\": {\n      \"description\": \"/** Whether or not the background should be visible. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** Colour of the chart background. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgChartEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"T\", \"optional\": false } },\n    \"event\": { \"type\": { \"returnType\": \"Event\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"T extends string\"] }\n  },\n  \"AgNodeBaseClickEvent\": {\n    \"type\": {\n      \"description\": \"/** Event type. */\",\n      \"type\": { \"returnType\": \"T\", \"optional\": false }\n    },\n    \"series\": {\n      \"description\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId to get the series ID. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"seriesId\": {\n      \"description\": \"/** Series ID, as specified in series.id (or generated if not specified) */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the chart or series data array. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"xKey\": {\n      \"description\": \"/** xKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** yKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sizeKey\": {\n      \"description\": \"/** sizeKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"colorKey\": {\n      \"description\": \"/** colorKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"angleKey\": {\n      \"description\": \"/** angleKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelKey\": {\n      \"description\": \"/** calloutLabelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelKey\": {\n      \"description\": \"/** sectorLabelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** radiusKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"T extends string\"] },\n    \"event\": { \"type\": { \"returnType\": \"Event\", \"optional\": false } }\n  },\n  \"AgNodeClickEvent\": {\n    \"type\": {\n      \"description\": \"/** Event type. */\",\n      \"type\": { \"returnType\": \"T\", \"optional\": false }\n    },\n    \"series\": {\n      \"description\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId to get the series ID. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"seriesId\": {\n      \"description\": \"/** Series ID, as specified in series.id (or generated if not specified) */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the chart or series data array. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"xKey\": {\n      \"description\": \"/** xKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** yKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sizeKey\": {\n      \"description\": \"/** sizeKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"colorKey\": {\n      \"description\": \"/** colorKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"angleKey\": {\n      \"description\": \"/** angleKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelKey\": {\n      \"description\": \"/** calloutLabelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelKey\": {\n      \"description\": \"/** sectorLabelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** radiusKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"event\": { \"type\": { \"returnType\": \"Event\", \"optional\": false } }\n  },\n  \"AgNodeDoubleClickEvent\": {\n    \"type\": {\n      \"description\": \"/** Event type. */\",\n      \"type\": { \"returnType\": \"T\", \"optional\": false }\n    },\n    \"series\": {\n      \"description\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId to get the series ID. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"seriesId\": {\n      \"description\": \"/** Series ID, as specified in series.id (or generated if not specified) */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the chart or series data array. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"xKey\": {\n      \"description\": \"/** xKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** yKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sizeKey\": {\n      \"description\": \"/** sizeKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"colorKey\": {\n      \"description\": \"/** colorKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"angleKey\": {\n      \"description\": \"/** angleKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelKey\": {\n      \"description\": \"/** calloutLabelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelKey\": {\n      \"description\": \"/** sectorLabelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** radiusKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"event\": { \"type\": { \"returnType\": \"Event\", \"optional\": false } }\n  },\n  \"AgChartClickEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"T\", \"optional\": false } },\n    \"event\": { \"type\": { \"returnType\": \"Event\", \"optional\": false } }\n  },\n  \"AgChartDoubleClickEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"T\", \"optional\": false } },\n    \"event\": { \"type\": { \"returnType\": \"Event\", \"optional\": false } }\n  },\n  \"AgBaseChartListeners\": {\n    \"seriesNodeClick\": {\n      \"description\": \"/** The listener to call when a node (marker, column, bar, tile or a pie sector) in any series is clicked. In case a chart has multiple series, the chart's `seriesNodeClick` event can be used to listen to `nodeClick` events of all the series at once. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AgNodeClickEvent\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"seriesNodeDoubleClick\": {\n      \"description\": \"/** The listener to call when a node (marker, column, bar, tile or a pie sector) in any series is double clicked. In case a chart has multiple series, the chart's `seriesNodeDoubleClick` event can be used to listen to `nodeDoubleClick` events of all the series at once. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AgNodeDoubleClickEvent\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"click\": {\n      \"description\": \"/** The listener to call to signify a general click on the chart by the user. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AgChartClickEvent\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"doubleClick\": {\n      \"description\": \"/** The listener to call to signify a double click on the chart by the user. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AgChartDoubleClickEvent\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    }\n  },\n  \"AgChartHighlightRange\": {},\n  \"AgChartHighlightOptions\": {\n    \"range\": {\n      \"description\": \"/** By default, nodes will be highlighted when the cursor is within the `tooltip.range`. Set this to `'node'` to highlight nodes when within the `series[].nodeClickRange`. */\",\n      \"type\": { \"returnType\": \"AgChartHighlightRange\", \"optional\": true }\n    }\n  },\n  \"AgBaseChartOptions\": {\n    \"data\": {\n      \"description\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"container\": {\n      \"description\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"autoSize\": {\n      \"description\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding shown around the chart. */\",\n      \"type\": { \"returnType\": \"AgChartPaddingOptions\", \"optional\": true }\n    },\n    \"seriesAreaPadding\": {\n      \"description\": \"/** Configuration for the padding around the series area. */\",\n      \"type\": { \"returnType\": \"AgSeriesAreaPaddingOptions\", \"optional\": true }\n    },\n    \"background\": {\n      \"description\": \"/** Configuration for the background shown behind the chart. */\",\n      \"type\": { \"returnType\": \"AgChartBackground\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartCaptionOptions\", \"optional\": true }\n    },\n    \"subtitle\": {\n      \"description\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"type\": { \"returnType\": \"AgChartSubtitleOptions\", \"optional\": true }\n    },\n    \"footnote\": {\n      \"description\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartFooterOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"type\": { \"returnType\": \"AgChartTooltipOptions\", \"optional\": true }\n    },\n    \"legend\": {\n      \"description\": \"/** Configuration for the chart legend. */\",\n      \"type\": { \"returnType\": \"AgChartLegendOptions\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgBaseChartListeners\", \"optional\": true }\n    },\n    \"highlight\": {\n      \"description\": \"/** Configuration for the chart highlighting. */\",\n      \"type\": { \"returnType\": \"AgChartHighlightOptions\", \"optional\": true }\n    },\n    \"theme\": {\n      \"description\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"type\": { \"returnType\": \"string | AgChartTheme\", \"optional\": true }\n    },\n    \"overlays\": {\n      \"description\": \"/** HTML overlays */\",\n      \"type\": { \"returnType\": \"AgChartOverlaysOptions\", \"optional\": true }\n    }\n  },\n  \"AgBaseAxisOptions\": {\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgCartesianAxisPosition\": {},\n  \"AgAxisLineOptions\": {\n    \"width\": {\n      \"description\": \"/** The width in pixels of the axis line. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour of the axis line. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgAxisBaseTickOptions\": {\n    \"width\": {\n      \"description\": \"/** The width in pixels of the axis ticks (and corresponding grid line). */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The length in pixels of the axis ticks. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour of the axis ticks. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"values\": {\n      \"description\": \"/** Array of values in axis units to display as ticks along the axis.\\n     * The values in this array must be compatible with the axis type.\\n     */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"minSpacing\": {\n      \"description\": \"/** Minimum gap in pixels between tick lines.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxSpacing\": {\n      \"description\": \"/** Maximum gap in pixels between tick lines.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgAxisCategoryTickOptions\": {\n    \"width\": {\n      \"description\": \"/** The width in pixels of the axis ticks (and corresponding grid line). */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The length in pixels of the axis ticks. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour of the axis ticks. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"values\": {\n      \"description\": \"/** Array of values in axis units to display as ticks along the axis.\\n     * The values in this array must be compatible with the axis type.\\n     */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"minSpacing\": {\n      \"description\": \"/** Minimum gap in pixels between tick lines.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxSpacing\": {\n      \"description\": \"/** Maximum gap in pixels between tick lines.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgAxisNumberTickOptions\": {\n    \"count\": {\n      \"description\": \"/** A hint of how many ticks to use across an axis.\\n     * The axis is not guaranteed to use exactly this number of ticks, but will try to use a number of ticks that is close to the number given.\\n     * @deprecated since v7.1.0 (ag-grid v29.1.0) Use tick.interval or tick.minSpacing and tick.maxSpacing instead.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"interval\": {\n      \"description\": \"/** The step value between ticks specified as a number. If the configured interval results in too many ticks given the chart size, it will be ignored.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width in pixels of the axis ticks (and corresponding grid line). */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The length in pixels of the axis ticks. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour of the axis ticks. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"values\": {\n      \"description\": \"/** Array of values in axis units to display as ticks along the axis.\\n     * The values in this array must be compatible with the axis type.\\n     */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"minSpacing\": {\n      \"description\": \"/** Minimum gap in pixels between tick lines.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxSpacing\": {\n      \"description\": \"/** Maximum gap in pixels between tick lines.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgAxisTimeTickOptions\": {\n    \"count\": {\n      \"description\": \"/** A hint of how many ticks to use across an axis.\\n     * The axis is not guaranteed to use exactly this number of ticks, but will try to use a number of ticks that is close to the number given.\\n     * The following intervals from the `agCharts.time` namespace can be used:\\n     * `millisecond, second, minute, hour, day, sunday, monday, tuesday, wednesday, thursday, friday, saturday, month, year, utcMinute, utcHour, utcDay, utcMonth, utcYear`.\\n     * Derived intervals can be created by using the `every` method on the default ones. For example, `agCharts.time.month.every(2)` will return a derived interval that will make the axis place ticks for every other month. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"interval\": {\n      \"description\": \"/** The step value between ticks specified as a TimeInterval or a number. If the configured interval results in dense ticks given the data domain, the ticks will be removed.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width in pixels of the axis ticks (and corresponding grid line). */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The length in pixels of the axis ticks. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour of the axis ticks. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"values\": {\n      \"description\": \"/** Array of values in axis units to display as ticks along the axis.\\n     * The values in this array must be compatible with the axis type.\\n     */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"minSpacing\": {\n      \"description\": \"/** Minimum gap in pixels between tick lines.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxSpacing\": {\n      \"description\": \"/** Maximum gap in pixels between tick lines.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgAxisLabelFormatterParams\": {\n    \"value\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"index\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"fractionDigits\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"formatter\": {\n      \"type\": {\n        \"arguments\": { \"x\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    }\n  },\n  \"AgAxisLabelOptions\": {\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Padding in pixels between the axis label and the tick. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"rotation\": {\n      \"description\": \"/** The rotation of the axis labels in degrees. Note: for integrated charts the default is 335 degrees, unless the axis shows grouped or default categories (indexes). The first row of labels in a grouped category axis is rotated perpendicular to the axis line. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"autoRotate\": {\n      \"description\": \"/** If specified and axis labels may collide, they are rotated so that they are positioned at the supplied angle. This is enabled by default for category. If the `rotation` property is specified, it takes precedence. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"autoRotateAngle\": {\n      \"description\": \"/** If autoRotate is enabled, specifies the rotation angle to use when autoRotate is activated. Defaults to an angle of 335 degrees if unspecified. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"avoidCollisions\": {\n      \"description\": \"/** Avoid axis label collision by automatically reducing the number of ticks displayed. If set to `false`, axis labels may collide. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"minSpacing\": {\n      \"description\": \"/** Minimum gap in pixels between the axis labels before being removed to avoid collisions. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"format\": {\n      \"description\": \"/** Format string used when rendering labels. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** Function used to render axis labels. If `value` is a number, `fractionDigits` will also be provided, which indicates the number of fractional digits used in the step between ticks; for example, a tick step of `0.0005` would have `fractionDigits` set to `4` */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgAxisLabelFormatterParams\" },\n        \"returnType\": \"string | undefined\",\n        \"optional\": true\n      }\n    }\n  },\n  \"AgAxisGridStyle\": {\n    \"stroke\": {\n      \"description\": \"/** The colour of the grid line. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the gridlines are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    }\n  },\n  \"AgCartesianAxisType\": {},\n  \"AgBaseCartesianAxisOptions\": {\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"crossLines\": {\n      \"description\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"type\": { \"returnType\": \"AgCrossLineOptions[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgCrossLineOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show the cross line. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"type\": {\n      \"description\": \"/** Type of cross line to render. */\",\n      \"type\": { \"returnType\": \"'line' | 'range'\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** The data value at which the line should be positioned. This property is used if the crossLine type is `line`. */\",\n      \"type\": { \"returnType\": \"DataValue\", \"optional\": true }\n    },\n    \"range\": {\n      \"description\": \"/** The range of values from the data used to display lines at a desired chart region. This property is only used for crossLine type `range`. */\",\n      \"type\": { \"returnType\": \"[DataValue, DataValue]\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The colour to use for the fill of the range. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the range. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the line stroke is rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the crossLine label. */\",\n      \"type\": { \"returnType\": \"AgCrossLineLabelOptions\", \"optional\": true }\n    }\n  },\n  \"AgCrossLineLabelOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show the cross line label. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"text\": {\n      \"description\": \"/** The text to show in the label. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the label. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the label. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the label. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the label. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Padding in pixels between the label and the edge of the crossLine. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the label. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the crossLine label. */\",\n      \"type\": { \"returnType\": \"AgCrossLineLabelPosition\", \"optional\": true }\n    },\n    \"rotation\": {\n      \"description\": \"/** The rotation of the crossLine label in degrees. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgCrossLineLabelPosition\": {},\n  \"AgNumberAxisOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'number'\", \"optional\": false } },\n    \"nice\": {\n      \"description\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"min\": {\n      \"description\": \"/** User override for the automatically determined min value (based on series data). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** User override for the automatically determined max value (based on series data). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisNumberTickOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"crossLines\": {\n      \"description\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"type\": { \"returnType\": \"AgCrossLineOptions[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgLogAxisOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'log'\", \"optional\": false } },\n    \"nice\": {\n      \"description\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"min\": {\n      \"description\": \"/** User override for the automatically determined min value (based on series data). This value can be any non-zero number less than the configured `max` value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** User override for the automatically determined max value (based on series data). This value can be any non-zero number more than the configured `min` value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"base\": {\n      \"description\": \"/** The base of the logarithm used. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisNumberTickOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"crossLines\": {\n      \"description\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"type\": { \"returnType\": \"AgCrossLineOptions[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgCategoryAxisOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'category'\", \"optional\": false } },\n    \"paddingInner\": {\n      \"description\": \"/** The size of the gap between the categories as a proportion, between 0 and 1. This value is a fraction of the “step”, which is the interval between the start of a band and the start of the next band.\\n     * Default: `0.2`\\n     */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"paddingOuter\": {\n      \"description\": \"/** The padding on the outside i.e. left and right of the first and last category. In association with `paddingInner`, this value can be between 0 and 1.\\n     * Default: `0.3`\\n     */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"groupPaddingInner\": {\n      \"description\": \"/** This property is for grouped column/bar series plotted on a category axis. It is a proportion between 0 and 1 which determines the size of the gap between the bars or columns within a single group along the axis.\\n     * Default: `0.2`\\n     */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisCategoryTickOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"crossLines\": {\n      \"description\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"type\": { \"returnType\": \"AgCrossLineOptions[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgGroupedCategoryAxisOptions\": {\n    \"type\": {\n      \"type\": { \"returnType\": \"'groupedCategory'\", \"optional\": false }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisCategoryTickOptions\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"crossLines\": {\n      \"description\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"type\": { \"returnType\": \"AgCrossLineOptions[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgTimeAxisOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'time'\", \"optional\": false } },\n    \"nice\": {\n      \"description\": \"/** If 'true', the range will be rounded up to ensure nice equal spacing between the ticks. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tick\": {\n      \"description\": \"/** Configuration for the axis ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisTimeTickOptions\", \"optional\": true }\n    },\n    \"min\": {\n      \"description\": \"/** User override for the automatically determined min value (based on series data). */\",\n      \"type\": { \"returnType\": \"Date | number\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** User override for the automatically determined max value (based on series data). */\",\n      \"type\": { \"returnType\": \"Date | number\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position on the chart where the axis should be rendered. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown next to the axis. */\",\n      \"type\": { \"returnType\": \"AgAxisCaptionOptions\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** Configuration for the axis line. */\",\n      \"type\": { \"returnType\": \"AgAxisLineOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the axis labels, shown next to the ticks. */\",\n      \"type\": { \"returnType\": \"AgAxisLabelOptions\", \"optional\": true }\n    },\n    \"gridStyle\": {\n      \"description\": \"/** Configuration of the lines used to form the grid in the chart area. */\",\n      \"type\": { \"returnType\": \"AgAxisGridStyle[]\", \"optional\": true }\n    },\n    \"crossLines\": {\n      \"description\": \"/** Add cross lines or regions corresponding to data values. */\",\n      \"type\": { \"returnType\": \"AgCrossLineOptions[]\", \"optional\": true }\n    },\n    \"keys\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"thickness\": {\n      \"description\": \"/** If set to a non-zero value, the axis will have the specified thickness regardless of label size. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgCartesianAxisOptions\": {},\n  \"AgSeriesHighlightMarkerStyle\": {\n    \"fill\": {\n      \"description\": \"/** The fill colour of a marker when tapped or hovered over. Use `undefined` for no highlight. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the highlighted item. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The stroke colour of a marker when tapped or hovered over. Use `undefined` for no highlight. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The stroke width of a marker when tapped or hovered over. Use `undefined` for no highlight. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgSeriesHighlightSeriesStyle\": {\n    \"enabled\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"dimOpacity\": {\n      \"description\": \"/** The opacity of the whole series (area line, area fill, labels and markers, if any) when another chart series or another stack level in the same area series is highlighted by hovering a data point or a legend item. Use `undefined` or `1` for no dimming. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The stroke width of the area line when one of the markers is tapped or hovered over, or when a tooltip is shown for a data point, even when series markers are disabled. Use `undefined` for no highlight. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgSeriesHighlightStyle\": {\n    \"item\": {\n      \"description\": \"/** Highlight style used for an individual marker when tapped or hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightMarkerStyle\", \"optional\": true }\n    },\n    \"series\": {\n      \"description\": \"/** Highlight style used for whole series when one of its markers is tapped or hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightSeriesStyle\", \"optional\": true }\n    }\n  },\n  \"AgSeriesNodeClickParams\": {\n    \"type\": {\n      \"description\": \"/** Event type. */\",\n      \"type\": { \"returnType\": \"'nodeClick'\", \"optional\": false }\n    },\n    \"series\": {\n      \"description\": \"/** @deprecated since v6.2.1 (ag-grid v28.2.1) Use seriesId to get the series ID. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"seriesId\": {\n      \"description\": \"/** Series ID, as specified in series.id (or generated if not specified) */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the series data array. */\",\n      \"type\": { \"returnType\": \"DatumType\", \"optional\": false }\n    },\n    \"xKey\": {\n      \"description\": \"/** xKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** yKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sizeKey\": {\n      \"description\": \"/** sizeKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"colorKey\": {\n      \"description\": \"/** colorKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"angleKey\": {\n      \"description\": \"/** angleKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelKey\": {\n      \"description\": \"/** calloutLabelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelKey\": {\n      \"description\": \"/** sectorLabelKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** radiusKey as specified on series options */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgSeriesListeners\": {\n    \"nodeClick\": {\n      \"description\": \"/** The listener to call when a node (marker, column, bar, tile or a pie sector) in the series is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgSeriesNodeClickParams<DatumType>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"nodeDoubleClick\": {\n      \"description\": \"/** The listener to call when a node (marker, column, bar, tile or a pie sector) in the series is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgSeriesNodeClickParams<DatumType>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgBaseSeriesOptions\": {\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightStyle\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgTooltipRendererResult\": {\n    \"title\": {\n      \"description\": \"/** Title text for the tooltip header. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"content\": {\n      \"description\": \"/** Content text for the tooltip body. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** Tooltip title text color. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"backgroundColor\": {\n      \"description\": \"/** Tooltip title background color. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"AgSeriesTooltipRendererParams\": {\n    \"datum\": {\n      \"description\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"title\": {\n      \"description\": \"/** Series title or yName depending on series configuration. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgCartesianSeriesTooltipRendererParams\": {\n    \"xKey\": {\n      \"description\": \"/** xKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"xValue\": {\n      \"description\": \"/** xValue as read from series data via the xKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** xName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** yKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"yValue\": {\n      \"description\": \"/** yValue as read from series data via the yKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** yName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"title\": {\n      \"description\": \"/** Series title or yName depending on series configuration. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgPolarSeriesTooltipRendererParams\": {\n    \"angleKey\": {\n      \"description\": \"/** angleKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"angleValue\": {\n      \"description\": \"/** angleValue as read from series data via the angleKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"angleName\": {\n      \"description\": \"/** angleName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** radiusKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusValue\": {\n      \"description\": \"/** radiusValue as read from series data via the radiusKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"radiusName\": {\n      \"description\": \"/** radiusName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"title\": {\n      \"description\": \"/** Series title or yName depending on series configuration. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgScatterSeriesTooltipRendererParams\": {\n    \"sizeKey\": {\n      \"description\": \"/** sizeKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sizeName\": {\n      \"description\": \"/** sizeName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelName\": {\n      \"description\": \"/** labelName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** xKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"xValue\": {\n      \"description\": \"/** xValue as read from series data via the xKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** xName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** yKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"yValue\": {\n      \"description\": \"/** yValue as read from series data via the yKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** yName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"title\": {\n      \"description\": \"/** Series title or yName depending on series configuration. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgSeriesMarker\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show markers. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shape\": {\n      \"description\": \"/** The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass. */\",\n      \"type\": { \"returnType\": \"MarkerShape\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The size in pixels of the markers. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"maxSize\": {\n      \"description\": \"/** For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The colour to use for marker fills. If this is not specified, the markers will take their fill from the series. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** Opacity of the marker fills. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** Opacity of the marker strokes. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    }\n  },\n  \"AgSeriesMarkerFormatterParams\": {\n    \"datum\": { \"type\": { \"returnType\": \"DatumType\", \"optional\": false } },\n    \"fill\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"PixelSize\", \"optional\": false } },\n    \"size\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"highlighted\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"seriesId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgCartesianSeriesMarkerFormatterParams\": {\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"datum\": { \"type\": { \"returnType\": \"DatumType\", \"optional\": false } },\n    \"fill\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"PixelSize\", \"optional\": false } },\n    \"size\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"highlighted\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"seriesId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"AgCartesianSeriesMarkerFormat\": {\n    \"fill\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"PixelSize\", \"optional\": true } },\n    \"size\": { \"type\": { \"returnType\": \"PixelSize\", \"optional\": true } }\n  },\n  \"AgCartesianSeriesMarkerFormatter\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgCartesianSeriesMarker\": {\n    \"formatter\": {\n      \"description\": \"/** Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianSeriesMarkerFormatter<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show markers. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shape\": {\n      \"description\": \"/** The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass. */\",\n      \"type\": { \"returnType\": \"MarkerShape\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The size in pixels of the markers. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"maxSize\": {\n      \"description\": \"/** For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The colour to use for marker fills. If this is not specified, the markers will take their fill from the series. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** Opacity of the marker fills. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** Opacity of the marker strokes. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    }\n  },\n  \"AgAreaSeriesMarker\": {\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"formatter\": {\n      \"description\": \"/** Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianSeriesMarkerFormatter<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show markers. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shape\": {\n      \"description\": \"/** The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass. */\",\n      \"type\": { \"returnType\": \"MarkerShape\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The size in pixels of the markers. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"maxSize\": {\n      \"description\": \"/** For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The colour to use for marker fills. If this is not specified, the markers will take their fill from the series. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** Opacity of the marker fills. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** Opacity of the marker strokes. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    }\n  },\n  \"AgSeriesTooltip\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"interaction\": {\n      \"description\": \"/** Configuration for tooltip interaction. */\",\n      \"type\": { \"returnType\": \"AgSeriesTooltipInteraction\", \"optional\": true }\n    }\n  },\n  \"AgSeriesTooltipInteraction\": {\n    \"enabled\": {\n      \"description\": \"/** Set to true to keep the tooltip open when the mouse is hovering over it, and enable clicking tooltip text */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"AgCartesianSeriesLabelFormatterParams\": {\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** The value of yKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    }\n  },\n  \"AgCartesianSeriesLabelOptions\": {\n    \"formatter\": {\n      \"description\": \"/** Function used to turn 'yKey' values into text to be displayed by a label. By default the values are simply stringified. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgCartesianSeriesLabelFormatterParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not the labels should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgLineSeriesTooltip\": {\n    \"renderer\": {\n      \"description\": \"/** Function used to create the content for tooltips. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgCartesianSeriesTooltipRendererParams\" },\n        \"returnType\": \"string | AgTooltipRendererResult\",\n        \"optional\": true\n      }\n    },\n    \"format\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"interaction\": {\n      \"description\": \"/** Configuration for tooltip interaction. */\",\n      \"type\": { \"returnType\": \"AgSeriesTooltipInteraction\", \"optional\": true }\n    }\n  },\n  \"AgLineSeriesOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'line'\", \"optional\": true } },\n    \"marker\": {\n      \"type\": {\n        \"returnType\": \"AgCartesianSeriesMarker<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve x-values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve y-values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** A human-readable description of the y-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** The title to use for the series. Defaults to `yName` if it exists, or `yKey` if not. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the lines. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the line stroke is rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    },\n    \"lineDashOffset\": {\n      \"description\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels shown on top of data points. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianSeriesLabelOptions\",\n        \"optional\": true\n      }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Series-specific tooltip configuration. */\",\n      \"type\": { \"returnType\": \"AgLineSeriesTooltip\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType = any\"] },\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightStyle\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    }\n  },\n  \"AgScatterSeriesTooltip\": {\n    \"renderer\": {\n      \"description\": \"/** Function used to create the content for tooltips. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgScatterSeriesTooltipRendererParams\" },\n        \"returnType\": \"string | AgTooltipRendererResult\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"interaction\": {\n      \"description\": \"/** Configuration for tooltip interaction. */\",\n      \"type\": { \"returnType\": \"AgSeriesTooltipInteraction\", \"optional\": true }\n    }\n  },\n  \"AgScatterSeriesLabelOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Whether or not the labels should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgScatterSeriesMarker\": {\n    \"domain\": {\n      \"description\": \"/** If sizeKey is used, explicitly specifies the extent of the domain of it's values. */\",\n      \"type\": { \"returnType\": \"[number, number]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"formatter\": {\n      \"description\": \"/** Function used to return formatting for individual markers, based on the supplied information. If the current marker is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianSeriesMarkerFormatter<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show markers. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shape\": {\n      \"description\": \"/** The shape to use for the markers. You can also supply a custom marker by providing a `Marker` subclass. */\",\n      \"type\": { \"returnType\": \"MarkerShape\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The size in pixels of the markers. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"maxSize\": {\n      \"description\": \"/** For series where the size of the marker is determined by the data, this determines the largest size a marker can be in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The colour to use for marker fills. If this is not specified, the markers will take their fill from the series. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** Opacity of the marker fills. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour to use for marker strokes. If this is not specified, the markers will take their stroke from the series. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the marker stroke. If this is not specified, the markers will take their stroke width from the series. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** Opacity of the marker strokes. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    }\n  },\n  \"AgScatterSeriesOptions\": {\n    \"type\": {\n      \"description\": \"/** Configuration for the scatter series.  */\",\n      \"type\": { \"returnType\": \"'scatter'\", \"optional\": true }\n    },\n    \"marker\": {\n      \"description\": \"/** Configuration for the markers used in the series.  */\",\n      \"type\": {\n        \"returnType\": \"AgScatterSeriesMarker<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels shown on top of data points.  */\",\n      \"type\": { \"returnType\": \"AgScatterSeriesLabelOptions\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve x-values from the data.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve y-values from the data.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** A human-readable description of the y-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sizeKey\": {\n      \"description\": \"/** The key to use to retrieve size values from the data, used to control the size of the markers in bubble charts.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sizeName\": {\n      \"description\": \"/** A human-readable description of the size values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** The key to use to retrieve values from the data to use as labels for the markers.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelName\": {\n      \"description\": \"/** A human-readable description of the label values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** The title to use for the series. Defaults to `yName` if it exists, or `yKey` if not.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Series-specific tooltip configuration.  */\",\n      \"type\": { \"returnType\": \"AgScatterSeriesTooltip\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType = any\"] },\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightStyle\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    }\n  },\n  \"AgAreaSeriesTooltip\": {\n    \"renderer\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"AgCartesianSeriesTooltipRendererParams\" },\n        \"returnType\": \"string | AgTooltipRendererResult\",\n        \"optional\": true\n      }\n    },\n    \"format\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"interaction\": {\n      \"description\": \"/** Configuration for tooltip interaction. */\",\n      \"type\": { \"returnType\": \"AgSeriesTooltipInteraction\", \"optional\": true }\n    }\n  },\n  \"AgAreaSeriesOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'area'\", \"optional\": true } },\n    \"marker\": {\n      \"description\": \"/** Configuration for the markers used in the series. */\",\n      \"type\": {\n        \"returnType\": \"AgAreaSeriesMarker<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"normalizedTo\": {\n      \"description\": \"/** The number to normalise the area stacks to. For example, if `normalizedTo` is set to `100`, the stacks will all be scaled proportionally so that their total height is always 100. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve x-values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve y-values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** A human-readable description of the y-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The colour to use for the fill of the area. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colours to use for the stroke of the areas. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the areas. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the area. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the areas. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the area strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    },\n    \"lineDashOffset\": {\n      \"description\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"shadow\": {\n      \"description\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"type\": { \"returnType\": \"AgDropShadowOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels shown on top of data points. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianSeriesLabelOptions\",\n        \"optional\": true\n      }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Series-specific tooltip configuration. */\",\n      \"type\": { \"returnType\": \"AgAreaSeriesTooltip\", \"optional\": true }\n    },\n    \"stacked\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"meta\": { \"typeParams\": [\"DatumType = any\"] },\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightStyle\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    }\n  },\n  \"AgBarSeriesLabelPlacement\": {},\n  \"AgBarSeriesLabelOptions\": {\n    \"placement\": {\n      \"description\": \"/** Where to render series labels relative to the segments. */\",\n      \"type\": { \"returnType\": \"AgBarSeriesLabelPlacement\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** Function used to turn 'yKey' values into text to be displayed by a label. By default the values are simply stringified. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgCartesianSeriesLabelFormatterParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not the labels should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgBarSeriesFormatterParams\": {\n    \"datum\": { \"type\": { \"returnType\": \"DatumType\", \"optional\": false } },\n    \"fill\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"PixelSize\", \"optional\": false } },\n    \"highlighted\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"seriesId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"stackGroup\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgBarSeriesFormat\": {\n    \"fill\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"PixelSize\", \"optional\": true } }\n  },\n  \"AgBarSeriesTooltipRendererParams\": {\n    \"stackGroup\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"xKey\": {\n      \"description\": \"/** xKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"xValue\": {\n      \"description\": \"/** xValue as read from series data via the xKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** xName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** yKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"yValue\": {\n      \"description\": \"/** yValue as read from series data via the yKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** yName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"title\": {\n      \"description\": \"/** Series title or yName depending on series configuration. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgBarSeriesTooltip\": {\n    \"renderer\": {\n      \"description\": \"/** Function used to create the content for tooltips. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgBarSeriesTooltipRendererParams\" },\n        \"returnType\": \"string | AgTooltipRendererResult\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"interaction\": {\n      \"description\": \"/** Configuration for tooltip interaction. */\",\n      \"type\": { \"returnType\": \"AgSeriesTooltipInteraction\", \"optional\": true }\n    }\n  },\n  \"AgBarSeriesOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'bar' | 'column'\", \"optional\": true } },\n    \"grouped\": {\n      \"description\": \"/** Whether to show different y-values as separate bars (grouped) or not (stacked). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"stacked\": {\n      \"description\": \"/** An option indicating if the bars/columns should be stacked. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"stackGroup\": {\n      \"description\": \"/** An ID to be used to group stacked items. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"normalizedTo\": {\n      \"description\": \"/** The number to normalise the bar stacks to. Has no effect when `grouped` is `true`. For example, if `normalizedTo` is set to `100`, the bar stacks will all be scaled proportionally so that each of their totals is 100. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve x-values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The keys to use to retrieve y-values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** Human-readable description of the y-values. If supplied, a corresponding `yName` will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"flipXY\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"fill\": {\n      \"description\": \"/** The colour to use for the fill of the bars. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colours to use for the stroke of the bars. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the bars. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the bars. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the bars. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the bar/column strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    },\n    \"lineDashOffset\": {\n      \"description\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"shadow\": {\n      \"description\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"type\": { \"returnType\": \"AgDropShadowOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels shown on bars. */\",\n      \"type\": { \"returnType\": \"AgBarSeriesLabelOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Series-specific tooltip configuration. */\",\n      \"type\": { \"returnType\": \"AgBarSeriesTooltip\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** Function used to return formatting for individual bars/columns, based on the given parameters. If the current bar/column is highlighted, the `highlighted` property will be set to `true`; make sure to check this if you want to differentiate between the highlighted and un-highlighted states. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgBarSeriesFormatterParams<DatumType>\" },\n        \"returnType\": \"AgBarSeriesFormat\",\n        \"optional\": true\n      }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType = any\"] },\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightStyle\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    }\n  },\n  \"AgHistogramSeriesLabelOptions\": {\n    \"formatter\": {\n      \"description\": \"/** Function used to turn 'yKey' values into text to be displayed by a label. By default the values are simply stringified. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgCartesianSeriesLabelFormatterParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not the labels should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgHistogramSeriesTooltipRendererParams\": {\n    \"datum\": {\n      \"type\": { \"returnType\": \"AgHistogramBinDatum<any>\", \"optional\": false }\n    },\n    \"xKey\": {\n      \"description\": \"/** xKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"xValue\": {\n      \"description\": \"/** xValue as read from series data via the xKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** xName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** yKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"yValue\": {\n      \"description\": \"/** yValue as read from series data via the yKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** yName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Series title or yName depending on series configuration. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgHistogramSeriesTooltip\": {\n    \"renderer\": {\n      \"description\": \"/** Function used to create the content for tooltips. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgHistogramSeriesTooltipRendererParams\" },\n        \"returnType\": \"string | AgTooltipRendererResult\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"interaction\": {\n      \"description\": \"/** Configuration for tooltip interaction. */\",\n      \"type\": { \"returnType\": \"AgSeriesTooltipInteraction\", \"optional\": true }\n    }\n  },\n  \"AgHistogramBinDatum\": {\n    \"data\": { \"type\": { \"returnType\": \"DatumType[]\", \"optional\": false } },\n    \"aggregatedValue\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"frequency\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"domain\": {\n      \"type\": { \"returnType\": \"[number, number]\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgHistogramSeriesOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'histogram'\", \"optional\": true } },\n    \"fill\": {\n      \"description\": \"/** The colour of the fill for the histogram bars. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour of the stroke for the histogram bars. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the histogram bars. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the histogram bars. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the histogram bars. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the column strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    },\n    \"lineDashOffset\": {\n      \"description\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve x-values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"xName\": {\n      \"description\": \"/** A human-readable description of the x-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve y-values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yName\": {\n      \"description\": \"/** A human-readable description of the y-values. If supplied, this will be shown in the default tooltip and passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"areaPlot\": {\n      \"description\": \"/** For variable width bins, if true the histogram will represent the aggregated `yKey` values using the area of the bar. Otherwise, the height of the var represents the value as per a normal bar chart. This is useful for keeping an undistorted curve displayed when using variable-width bins. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"bins\": {\n      \"description\": \"/** Set the bins explicitly. The bins need not be of equal width. Note that `bins` is ignored if `binCount` is also supplied. */\",\n      \"type\": { \"returnType\": \"[number, number][]\", \"optional\": true }\n    },\n    \"binCount\": {\n      \"description\": \"/** The number of bins to try to split the x axis into. Clashes with the `bins` setting. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"aggregation\": {\n      \"description\": \"/** Dictates how the bins are aggregated. If set to 'sum', the value shown for the bins will be the total of the yKey values. If set to 'mean', it will display the average yKey value of the bin. */\",\n      \"type\": { \"returnType\": \"'count' | 'sum' | 'mean'\", \"optional\": true }\n    },\n    \"shadow\": {\n      \"description\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"type\": { \"returnType\": \"AgDropShadowOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels shown on bars. */\",\n      \"type\": {\n        \"returnType\": \"AgHistogramSeriesLabelOptions\",\n        \"optional\": true\n      }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Series-specific tooltip configuration. */\",\n      \"type\": { \"returnType\": \"AgHistogramSeriesTooltip\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType = any\"] },\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightStyle\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    }\n  },\n  \"AgPieSeriesLabelOptions\": {\n    \"offset\": {\n      \"description\": \"/** Distance in pixels between the callout line and the label text. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"minAngle\": {\n      \"description\": \"/** Minimum angle in degrees required for a sector to show a label. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** A function that allows the modification of the label text based on input parameters. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgPieSeriesLabelFormatterParams<DatumType>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"enabled\": {\n      \"description\": \"/** Whether or not the labels should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgPieSeriesSectorLabelOptions\": {\n    \"positionOffset\": {\n      \"description\": \"/** Distance in pixels, used to make the label text closer to or further from the center. This offset is applied after positionRatio. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"positionRatio\": {\n      \"description\": \"/** Position of labels as a ratio proportional to pie radius (or doughnut thickness). Additional offset in pixels can be applied by using positionOffset. */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** A function that allows the modification of the label text based on input parameters. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgPieSeriesLabelFormatterParams<DatumType>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"enabled\": {\n      \"description\": \"/** Whether or not the labels should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgPieSeriesFormatterParams\": {\n    \"datum\": { \"type\": { \"returnType\": \"DatumType\", \"optional\": false } },\n    \"fill\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"PixelSize\", \"optional\": false } },\n    \"highlighted\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"angleKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"radiusKey\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"sectorLabelKey\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"seriesId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgPieSeriesFormat\": {\n    \"fill\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"fillOpacity\": { \"type\": { \"returnType\": \"Opacity\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"CssColor\", \"optional\": true } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"PixelSize\", \"optional\": true } }\n  },\n  \"AgPieSeriesTooltip\": {\n    \"renderer\": {\n      \"description\": \"/** Function used to create the content for tooltips. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgPieSeriesTooltipRendererParams\" },\n        \"returnType\": \"string | AgTooltipRendererResult\",\n        \"optional\": true\n      }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"interaction\": {\n      \"description\": \"/** Configuration for tooltip interaction. */\",\n      \"type\": { \"returnType\": \"AgSeriesTooltipInteraction\", \"optional\": true }\n    }\n  },\n  \"AgPieTitleOptions\": {\n    \"showInLegend\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"enabled\": {\n      \"description\": \"/** Whether or not the text should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"text\": {\n      \"description\": \"/** The text to display. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the text. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the text. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the text. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the text. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the text. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"spacing\": {\n      \"description\": \"/** Spacing added to help position the text. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AgPieSeriesCalloutOptions\": {\n    \"colors\": {\n      \"description\": \"/** The colours to cycle through for the strokes of the callouts. */\",\n      \"type\": { \"returnType\": \"CssColor[]\", \"optional\": true }\n    },\n    \"length\": {\n      \"description\": \"/** The length in pixels of the callout lines. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for callout lines. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgDoughnutInnerLabel\": {\n    \"text\": {\n      \"description\": \"/** The text to show in the inner label. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the inner label. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the inner label. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the inner label. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the inner label. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the inner label. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"margin\": {\n      \"description\": \"/** The margin in pixels before and after the inner label. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgDoughnutInnerLabelThemeOptions\": {\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the inner label. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the inner label. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the inner label. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the inner label. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the inner label. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"margin\": {\n      \"description\": \"/** The margin in pixels before and after the inner label. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    }\n  },\n  \"AgDoughnutInnerCircle\": {\n    \"fill\": {\n      \"description\": \"/** The colour of the fill for the inner circle. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": false }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the inner circle. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    }\n  },\n  \"AgPieSeriesOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'pie'\", \"optional\": true } },\n    \"title\": {\n      \"description\": \"/** Configuration for the series title. */\",\n      \"type\": { \"returnType\": \"AgPieTitleOptions\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels used outside of the sectors.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabel instead.\\n     */\",\n      \"type\": {\n        \"returnType\": \"AgPieSeriesLabelOptions<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"calloutLabel\": {\n      \"description\": \"/** Configuration for the labels used outside of the sectors. */\",\n      \"type\": {\n        \"returnType\": \"AgPieSeriesLabelOptions<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"sectorLabel\": {\n      \"description\": \"/** Configuration for the labels used inside the sectors. */\",\n      \"type\": {\n        \"returnType\": \"AgPieSeriesSectorLabelOptions<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"callout\": {\n      \"description\": \"/** Configuration for the callout lines used with the labels for the sectors.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLine instead.\\n     */\",\n      \"type\": { \"returnType\": \"AgPieSeriesCalloutOptions\", \"optional\": true }\n    },\n    \"calloutLine\": {\n      \"description\": \"/** Configuration for the callout lines used with the labels for the sectors. */\",\n      \"type\": { \"returnType\": \"AgPieSeriesCalloutOptions\", \"optional\": true }\n    },\n    \"angleKey\": {\n      \"description\": \"/** The key to use to retrieve angle values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"angleName\": {\n      \"description\": \"/** A human-readable description of the angle values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** The key to use to retrieve radius values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusName\": {\n      \"description\": \"/** A human-readable description of the radius values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** The key to use to retrieve label values from the data.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelKey or series.sectorLabelKey instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelName\": {\n      \"description\": \"/** A human-readable description of the label values. If supplied, this will be passed to the tooltip renderer as one of the parameters.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelName or series.sectorLabelName instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelKey\": {\n      \"description\": \"/** The key to use to retrieve label values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelName\": {\n      \"description\": \"/** A human-readable description of the label values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelKey\": {\n      \"description\": \"/** The key to use to retrieve sector label values from the data. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelName\": {\n      \"description\": \"/** A human-readable description of the sector label values. If supplied, this will be passed to the tooltip renderer as one of the parameters. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fills\": {\n      \"description\": \"/** The colours to cycle through for the fills of the sectors. */\",\n      \"type\": { \"returnType\": \"CssColor[]\", \"optional\": true }\n    },\n    \"strokes\": {\n      \"description\": \"/** The colours to cycle through for the strokes of the sectors. */\",\n      \"type\": { \"returnType\": \"CssColor[]\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the sectors. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the sectors. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the sectors. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the pie sector strokes are rendered. Every number in the array specifies the length in pixels of alternating dashes and gaps. For example, `[6, 3]` means dashes with a length of `6` pixels with gaps between of `3` pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize[]\", \"optional\": true }\n    },\n    \"lineDashOffset\": {\n      \"description\": \"/** The initial offset of the dashed line in pixels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"rotation\": {\n      \"description\": \"/** The rotation of the pie series in degrees. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"outerRadiusOffset\": {\n      \"description\": \"/** The offset in pixels of the outer radius of the series. Used to construct doughnut charts. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"outerRadiusRatio\": {\n      \"description\": \"/** The ratio of the outer radius of the series. Used to adjust the outer radius proportionally to the automatically calculated value. */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"innerRadiusOffset\": {\n      \"description\": \"/** The offset in pixels of the inner radius of the series. Used to construct doughnut charts. If this is not provided, or innerRadiusRatio is unset, or a value of zero is given, a pie chart will be rendered. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"innerRadiusRatio\": {\n      \"description\": \"/** The ratio of the inner radius of the series. Used to construct doughnut charts. If this is not provided, or innerRadiusOffset is unset, or a value of zero or one is given, a pie chart will be rendered. */\",\n      \"type\": { \"returnType\": \"Ratio\", \"optional\": true }\n    },\n    \"radiusMin\": {\n      \"description\": \"/** Override of the automatically determined minimum radiusKey value from the data. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"radiusMax\": {\n      \"description\": \"/** Override of the automatically determined maximum radiusKey value from the data. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"shadow\": {\n      \"description\": \"/** Configuration for the shadow used behind the chart series. */\",\n      \"type\": { \"returnType\": \"AgDropShadowOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Series-specific tooltip configuration. */\",\n      \"type\": { \"returnType\": \"AgPieSeriesTooltip\", \"optional\": true }\n    },\n    \"innerLabels\": {\n      \"description\": \"/** Configuration for the text lines to display inside the series, typically used when rendering a doughnut chart */\",\n      \"type\": { \"returnType\": \"AgDoughnutInnerLabel[]\", \"optional\": true }\n    },\n    \"innerCircle\": {\n      \"description\": \"/** Configuration for the area inside the series, only visible when rendering a doughnut chart by using innerRadiusOffset or innerRadiusRatio */\",\n      \"type\": { \"returnType\": \"AgDoughnutInnerCircle\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** A formatter function for adjusting the styling of the pie sectors. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgPieSeriesFormatterParams<DatumType>\" },\n        \"returnType\": \"AgPieSeriesFormat\",\n        \"optional\": true\n      }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType = any\"] },\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for series markers and series line highlighting when a marker / data point or a legend item is hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightStyle\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    }\n  },\n  \"AgPieSeriesTooltipRendererParams\": {\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelKey or series.sectorLabelKey instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelName\": {\n      \"description\": \"/** labelName as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use series.calloutLabelName or series.sectorLabelName instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelKey\": {\n      \"description\": \"/** calloutLabelKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelName\": {\n      \"description\": \"/** calloutLabelName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelKey\": {\n      \"description\": \"/** sectorLabelKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelName\": {\n      \"description\": \"/** sectorLabelName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"angleKey\": {\n      \"description\": \"/** angleKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"angleValue\": {\n      \"description\": \"/** angleValue as read from series data via the angleKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"angleName\": {\n      \"description\": \"/** angleName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** radiusKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusValue\": {\n      \"description\": \"/** radiusValue as read from series data via the radiusKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"radiusName\": {\n      \"description\": \"/** radiusName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"datum\": {\n      \"description\": \"/** Datum from the series data array that the tooltip is being rendered for. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"title\": {\n      \"description\": \"/** Series title or yName depending on series configuration. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** Series primary colour, as selected from the active theme, series options or formatter. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgPieSeriesLabelFormatterParams\": {\n    \"datum\": {\n      \"description\": \"/** Datum from the series data array that the label is being rendered for. */\",\n      \"type\": { \"returnType\": \"DatumType\", \"optional\": false }\n    },\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use calloutLabelKey instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelValue\": {\n      \"description\": \"/** labelValue as read from series data via the labelKey property.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use calloutLabelValue instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelName\": {\n      \"description\": \"/** labelName as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use calloutLabelName instead.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelKey\": {\n      \"description\": \"/** calloutLabelKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelValue\": {\n      \"description\": \"/** calloutLabelValue as read from series data via the calloutLabelKey property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"calloutLabelName\": {\n      \"description\": \"/** calloutLabelName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelKey\": {\n      \"description\": \"/** sectorLabelKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelValue\": {\n      \"description\": \"/** sectorLabelValue as read from series data via the sectorLabelKey property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sectorLabelName\": {\n      \"description\": \"/** sectorLabelName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"angleKey\": {\n      \"description\": \"/** angleKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"angleValue\": {\n      \"description\": \"/** angleValue as read from series data via the angleKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"angleName\": {\n      \"description\": \"/** angleName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusKey\": {\n      \"description\": \"/** radiusKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"radiusValue\": {\n      \"description\": \"/** radiusValue as read from series data via the radiusKey property. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"radiusName\": {\n      \"description\": \"/** radiusName as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"value\": {\n      \"description\": \"/** The value of labelKey as specified on series options.\\n     *\\n     * @deprecated since v6.2.0 (ag-grid v28.2.0) Use item.datum instead.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgTreemapSeriesLabelOptions\": {\n    \"padding\": {\n      \"description\": \"/** The amount of the tile's vertical space to reserve for the label. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"enabled\": {\n      \"description\": \"/** Whether or not the labels should be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** The font style to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontStyle\", \"optional\": true }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** The font weight to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontWeight\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The font size in pixels to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontSize\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** The font family to use for the labels. */\",\n      \"type\": { \"returnType\": \"FontFamily\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to use for the labels. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgTreemapSeriesTooltipRendererParams\": {\n    \"datum\": {\n      \"description\": \"/** Datum from the series data that the treemap tile is being rendered for. */\",\n      \"type\": { \"returnType\": \"DatumType\", \"optional\": false }\n    },\n    \"parent\": {\n      \"description\": \"/** The parent of the datum from the treemap data. */\",\n      \"type\": { \"returnType\": \"DataValue\", \"optional\": true }\n    },\n    \"depth\": {\n      \"description\": \"/** The depth of the datum in the hierarchy. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"sizeKey\": {\n      \"description\": \"/** sizeKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"colorKey\": {\n      \"description\": \"/** colorKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The computed fill colour of the treemap tile. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** The title of the treemap tile */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] }\n  },\n  \"AgTreemapSeriesTooltip\": {\n    \"renderer\": {\n      \"description\": \"/** Function used to create the content for tooltips. */\",\n      \"type\": {\n        \"arguments\": {\n          \"params\": \"AgTreemapSeriesTooltipRendererParams<DatumType>\"\n        },\n        \"returnType\": \"string | AgTooltipRendererResult\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType\"] },\n    \"enabled\": {\n      \"description\": \"/** Whether or not to show tooltips when the series are hovered over. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** The position of the tooltip. By default the tooltip follows the mouse pointer. */\",\n      \"type\": { \"returnType\": \"AgTooltipPositionOptions\", \"optional\": true }\n    },\n    \"interaction\": {\n      \"description\": \"/** Configuration for tooltip interaction. */\",\n      \"type\": { \"returnType\": \"AgSeriesTooltipInteraction\", \"optional\": true }\n    }\n  },\n  \"AgTreemapSeriesLabelsOptions\": {\n    \"large\": {\n      \"description\": \"/** The label configuration for the large leaf tiles. */\",\n      \"type\": { \"returnType\": \"AgChartLabelOptions\", \"optional\": true }\n    },\n    \"medium\": {\n      \"description\": \"/** The label configuration for the medium-sized leaf tiles. */\",\n      \"type\": { \"returnType\": \"AgChartLabelOptions\", \"optional\": true }\n    },\n    \"small\": {\n      \"description\": \"/** The label configuration for the small leaf tiles. */\",\n      \"type\": { \"returnType\": \"AgChartLabelOptions\", \"optional\": true }\n    },\n    \"value\": {\n      \"description\": \"/** The configuration for the cell value label. */\",\n      \"type\": {\n        \"returnType\": \"{\\n        /** A property to be used as a key to retrieve a value from datum. */\\n        key?: string;\\n        /** A name of a datum value. */\\n        name?: string;\\n        /** A function to generate a value label from datum. */\\n        formatter?: (params: { datum: any }) => string | undefined;\\n        /** The label's font and color style. */\\n        style?: AgChartLabelOptions;\\n    }\",\n        \"optional\": true\n      }\n    }\n  },\n  \"AgTreemapSeriesHighlightTextStyle\": {\n    \"color\": {\n      \"description\": \"/** The colour of an item's text when tapped or hovered over. Use `undefined` for no highlight. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    }\n  },\n  \"AgTreemapSeriesHighlightStyle\": {\n    \"text\": {\n      \"description\": \"/** Highlight style used for a text when item is tapped or hovered over. */\",\n      \"type\": {\n        \"returnType\": \"AgTreemapSeriesHighlightTextStyle\",\n        \"optional\": true\n      }\n    },\n    \"item\": {\n      \"description\": \"/** Highlight style used for an individual marker when tapped or hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightMarkerStyle\", \"optional\": true }\n    },\n    \"series\": {\n      \"description\": \"/** Highlight style used for whole series when one of its markers is tapped or hovered over. */\",\n      \"type\": { \"returnType\": \"AgSeriesHighlightSeriesStyle\", \"optional\": true }\n    }\n  },\n  \"AgTreemapSeriesOptions\": {\n    \"type\": { \"type\": { \"returnType\": \"'treemap'\", \"optional\": true } },\n    \"title\": {\n      \"description\": \"/** The label configuration for the top-level tiles. */\",\n      \"type\": { \"returnType\": \"AgTreemapSeriesLabelOptions\", \"optional\": true }\n    },\n    \"subtitle\": {\n      \"description\": \"/** The label configuration for the children of the top-level parent tiles. */\",\n      \"type\": { \"returnType\": \"AgTreemapSeriesLabelOptions\", \"optional\": true }\n    },\n    \"labels\": {\n      \"description\": \"/** Configuration for the tile labels. */\",\n      \"type\": { \"returnType\": \"AgTreemapSeriesLabelsOptions\", \"optional\": true }\n    },\n    \"labelKey\": {\n      \"description\": \"/** The name of the node key containing the label. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"sizeKey\": {\n      \"description\": \"/** The name of the node key containing the size value. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"colorKey\": {\n      \"description\": \"/** The name of the node key containing the color value. This value (along with `colorDomain` and `colorRange` configs) will be used to determine the tile color. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"colorDomain\": {\n      \"description\": \"/** The domain the 'colorKey' values belong to. The domain can contain more than two stops, for example `[-5, 0, -5]`. In that case the 'colorRange' should also use a matching number of colors. */\",\n      \"type\": { \"returnType\": \"number[]\", \"optional\": true }\n    },\n    \"colorRange\": {\n      \"description\": \"/** The color range to interpolate the numeric `colorDomain` into. For example, if the `colorDomain` is `[-5, 5]` and `colorRange` is `['red', 'green']`, a `colorKey` value of `-5` will be assigned the 'red' color, `5` - 'green' color and `0` a blend of 'red' and 'green'. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"groupFill\": {\n      \"description\": \"/** The group fill color. If undefined the value based on `colorKey` will be used. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"groupStroke\": {\n      \"description\": \"/** The group's stroke color. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"groupStrokeWidth\": {\n      \"description\": \"/** The group's stroke width. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tileStroke\": {\n      \"description\": \"/** The tile's stroke color. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"tileStrokeWidth\": {\n      \"description\": \"/** The tile's stroke width. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Series-specific tooltip configuration. */\",\n      \"type\": {\n        \"returnType\": \"AgTreemapSeriesTooltip<DatumType>\",\n        \"optional\": true\n      }\n    },\n    \"nodePadding\": {\n      \"description\": \"/** The amount of padding in pixels inside of each treemap tile. Increasing `nodePadding` will reserve more space for parent labels. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"gradient\": {\n      \"description\": \"/** Whether or not to use gradients for treemap tiles. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tileShadow\": {\n      \"description\": \"/** Configuration for the shadow used behind the treemap tiles. */\",\n      \"type\": { \"returnType\": \"AgDropShadowOptions\", \"optional\": true }\n    },\n    \"labelShadow\": {\n      \"description\": \"/** Configuration for the shadow used behind the treemap labels. */\",\n      \"type\": { \"returnType\": \"AgDropShadowOptions\", \"optional\": true }\n    },\n    \"highlightGroups\": {\n      \"description\": \"/** Determines whether the groups will be highlighted by cursor. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** Configuration for treemap tiles when they are hovered over. */\",\n      \"type\": {\n        \"returnType\": \"AgTreemapSeriesHighlightStyle\",\n        \"optional\": true\n      }\n    },\n    \"formatter\": {\n      \"description\": \"/** A callback function for adjusting the styles of a particular treemap tile based on the input parameters */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"AgTreemapSeriesFormatterParams<DataValue>\" },\n        \"returnType\": \"AgTreemapSeriesFormat\",\n        \"optional\": true\n      }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgSeriesListeners<DatumType>\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"DatumType = any\"] },\n    \"id\": {\n      \"description\": \"/** Primary identifier for the series. This is provided as `seriesId` in user callbacks to differentiate multiple\\n     * series. Auto-generated ids are subject to future change without warning, if your callbacks need to vary behaviour\\n     * by series please supply your own unique `id` value.\\n     *\\n     * Default: auto-generated value\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to use when rendering the series. If this is not supplied, data must be set on the chart instead. */\",\n      \"type\": { \"returnType\": \"DatumType[]\", \"optional\": true }\n    },\n    \"visible\": {\n      \"description\": \"/** Whether or not to display the series. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showInLegend\": {\n      \"description\": \"/** Whether or not to include the series in the legend. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cursor\": {\n      \"description\": \"/** The cursor to use for hovered area markers. This config is identical to the CSS `cursor` property. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"nodeClickRange\": {\n      \"description\": \"/** Range from a node a click triggers the listener. */\",\n      \"type\": { \"returnType\": \"AgChartInteractionRange\", \"optional\": true }\n    }\n  },\n  \"AgTreemapSeriesFormatterParams\": {\n    \"datum\": {\n      \"description\": \"/** Datum from the series data that the treemap tile is being rendered for. */\",\n      \"type\": { \"returnType\": \"DataValue\", \"optional\": false }\n    },\n    \"parent\": {\n      \"description\": \"/** The parent of the datum from the treemap data. */\",\n      \"type\": { \"returnType\": \"DataValue\", \"optional\": true }\n    },\n    \"depth\": {\n      \"description\": \"/** The depth of the datum in the hierarchy. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"labelKey\": {\n      \"description\": \"/** labelKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"sizeKey\": {\n      \"description\": \"/** sizeKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"colorKey\": {\n      \"description\": \"/** colorKey as specified on series options. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The colour of the fill for the treemap tile. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the treemap tile. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour of the stroke for the treemap tile. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the treemap tile. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the treemap tile. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"gradient\": {\n      \"description\": \"/** Whether or not the gradients are used for treemap tiles. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"highlighted\": {\n      \"description\": \"/** `true` if the tile is highlighted by hovering */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"seriesId\": {\n      \"description\": \"/** The ID of the series. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"DataValue = any\"] }\n  },\n  \"AgTreemapSeriesFormat\": {\n    \"fill\": {\n      \"description\": \"/** The colour of the fill for the treemap tile. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"fillOpacity\": {\n      \"description\": \"/** The opacity of the fill for the treemap tile. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The colour of the stroke for the treemap tile. */\",\n      \"type\": { \"returnType\": \"CssColor\", \"optional\": true }\n    },\n    \"strokeOpacity\": {\n      \"description\": \"/** The opacity of the stroke for the treemap tile. */\",\n      \"type\": { \"returnType\": \"Opacity\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The width in pixels of the stroke for the treemap tile. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"gradient\": {\n      \"description\": \"/** Whether or not the gradient is used for the treemap tile. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"AgCartesianSeriesOptions\": { \"meta\": { \"typeParams\": [\"TAddon = never\"] } },\n  \"AgPolarSeriesOptions\": {},\n  \"AgHierarchySeriesOptions\": {},\n  \"AgCartesianChartOptions\": {\n    \"type\": {\n      \"description\": \"/** If specified overrides the default series type. */\",\n      \"type\": {\n        \"returnType\": \"'line' | 'bar' | 'column' | 'area' | 'scatter' | 'histogram' | TAddonType\",\n        \"optional\": true\n      }\n    },\n    \"axes\": {\n      \"description\": \"/** Axis configurations. */\",\n      \"type\": { \"returnType\": \"AgCartesianAxisOptions[]\", \"optional\": true }\n    },\n    \"series\": {\n      \"description\": \"/** Series configurations. */\",\n      \"type\": {\n        \"returnType\": \"AgCartesianSeriesOptions<TAddonSeries>[]\",\n        \"optional\": true\n      }\n    },\n    \"navigator\": {\n      \"description\": \"/** Configuration for the chart navigator. */\",\n      \"type\": { \"returnType\": \"AgNavigatorOptions\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TAddonType = never\", \"TAddonSeries = never\"] },\n    \"data\": {\n      \"description\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"container\": {\n      \"description\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"autoSize\": {\n      \"description\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding shown around the chart. */\",\n      \"type\": { \"returnType\": \"AgChartPaddingOptions\", \"optional\": true }\n    },\n    \"seriesAreaPadding\": {\n      \"description\": \"/** Configuration for the padding around the series area. */\",\n      \"type\": { \"returnType\": \"AgSeriesAreaPaddingOptions\", \"optional\": true }\n    },\n    \"background\": {\n      \"description\": \"/** Configuration for the background shown behind the chart. */\",\n      \"type\": { \"returnType\": \"AgChartBackground\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartCaptionOptions\", \"optional\": true }\n    },\n    \"subtitle\": {\n      \"description\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"type\": { \"returnType\": \"AgChartSubtitleOptions\", \"optional\": true }\n    },\n    \"footnote\": {\n      \"description\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartFooterOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"type\": { \"returnType\": \"AgChartTooltipOptions\", \"optional\": true }\n    },\n    \"legend\": {\n      \"description\": \"/** Configuration for the chart legend. */\",\n      \"type\": { \"returnType\": \"AgChartLegendOptions\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgBaseChartListeners\", \"optional\": true }\n    },\n    \"highlight\": {\n      \"description\": \"/** Configuration for the chart highlighting. */\",\n      \"type\": { \"returnType\": \"AgChartHighlightOptions\", \"optional\": true }\n    },\n    \"theme\": {\n      \"description\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"type\": { \"returnType\": \"string | AgChartTheme\", \"optional\": true }\n    },\n    \"overlays\": {\n      \"description\": \"/** HTML overlays */\",\n      \"type\": { \"returnType\": \"AgChartOverlaysOptions\", \"optional\": true }\n    }\n  },\n  \"AgPolarChartOptions\": {\n    \"type\": {\n      \"description\": \"/** If specified overrides the default series type. */\",\n      \"type\": { \"returnType\": \"'pie'\", \"optional\": true }\n    },\n    \"series\": {\n      \"description\": \"/** Series configurations. */\",\n      \"type\": { \"returnType\": \"AgPolarSeriesOptions[]\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The data to render the chart from. If this is not specified, it must be set on individual series instead. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"container\": {\n      \"description\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"autoSize\": {\n      \"description\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding shown around the chart. */\",\n      \"type\": { \"returnType\": \"AgChartPaddingOptions\", \"optional\": true }\n    },\n    \"seriesAreaPadding\": {\n      \"description\": \"/** Configuration for the padding around the series area. */\",\n      \"type\": { \"returnType\": \"AgSeriesAreaPaddingOptions\", \"optional\": true }\n    },\n    \"background\": {\n      \"description\": \"/** Configuration for the background shown behind the chart. */\",\n      \"type\": { \"returnType\": \"AgChartBackground\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartCaptionOptions\", \"optional\": true }\n    },\n    \"subtitle\": {\n      \"description\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"type\": { \"returnType\": \"AgChartSubtitleOptions\", \"optional\": true }\n    },\n    \"footnote\": {\n      \"description\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartFooterOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"type\": { \"returnType\": \"AgChartTooltipOptions\", \"optional\": true }\n    },\n    \"legend\": {\n      \"description\": \"/** Configuration for the chart legend. */\",\n      \"type\": { \"returnType\": \"AgChartLegendOptions\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgBaseChartListeners\", \"optional\": true }\n    },\n    \"highlight\": {\n      \"description\": \"/** Configuration for the chart highlighting. */\",\n      \"type\": { \"returnType\": \"AgChartHighlightOptions\", \"optional\": true }\n    },\n    \"theme\": {\n      \"description\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"type\": { \"returnType\": \"string | AgChartTheme\", \"optional\": true }\n    },\n    \"overlays\": {\n      \"description\": \"/** HTML overlays */\",\n      \"type\": { \"returnType\": \"AgChartOverlaysOptions\", \"optional\": true }\n    }\n  },\n  \"AgHierarchyChartOptions\": {\n    \"type\": {\n      \"description\": \"/** If specified overrides the default series type. */\",\n      \"type\": { \"returnType\": \"'treemap'\", \"optional\": true }\n    },\n    \"data\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"series\": {\n      \"description\": \"/** Series configurations. */\",\n      \"type\": { \"returnType\": \"AgHierarchySeriesOptions[]\", \"optional\": true }\n    },\n    \"container\": {\n      \"description\": \"/** The element to place the rendered chart into.<br/><strong>Important:</strong> make sure to read the `autoSize` config description for information on how the container element affects the chart size (by default). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the chart in pixels. Has no effect if `autoSize` is set to `true`. */\",\n      \"type\": { \"returnType\": \"PixelSize\", \"optional\": true }\n    },\n    \"autoSize\": {\n      \"description\": \"/** By default, the chart will resize automatically to fill the container element. Set this to `false` to disable this behaviour. If either the `width` or `height` are set, auto-sizing will be disabled unless this is explicitly set to `true`.<br/><strong>Important:</strong> if this config is set to `true`, make sure to give the chart's `container` element an explicit size, otherwise you will run into a chicken and egg situation where the container expects to size itself according to the content and the chart expects to size itself according to the container. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding shown around the chart. */\",\n      \"type\": { \"returnType\": \"AgChartPaddingOptions\", \"optional\": true }\n    },\n    \"seriesAreaPadding\": {\n      \"description\": \"/** Configuration for the padding around the series area. */\",\n      \"type\": { \"returnType\": \"AgSeriesAreaPaddingOptions\", \"optional\": true }\n    },\n    \"background\": {\n      \"description\": \"/** Configuration for the background shown behind the chart. */\",\n      \"type\": { \"returnType\": \"AgChartBackground\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** Configuration for the title shown at the top of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartCaptionOptions\", \"optional\": true }\n    },\n    \"subtitle\": {\n      \"description\": \"/** Configuration for the subtitle shown beneath the chart title. Note: a subtitle will only be shown if a title is also present. */\",\n      \"type\": { \"returnType\": \"AgChartSubtitleOptions\", \"optional\": true }\n    },\n    \"footnote\": {\n      \"description\": \"/** Configuration for the footnote shown at the bottom of the chart. */\",\n      \"type\": { \"returnType\": \"AgChartFooterOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Global configuration that applies to all tooltips in the chart. */\",\n      \"type\": { \"returnType\": \"AgChartTooltipOptions\", \"optional\": true }\n    },\n    \"legend\": {\n      \"description\": \"/** Configuration for the chart legend. */\",\n      \"type\": { \"returnType\": \"AgChartLegendOptions\", \"optional\": true }\n    },\n    \"listeners\": {\n      \"description\": \"/** A map of event names to event listeners. */\",\n      \"type\": { \"returnType\": \"AgBaseChartListeners\", \"optional\": true }\n    },\n    \"highlight\": {\n      \"description\": \"/** Configuration for the chart highlighting. */\",\n      \"type\": { \"returnType\": \"AgChartHighlightOptions\", \"optional\": true }\n    },\n    \"theme\": {\n      \"description\": \"/** Theme to use for rendering of the chart. Specify an inbuilt theme name, or provide an `AgChartTheme` instance to customise. */\",\n      \"type\": { \"returnType\": \"string | AgChartTheme\", \"optional\": true }\n    },\n    \"overlays\": {\n      \"description\": \"/** HTML overlays */\",\n      \"type\": { \"returnType\": \"AgChartOverlaysOptions\", \"optional\": true }\n    }\n  },\n  \"AgChartOptions\": {\n    \"meta\": { \"typeParams\": [\"TAddonType = never\", \"TAddonSeries = never\"] }\n  },\n  \"AgChartInstance\": {\n    \"getOptions\": {\n      \"description\": \"/** Get the `AgChartOptions` representing the current chart configuration. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"AgChartOptions\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Destroy the chart instance and any allocated resources to support its rendering. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"SeriesOptionType\": { \"meta\": { \"typeParams\": [\"T extends Series\"] } },\n  \"DownloadOptions\": {\n    \"fileName\": {\n      \"description\": \"/** Name of downloaded image file. Defaults to `image`.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** Width of downloaded chart image in pixels. Defaults to current chart width. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** Height of downloaded chart image in pixels. Defaults to current chart height. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"fileFormat\": {\n      \"description\": \"/** A MIME-type string indicating the image format. The default format type is `image/png`. Options: `image/png`, `image/jpeg`.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"ImageDataUrlOptions\": {\n    \"width\": {\n      \"description\": \"/** Width of downloaded chart image in pixels. Defaults to current chart width. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** Height of downloaded chart image in pixels. Defaults to current chart height. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"fileFormat\": {\n      \"description\": \"/** A MIME-type string indicating the image format. The default format type is `image/png`. Options: `image/png`, `image/jpeg`.  */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"DeepPartialDepth\": {},\n  \"DeepPartial\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"AgChart\": {\n    \"create\": {\n      \"description\": \"/** Create a new `AgChartInstance` based upon the given configuration options.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"options\": \"AgChartOptions\" },\n        \"returnType\": \"AgChartInstance\",\n        \"optional\": false\n      }\n    },\n    \"update\": {\n      \"description\": \"/** Update an existing `AgChartInstance`. Options provided should be complete and not\\n     * partial.\\n     * <br/>\\n     * <br/>\\n     * **NOTE**: As each call could trigger a chart redraw, multiple calls to update options in\\n     * quick succession could result in undesirable flickering, so callers should batch up and/or\\n     * debounce changes to avoid unintended partial update renderings.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"chart\": \"AgChartInstance\",\n          \"options\": \"AgChartOptions\"\n        },\n        \"optional\": false\n      }\n    },\n    \"updateDelta\": {\n      \"description\": \"/** Update an existing `AgChartInstance` by applying a partial set of option changes.\\n     * <br/>\\n     * <br/>\\n     * **NOTE**: As each call could trigger a chart redraw, each individual delta options update\\n     * should leave the chart in a valid options state. Also, multiple calls to update options in\\n     * quick succession could result in undesirable flickering, so callers should batch up and/or\\n     * debounce changes to avoid unintended partial update renderings.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"chart\": \"AgChartInstance\",\n          \"deltaOptions\": \"DeepPartial<AgChartOptions>\"\n        },\n        \"optional\": false\n      }\n    },\n    \"download\": {\n      \"description\": \"/** Starts a browser-based image download for the given `AgChartInstance`.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"chart\": \"AgChartInstance\",\n          \"options?\": \"DownloadOptions\"\n        },\n        \"optional\": false\n      }\n    },\n    \"getImageDataURL\": {\n      \"description\": \"/** Returns a base64-encoded image data URL for the given `AgChartInstance`.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"chart\": \"AgChartInstance\",\n          \"options?\": \"ImageDataUrlOptions\"\n        },\n        \"returnType\": \"Promise<string>\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ObservableLike\": {},\n  \"VisibilityMap\": {},\n  \"OptionalHTMLElement\": {},\n  \"TransferableResources\": {},\n  \"ChartUpdateOptions\": {},\n  \"PickedNode\": {},\n  \"BoundSeries\": {\n    \"type\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"getDomain\": {\n      \"type\": {\n        \"arguments\": { \"direction\": \"ChartAxisDirection\" },\n        \"returnType\": \"any[]\",\n        \"optional\": false\n      }\n    },\n    \"isEnabled\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getKeys\": {\n      \"type\": {\n        \"arguments\": { \"direction\": \"ChartAxisDirection\" },\n        \"returnType\": \"string[]\",\n        \"optional\": false\n      }\n    },\n    \"visible\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"getBandScalePadding\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"{ inner: number; outer: number }\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ChartAxisDirection\": {},\n  \"ChartType\": {},\n  \"ChartUpdateType\": {},\n  \"NodeData\": {},\n  \"CrossLineType\": {},\n  \"CrossLineLabelPosition\": {},\n  \"CoordinatesFnOpts\": {},\n  \"CoordinatesFn\": {},\n  \"PositionCalcFns\": {},\n  \"LabelTranslationDirection\": {},\n  \"CrossLineTranslationDirection\": {},\n  \"CrossLinesRangeConfig\": {},\n  \"UngroupedDataItem\": { \"meta\": { \"typeParams\": [\"D\", \"V\"] } },\n  \"UngroupedData\": {\n    \"type\": { \"type\": { \"returnType\": \"'ungrouped'\", \"optional\": false } },\n    \"data\": {\n      \"type\": {\n        \"returnType\": \"UngroupedDataItem<D, any[]>[]\",\n        \"optional\": false\n      }\n    },\n    \"domain\": {\n      \"type\": {\n        \"returnType\": \"{\\n        keys: any[][];\\n        values: any[][];\\n        sumValues?: [number, number][];\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"indices\": {\n      \"type\": {\n        \"returnType\": \"{\\n        keys: Record<keyof D, number>;\\n        values: Record<keyof D, number>;\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"reduced\": {\n      \"type\": { \"returnType\": \"Record<string, any>\", \"optional\": true }\n    },\n    \"defs\": {\n      \"type\": {\n        \"returnType\": \"{\\n        keys: DatumPropertyDefinition<keyof D>[];\\n        values: DatumPropertyDefinition<keyof D>[];\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"time\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"D\"] }\n  },\n  \"GroupedData\": {\n    \"type\": { \"type\": { \"returnType\": \"'grouped'\", \"optional\": false } },\n    \"data\": {\n      \"type\": {\n        \"returnType\": \"UngroupedDataItem<D[], any[][]>[]\",\n        \"optional\": false\n      }\n    },\n    \"domain\": {\n      \"type\": {\n        \"returnType\": \"{\\n        keys: any[][];\\n        values: any[][];\\n        sumValues?: [number, number][];\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"indices\": {\n      \"type\": {\n        \"returnType\": \"{\\n        keys: Record<keyof D, number>;\\n        values: Record<keyof D, number>;\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"reduced\": {\n      \"type\": { \"returnType\": \"Record<string, any>\", \"optional\": true }\n    },\n    \"defs\": {\n      \"type\": {\n        \"returnType\": \"{\\n        keys: DatumPropertyDefinition<keyof D>[];\\n        values: DatumPropertyDefinition<keyof D>[];\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"time\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"D\"] }\n  },\n  \"ProcessedData\": { \"meta\": { \"typeParams\": [\"D\"] } },\n  \"DatumPropertyType\": {},\n  \"ContinuousDomain\": { \"meta\": { \"typeParams\": [\"T extends number | Date\"] } },\n  \"Options\": {\n    \"meta\": { \"typeParams\": [\"K\", \"Grouped extends boolean | undefined\"] }\n  },\n  \"PropertyDefinition\": { \"meta\": { \"typeParams\": [\"K\"] } },\n  \"DatumPropertyDefinition\": { \"meta\": { \"typeParams\": [\"K\"] } },\n  \"InternalDatumPropertyDefinition\": { \"meta\": { \"typeParams\": [\"K\"] } },\n  \"OutputPropertyDefinition\": { \"meta\": { \"typeParams\": [\"K\"] } },\n  \"ReducerOutputPropertyDefinition\": { \"meta\": { \"typeParams\": [\"R\"] } },\n  \"ProcessorOutputPropertyDefinition\": { \"meta\": { \"typeParams\": [\"R\"] } },\n  \"Page\": {},\n  \"Column\": {},\n  \"DimensionProps\": {\n    \"max\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"fn\": {\n      \"type\": {\n        \"arguments\": { \"bbox\": \"BBox\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"padding\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"CursorState\": {\n    \"style\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"HighlightState\": {\n    \"highlightedDatum\": {\n      \"type\": { \"returnType\": \"HighlightNodeDatum\", \"optional\": false }\n    }\n  },\n  \"HighlightNodeDatum\": {\n    \"series\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"cumulativeValue\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"aggregatedValue\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"domain\": {\n      \"type\": { \"returnType\": \"[number, number]\", \"optional\": true }\n    },\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": true }\n    },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"HighlightChangeEvent\": {\n    \"type\": {\n      \"type\": { \"returnType\": \"'highlight-change'\", \"optional\": false }\n    },\n    \"previousHighlight\": {\n      \"type\": { \"returnType\": \"HighlightNodeDatum\", \"optional\": true }\n    },\n    \"currentHighlight\": {\n      \"type\": { \"returnType\": \"HighlightNodeDatum\", \"optional\": true }\n    }\n  },\n  \"InteractionTypes\": {},\n  \"SUPPORTED_EVENTS\": {},\n  \"InteractionEvent\": {\n    \"meta\": { \"typeParams\": [\"T extends InteractionTypes\"] }\n  },\n  \"Coords\": {\n    \"clientX\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"clientY\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"pageX\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"pageY\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"offsetX\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"offsetY\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"SupportedEvent\": {},\n  \"TooltipState\": {\n    \"content\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"type\": { \"returnType\": \"TooltipMeta\", \"optional\": true } }\n  },\n  \"ZoomState\": {\n    \"min\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"max\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"AxisZoomState\": {\n    \"x\": { \"type\": { \"returnType\": \"ZoomState\", \"optional\": true } },\n    \"y\": { \"type\": { \"returnType\": \"ZoomState\", \"optional\": true } }\n  },\n  \"ZoomChangeEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"'zoom-change'\", \"optional\": false } },\n    \"x\": { \"type\": { \"returnType\": \"ZoomState\", \"optional\": true } },\n    \"y\": { \"type\": { \"returnType\": \"ZoomState\", \"optional\": true } }\n  },\n  \"Layers\": {},\n  \"LayoutStage\": {},\n  \"AxisLabelLayout\": {},\n  \"AxisLayout\": {\n    \"rect\": { \"type\": { \"returnType\": \"BBox\", \"optional\": false } },\n    \"gridPadding\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"seriesAreaPadding\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"tickSize\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"label\": { \"type\": { \"returnType\": \"AxisLabelLayout\", \"optional\": false } }\n  },\n  \"LayoutCompleteEvent\": {\n    \"type\": {\n      \"type\": { \"returnType\": \"'layout-complete'\", \"optional\": false }\n    },\n    \"chart\": {\n      \"type\": {\n        \"returnType\": \"{ width: number; height: number }\",\n        \"optional\": false\n      }\n    },\n    \"series\": {\n      \"type\": {\n        \"returnType\": \"{ rect: BBox; paddedRect: BBox; hoverRect: BBox; visible: boolean }\",\n        \"optional\": false\n      }\n    },\n    \"axes\": {\n      \"type\": {\n        \"returnType\": \"(AxisLayout & {\\n        id: string;\\n    })[]\",\n        \"optional\": true\n      }\n    }\n  },\n  \"LayoutContext\": {\n    \"shrinkRect\": { \"type\": { \"returnType\": \"BBox\", \"optional\": false } }\n  },\n  \"LayoutResult\": {\n    \"shrinkRect\": { \"type\": { \"returnType\": \"BBox\", \"optional\": false } }\n  },\n  \"EventTypes\": {},\n  \"LayoutListener\": {},\n  \"LayoutProcessor\": {},\n  \"Handler\": { \"meta\": { \"typeParams\": [\"T extends EventTypes\"] } },\n  \"LegendDatum\": {\n    \"id\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"seriesId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"enabled\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"marker\": {\n      \"type\": {\n        \"returnType\": \"{\\n        shape?: string | (new () => Marker);\\n        fill: string;\\n        stroke: string;\\n        fillOpacity: number;\\n        strokeOpacity: number;\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"label\": {\n      \"type\": {\n        \"returnType\": \"{\\n        text: string; // display name for the sub-component\\n    }\",\n        \"optional\": false\n      }\n    }\n  },\n  \"SeriesOptionsTypes\": {},\n  \"AxesOptionsTypes\": {},\n  \"PreparationContext\": {\n    \"colourIndex\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"palette\": {\n      \"type\": { \"returnType\": \"AgChartThemePalette\", \"optional\": false }\n    }\n  },\n  \"SeriesOptions\": {},\n  \"ReduceConfig\": {\n    \"outputProp\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"reducer\": {\n      \"type\": {\n        \"arguments\": {\n          \"r\": \"T\",\n          \"n\": \"any\",\n          \"idx\": \"number\",\n          \"length\": \"number\"\n        },\n        \"returnType\": \"T\",\n        \"optional\": false\n      }\n    },\n    \"start\": { \"type\": { \"returnType\": \"T\", \"optional\": false } },\n    \"seriesType\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"meta\": { \"typeParams\": [\"T\"] }\n  },\n  \"ThemeMap\": {},\n  \"Transforms\": {\n    \"meta\": {\n      \"typeParams\": [\n        \"Source\",\n        \"Result extends {\\n    [R in keyof Source]?: any;\\n}\",\n        \"Keys extends keyof Source & keyof Result = keyof Source & keyof Result\"\n      ]\n    }\n  },\n  \"SeriesTypes\": {},\n  \"SeriesType\": { \"meta\": { \"typeParams\": [\"T extends SeriesTypes['type']\"] } },\n  \"MarkerPathMove\": {},\n  \"Offset\": {\n    \"offsetX\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"offsetY\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"FillSelectionDatum\": {\n    \"itemId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"points\": {\n      \"type\": { \"returnType\": \"{ x: number; y: number }[]\", \"optional\": false }\n    }\n  },\n  \"StrokeSelectionDatum\": {\n    \"yValues\": {\n      \"type\": { \"returnType\": \"(number | undefined)[]\", \"optional\": false }\n    },\n    \"itemId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"points\": {\n      \"type\": { \"returnType\": \"{ x: number; y: number }[]\", \"optional\": false }\n    }\n  },\n  \"MarkerSelectionDatum\": {\n    \"index\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"fill\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"yValue\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"cumulativeValue\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"LabelSelectionDatum\": {\n    \"index\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"point\": { \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": false } },\n    \"label\": {\n      \"type\": {\n        \"returnType\": \"{\\n        readonly text: string;\\n        readonly fontStyle?: FontStyle;\\n        readonly fontWeight?: FontWeight;\\n        readonly fontSize: number;\\n        readonly fontFamily: string;\\n        readonly textAlign: CanvasTextAlign;\\n        readonly textBaseline: CanvasTextBaseline;\\n        readonly fill: string;\\n    }\",\n        \"optional\": true\n      }\n    }\n  },\n  \"CumulativeValue\": {},\n  \"AreaSeriesTag\": {},\n  \"AreaSeriesNodeDataContext\": {},\n  \"BarNodeDatum\": {\n    \"index\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"yValue\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"cumulativeValue\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"height\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"fill\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"colorIndex\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"label\": {\n      \"type\": {\n        \"returnType\": \"Readonly<Point> & {\\n        readonly text: string;\\n        readonly fontStyle?: FontStyle;\\n        readonly fontWeight?: FontWeight;\\n        readonly fontSize: number;\\n        readonly fontFamily: string;\\n        readonly textAlign: CanvasTextAlign;\\n        readonly textBaseline: CanvasTextBaseline;\\n        readonly fill: string;\\n    }\",\n        \"optional\": true\n      }\n    },\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"x\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"y\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"series\": { \"type\": { \"returnType\": \"Series<any>\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": true }\n    },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"BarSeriesNodeTag\": {},\n  \"NodeDataSelection\": {\n    \"meta\": {\n      \"typeParams\": [\n        \"N extends Node\",\n        \"ContextType extends SeriesNodeDataContext\"\n      ]\n    }\n  },\n  \"LabelDataSelection\": {\n    \"meta\": {\n      \"typeParams\": [\n        \"N extends Node\",\n        \"ContextType extends SeriesNodeDataContext\"\n      ]\n    }\n  },\n  \"CartesianSeriesNodeDatum\": {\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"series\": { \"type\": { \"returnType\": \"Series<any>\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": true }\n    },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"SubGroup\": {\n    \"paths\": { \"type\": { \"returnType\": \"Path[]\", \"optional\": false } },\n    \"dataNodeGroup\": { \"type\": { \"returnType\": \"Group\", \"optional\": false } },\n    \"labelGroup\": { \"type\": { \"returnType\": \"Group\", \"optional\": false } },\n    \"markerGroup\": { \"type\": { \"returnType\": \"Group\", \"optional\": true } },\n    \"datumSelection\": {\n      \"type\": {\n        \"returnType\": \"NodeDataSelection<SceneNodeType, C>\",\n        \"optional\": false\n      }\n    },\n    \"labelSelection\": {\n      \"type\": { \"returnType\": \"LabelDataSelection<Text, C>\", \"optional\": false }\n    },\n    \"markerSelection\": {\n      \"type\": { \"returnType\": \"NodeDataSelection<Marker, C>\", \"optional\": true }\n    },\n    \"meta\": {\n      \"typeParams\": [\n        \"C extends SeriesNodeDataContext\",\n        \"SceneNodeType extends Node\"\n      ]\n    }\n  },\n  \"SeriesOpts\": {\n    \"pathsPerSeries\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"pathsZIndexSubOrderOffset\": {\n      \"type\": { \"returnType\": \"number[]\", \"optional\": false }\n    },\n    \"hasMarkers\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"renderLayerPerSubSeries\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"HistogramSeriesNodeTag\": {},\n  \"HistogramNodeDatum\": {\n    \"x\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"y\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"height\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"fill\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"stroke\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"strokeWidth\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"aggregatedValue\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"domain\": {\n      \"type\": { \"returnType\": \"[number, number]\", \"optional\": false }\n    },\n    \"label\": {\n      \"type\": {\n        \"returnType\": \"{\\n        readonly text: string;\\n        readonly x: number;\\n        readonly y: number;\\n        readonly fontStyle?: FontStyle;\\n        readonly fontWeight?: FontWeight;\\n        readonly fontSize: number;\\n        readonly fontFamily: string;\\n        readonly fill: string;\\n    }\",\n        \"optional\": true\n      }\n    },\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"series\": { \"type\": { \"returnType\": \"Series<any>\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": true }\n    },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"HistogramAggregation\": {},\n  \"AggregationFunction\": {},\n  \"LineNodeDatum\": {\n    \"point\": {\n      \"type\": {\n        \"returnType\": \"SeriesNodeDatum['point'] & {\\n        readonly moveTo: boolean;\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"label\": {\n      \"type\": {\n        \"returnType\": \"{\\n        readonly text: string;\\n        readonly fontStyle?: FontStyle;\\n        readonly fontWeight?: FontWeight;\\n        readonly fontSize: number;\\n        readonly fontFamily: string;\\n        readonly textAlign: CanvasTextAlign;\\n        readonly textBaseline: CanvasTextBaseline;\\n        readonly fill: string;\\n    }\",\n        \"optional\": true\n      }\n    },\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"series\": { \"type\": { \"returnType\": \"Series<any>\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"PointDatum\": {\n    \"xDatum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"yDatum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } }\n  },\n  \"LineContext\": {},\n  \"ScatterNodeDatum\": {\n    \"label\": { \"type\": { \"returnType\": \"MeasuredLabel\", \"optional\": false } },\n    \"xKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"yKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"series\": { \"type\": { \"returnType\": \"Series<any>\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": true }\n    },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"TreeDatum\": {},\n  \"TreemapNodeDatum\": {\n    \"datum\": { \"type\": { \"returnType\": \"TreeDatum\", \"optional\": false } },\n    \"value\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"depth\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"label\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"fill\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"parent\": {\n      \"type\": { \"returnType\": \"TreemapNodeDatum\", \"optional\": true }\n    },\n    \"isLeaf\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"children\": {\n      \"type\": { \"returnType\": \"TreemapNodeDatum[]\", \"optional\": false }\n    },\n    \"series\": { \"type\": { \"returnType\": \"Series<any>\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": true }\n    },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"TextNodeTag\": {},\n  \"TextMeta\": {},\n  \"LabelMeta\": {},\n  \"PieNodeDatum\": {\n    \"index\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"radius\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"startAngle\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"endAngle\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"midAngle\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"midCos\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"midSin\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"calloutLabel\": {\n      \"type\": {\n        \"returnType\": \"{\\n        readonly text: string;\\n        readonly textAlign: CanvasTextAlign;\\n        readonly textBaseline: CanvasTextBaseline;\\n        hidden: boolean;\\n        collisionTextAlign?: CanvasTextAlign;\\n        collisionOffsetY: number;\\n        box?: BBox;\\n    }\",\n        \"optional\": true\n      }\n    },\n    \"sectorLabel\": {\n      \"type\": {\n        \"returnType\": \"{\\n        readonly text: string;\\n    }\",\n        \"optional\": true\n      }\n    },\n    \"sectorFormat\": {\n      \"type\": { \"returnType\": \"AgPieSeriesFormat\", \"optional\": false }\n    },\n    \"series\": { \"type\": { \"returnType\": \"Series<any>\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": true }\n    },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"PieNodeTag\": {},\n  \"SeriesNodeDatum\": {\n    \"series\": { \"type\": { \"returnType\": \"Series<any>\", \"optional\": false } },\n    \"itemId\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"datum\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": true }\n    },\n    \"nodeMidPoint\": {\n      \"type\": { \"returnType\": \"Readonly<Point>\", \"optional\": true }\n    }\n  },\n  \"SeriesNodePickMode\": {},\n  \"SeriesNodePickMatch\": {},\n  \"SeriesNodeDataContext\": {\n    \"meta\": { \"typeParams\": [\"S = SeriesNodeDatum\", \"L = S\"] }\n  },\n  \"TestCase\": {\n    \"options\": {\n      \"type\": { \"returnType\": \"AgChartOptions\", \"optional\": false }\n    },\n    \"assertions\": {\n      \"type\": {\n        \"arguments\": { \"chart\": \"AgChartInstance\" },\n        \"returnType\": \"Promise<void>\",\n        \"optional\": false\n      }\n    },\n    \"extraScreenshotActions\": {\n      \"type\": {\n        \"arguments\": { \"chart\": \"AgChartInstance\" },\n        \"returnType\": \"Promise<void>\",\n        \"optional\": true\n      }\n    }\n  },\n  \"CartesianTestCase\": {\n    \"options\": {\n      \"type\": { \"returnType\": \"AgCartesianChartOptions\", \"optional\": false }\n    },\n    \"assertions\": {\n      \"type\": {\n        \"arguments\": { \"chart\": \"AgChartInstance\" },\n        \"returnType\": \"Promise<void>\",\n        \"optional\": false\n      }\n    },\n    \"extraScreenshotActions\": {\n      \"type\": {\n        \"arguments\": { \"chart\": \"AgChartInstance\" },\n        \"returnType\": \"Promise<void>\",\n        \"optional\": true\n      }\n    }\n  },\n  \"PolarTestCase\": {\n    \"options\": {\n      \"type\": { \"returnType\": \"AgPolarChartOptions\", \"optional\": false }\n    },\n    \"assertions\": {\n      \"type\": {\n        \"arguments\": { \"chart\": \"AgChartInstance\" },\n        \"returnType\": \"Promise<void>\",\n        \"optional\": false\n      }\n    },\n    \"extraScreenshotActions\": {\n      \"type\": {\n        \"arguments\": { \"chart\": \"AgChartInstance\" },\n        \"returnType\": \"Promise<void>\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ChartThemeDefaults\": {},\n  \"ChartThemeParams\": {\n    \"seriesDefaults\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"defaultFontFamily\": {\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"DarkThemeParams\": {\n    \"seriesLabelDefaults\": {\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"EventTarget\": {\n    \"classList\": { \"type\": { \"returnType\": \"DOMTokenList\", \"optional\": false } }\n  },\n  \"TooltipMeta\": {\n    \"pageX\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"pageY\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"offsetX\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"offsetY\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"position\": {\n      \"type\": {\n        \"returnType\": \"{\\n        xOffset?: number;\\n        yOffset?: number;\\n    }\",\n        \"optional\": true\n      }\n    },\n    \"enableInteraction\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"event\": {\n      \"type\": {\n        \"returnType\": \"Event | InteractionEvent<any>\",\n        \"optional\": false\n      }\n    }\n  },\n  \"TooltipPositionType\": {},\n  \"Tick\": {\n    \"labels\": { \"type\": { \"returnType\": \"string[]\", \"optional\": false } }\n  },\n  \"ScaleClampParams\": {\n    \"strict\": {\n      \"description\": \"/** If `true` the values outside of the domain will become `NaN`.\\n     * If `false` such values will be clamped to the domain edges.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"ScaleTickFormatParams\": {\n    \"ticks\": { \"type\": { \"returnType\": \"any[]\", \"optional\": true } },\n    \"specifier\": { \"type\": { \"returnType\": \"any\", \"optional\": true } }\n  },\n  \"Scale\": {\n    \"domain\": { \"type\": { \"returnType\": \"D[]\", \"optional\": false } },\n    \"range\": { \"type\": { \"returnType\": \"R[]\", \"optional\": false } },\n    \"nice\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"tickCount\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"interval\": { \"type\": { \"returnType\": \"I\", \"optional\": true } },\n    \"convert\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"D\", \"params?\": \"ScaleClampParams\" },\n        \"returnType\": \"R\",\n        \"optional\": false\n      }\n    },\n    \"invert\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"R\" },\n        \"returnType\": \"D\",\n        \"optional\": true\n      }\n    },\n    \"ticks\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"D[]\", \"optional\": true }\n    },\n    \"tickFormat\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"ScaleTickFormatParams\" },\n        \"returnType\": \"(x: any) => string\",\n        \"optional\": true\n      }\n    },\n    \"bandwidth\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"meta\": { \"typeParams\": [\"D\", \"R\", \"I = number\"] }\n  },\n  \"DefaultTimeFormats\": {},\n  \"Padding\": {},\n  \"RedrawType\": {},\n  \"SceneChangeDetectionOptions\": {},\n  \"GradientColorStop\": {\n    \"offset\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"color\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"PointerEvents\": {},\n  \"RenderContext\": {},\n  \"Layer\": {},\n  \"ZIndexSubOrder\": {},\n  \"LayerManager\": {\n    \"debug\": {\n      \"type\": { \"returnType\": \"SceneDebugOptions\", \"optional\": false }\n    },\n    \"canvas\": { \"type\": { \"returnType\": \"Layer\", \"optional\": false } },\n    \"markDirty\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"addLayer\": {\n      \"type\": {\n        \"arguments\": {\n          \"opts\": \"{ zIndex?: number; zIndexSubOrder?: ZIndexSubOrder; name?: string; getComputedOpacity: () => number; getVisibility: () => boolean; }\"\n        },\n        \"returnType\": \"Layer | undefined\",\n        \"optional\": false\n      }\n    },\n    \"moveLayer\": {\n      \"type\": {\n        \"arguments\": {\n          \"canvas\": \"Layer\",\n          \"zIndex\": \"number\",\n          \"zIndexSubOrder?\": \"ZIndexSubOrder\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"removeLayer\": {\n      \"type\": {\n        \"arguments\": { \"canvas\": \"Layer\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"Command\": {},\n  \"Point\": {\n    \"x\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"y\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"SizedPoint\": {\n    \"size\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"x\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"y\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"SceneOptions\": {\n    \"document\": { \"type\": { \"returnType\": \"Document\", \"optional\": false } },\n    \"mode\": {\n      \"type\": {\n        \"returnType\": \"'simple' | 'composite' | 'dom-composite' | 'adv-composite'\",\n        \"optional\": false\n      }\n    }\n  },\n  \"SceneLayer\": {\n    \"id\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"name\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"zIndex\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"zIndexSubOrder\": {\n      \"type\": { \"returnType\": \"[string, number]\", \"optional\": true }\n    },\n    \"canvas\": {\n      \"type\": {\n        \"returnType\": \"HdpiOffscreenCanvas | HdpiCanvas\",\n        \"optional\": false\n      }\n    },\n    \"getComputedOpacity\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getVisibility\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"SceneDebugOptions\": {\n    \"stats\": {\n      \"type\": {\n        \"returnType\": \"false | 'basic' | 'detailed'\",\n        \"optional\": false\n      }\n    },\n    \"dirtyTree\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"renderBoundingBoxes\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"consoleLog\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"sceneNodeHighlight\": {\n      \"type\": { \"returnType\": \"(string | RegExp)[]\", \"optional\": false }\n    }\n  },\n  \"NodeConstructor\": { \"meta\": { \"typeParams\": [\"TNode extends Node\"] } },\n  \"NodeFactory\": { \"meta\": { \"typeParams\": [\"TNode extends Node\", \"TDatum\"] } },\n  \"NodeConstructorOrFactory\": {\n    \"meta\": { \"typeParams\": [\"TNode extends Node\", \"TDatum\"] }\n  },\n  \"ArcType\": {},\n  \"ShapeLineCap\": {},\n  \"ShapeLineJoin\": {},\n  \"CanvasContext\": {},\n  \"Comparator\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"LiteralOrFn\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"TransformFn\": {},\n  \"TransformConfig\": {},\n  \"LiteralProperties\": {},\n  \"SkippableProperties\": {},\n  \"IsLiteralProperty\": { \"meta\": { \"typeParams\": [\"T\", \"K extends keyof T\"] } },\n  \"IsSkippableProperty\": {\n    \"meta\": { \"typeParams\": [\"T\", \"K extends keyof T\"] }\n  },\n  \"JsonMergeOptions\": {\n    \"avoidDeepClone\": {\n      \"description\": \"/** Contains a list of properties where deep clones should be avoided\\n     */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    }\n  },\n  \"Classification\": {},\n  \"MeasuredLabel\": {\n    \"text\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"height\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"PlacedLabel\": {\n    \"index\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"datum\": { \"type\": { \"returnType\": \"PLD\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"PLD = PointLabelDatum\"] },\n    \"text\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"height\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"x\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"y\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"PointLabelDatum\": {\n    \"point\": {\n      \"type\": { \"returnType\": \"Readonly<SizedPoint>\", \"optional\": false }\n    },\n    \"label\": { \"type\": { \"returnType\": \"MeasuredLabel\", \"optional\": false } }\n  },\n  \"Bounds\": {\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"height\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"x\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"y\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"Listener\": { \"meta\": { \"typeParams\": [\"H extends Function\"] } },\n  \"ModuleContext\": {\n    \"scene\": { \"type\": { \"returnType\": \"Scene\", \"optional\": false } },\n    \"interactionManager\": {\n      \"type\": { \"returnType\": \"InteractionManager\", \"optional\": false }\n    },\n    \"highlightManager\": {\n      \"type\": { \"returnType\": \"HighlightManager\", \"optional\": false }\n    },\n    \"cursorManager\": {\n      \"type\": { \"returnType\": \"CursorManager\", \"optional\": false }\n    },\n    \"zoomManager\": {\n      \"type\": { \"returnType\": \"ZoomManager\", \"optional\": false }\n    },\n    \"tooltipManager\": {\n      \"type\": { \"returnType\": \"TooltipManager\", \"optional\": false }\n    },\n    \"layoutService\": {\n      \"type\": {\n        \"returnType\": \"Pick<LayoutService, 'addListener' | 'removeListener'>\",\n        \"optional\": false\n      }\n    },\n    \"updateService\": {\n      \"type\": { \"returnType\": \"UpdateService\", \"optional\": false }\n    }\n  },\n  \"ModuleContextWithParent\": {\n    \"parent\": { \"type\": { \"returnType\": \"P\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"P\"] },\n    \"scene\": { \"type\": { \"returnType\": \"Scene\", \"optional\": false } },\n    \"interactionManager\": {\n      \"type\": { \"returnType\": \"InteractionManager\", \"optional\": false }\n    },\n    \"highlightManager\": {\n      \"type\": { \"returnType\": \"HighlightManager\", \"optional\": false }\n    },\n    \"cursorManager\": {\n      \"type\": { \"returnType\": \"CursorManager\", \"optional\": false }\n    },\n    \"zoomManager\": {\n      \"type\": { \"returnType\": \"ZoomManager\", \"optional\": false }\n    },\n    \"tooltipManager\": {\n      \"type\": { \"returnType\": \"TooltipManager\", \"optional\": false }\n    },\n    \"layoutService\": {\n      \"type\": {\n        \"returnType\": \"Pick<LayoutService, 'addListener' | 'removeListener'>\",\n        \"optional\": false\n      }\n    },\n    \"updateService\": {\n      \"type\": { \"returnType\": \"UpdateService\", \"optional\": false }\n    }\n  },\n  \"AxisContext\": {\n    \"axisId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"position\": {\n      \"type\": { \"returnType\": \"AgCartesianAxisPosition\", \"optional\": false }\n    },\n    \"direction\": { \"type\": { \"returnType\": \"'x' | 'y'\", \"optional\": false } },\n    \"continuous\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"keys\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"scaleValueFormatter\": {\n      \"type\": {\n        \"arguments\": { \"specifier\": \"string\" },\n        \"returnType\": \"((x: any) => string) | undefined\",\n        \"optional\": false\n      }\n    },\n    \"scaleBandwidth\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"scaleConvert\": {\n      \"type\": {\n        \"arguments\": { \"val\": \"any\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"scaleInvert\": {\n      \"type\": {\n        \"arguments\": { \"position\": \"number\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    }\n  },\n  \"SeriesFactory\": {},\n  \"SeriesContext\": {\n    \"seriesFactory\": {\n      \"type\": {\n        \"returnType\": \"{\\n        add(factory: SeriesFactory): void;\\n        delete(): void;\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"defaults\": {\n      \"type\": {\n        \"returnType\": \"{\\n        add(defaultOptions: any): void;\\n        delete(): void;\\n    }\",\n        \"optional\": false\n      }\n    },\n    \"themes\": {\n      \"type\": {\n        \"returnType\": \"{\\n        chartTheme: {\\n            add(fn: (params: ChartThemeParams) => any): void;\\n            delete(): void;\\n        };\\n        darkTheme: {\\n            add(fn: (params: DarkThemeParams) => any): void;\\n            delete(): void;\\n        };\\n    }\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ModuleInstance\": {\n    \"update\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"destroy\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"ModuleInstanceMeta\": {\n    \"instance\": { \"type\": { \"returnType\": \"M\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] }\n  },\n  \"BaseModule\": {\n    \"optionsKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"packageType\": {\n      \"type\": { \"returnType\": \"'community' | 'enterprise'\", \"optional\": false }\n    },\n    \"chartTypes\": {\n      \"type\": {\n        \"returnType\": \"('cartesian' | 'polar' | 'hierarchy')[]\",\n        \"optional\": false\n      }\n    }\n  },\n  \"RootModule\": {\n    \"type\": { \"type\": { \"returnType\": \"'root'\", \"optional\": false } },\n    \"initialiseModule\": {\n      \"type\": {\n        \"arguments\": { \"ctx\": \"ModuleContext\" },\n        \"returnType\": \"ModuleInstanceMeta<M>\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] },\n    \"optionsKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"packageType\": {\n      \"type\": { \"returnType\": \"'community' | 'enterprise'\", \"optional\": false }\n    },\n    \"chartTypes\": {\n      \"type\": {\n        \"returnType\": \"('cartesian' | 'polar' | 'hierarchy')[]\",\n        \"optional\": false\n      }\n    }\n  },\n  \"AxisModule\": {\n    \"type\": { \"type\": { \"returnType\": \"'axis'\", \"optional\": false } },\n    \"initialiseModule\": {\n      \"type\": {\n        \"arguments\": { \"ctx\": \"ModuleContextWithParent<AxisContext>\" },\n        \"returnType\": \"ModuleInstanceMeta<M>\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] },\n    \"optionsKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"packageType\": {\n      \"type\": { \"returnType\": \"'community' | 'enterprise'\", \"optional\": false }\n    },\n    \"chartTypes\": {\n      \"type\": {\n        \"returnType\": \"('cartesian' | 'polar' | 'hierarchy')[]\",\n        \"optional\": false\n      }\n    }\n  },\n  \"SeriesModule\": {\n    \"type\": { \"type\": { \"returnType\": \"'series'\", \"optional\": false } },\n    \"initialiseModule\": {\n      \"type\": {\n        \"arguments\": { \"ctx\": \"SeriesContext\" },\n        \"returnType\": \"ModuleInstanceMeta<M>\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] },\n    \"optionsKey\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"packageType\": {\n      \"type\": { \"returnType\": \"'community' | 'enterprise'\", \"optional\": false }\n    },\n    \"chartTypes\": {\n      \"type\": {\n        \"returnType\": \"('cartesian' | 'polar' | 'hierarchy')[]\",\n        \"optional\": false\n      }\n    }\n  },\n  \"Module\": {\n    \"meta\": { \"typeParams\": [\"M extends ModuleInstance = ModuleInstance\"] }\n  },\n  \"FormatterOptions\": {\n    \"prefix\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"fill\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"align\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"sign\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"symbol\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"zero\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"comma\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"precision\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"trim\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"type\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"suffix\": { \"type\": { \"returnType\": \"string\", \"optional\": true } }\n  },\n  \"TypedEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"TypedEventListener\": {},\n  \"Callback\": {},\n  \"SectorBoundaries\": {\n    \"startAngle\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"endAngle\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"innerRadius\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"outerRadius\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"LineCoordinates\": {\n    \"start\": {\n      \"type\": { \"returnType\": \"{ x: number; y: number }\", \"optional\": false }\n    },\n    \"end\": {\n      \"type\": { \"returnType\": \"{ x: number; y: number }\", \"optional\": false }\n    }\n  },\n  \"OnSizeChange\": {},\n  \"Entry\": {},\n  \"NumberFormat\": {},\n  \"DateFormat\": {},\n  \"ValueFormat\": {},\n  \"EncodeFn\": {},\n  \"DecodeFn\": {},\n  \"RangeFn\": {},\n  \"CountableTimeIntervalOptions\": {\n    \"snapTo\": {\n      \"type\": {\n        \"returnType\": \"Date | number | 'start' | 'end'\",\n        \"optional\": true\n      }\n    }\n  },\n  \"FormattingFn\": {},\n  \"PaddingString\": {},\n  \"FormattingString\": {},\n  \"LiteralString\": {},\n  \"ValidationContext\": {},\n  \"ValidatePredicate\": {}\n}\n"}},{"relativePath":"grid-api/interfaces.AUTO.json","internal":{"content":"{\n  \"ColumnResizeSet\": {\n    \"meta\": {},\n    \"type\": { \"columns\": \"Column[]\", \"ratios\": \"number[]\", \"width\": \"number\" }\n  },\n  \"ColumnStateParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"hide?\": \"boolean | null\",\n      \"width?\": \"number\",\n      \"flex?\": \"number | null\",\n      \"sort?\": \"'asc' | 'desc' | null\",\n      \"sortIndex?\": \"number | null\",\n      \"aggFunc?\": \"string | IAggFunc | null\",\n      \"pivot?\": \"boolean | null\",\n      \"pivotIndex?\": \"number | null\",\n      \"pinned?\": \"ColumnPinnedType\",\n      \"rowGroup?\": \"boolean | null\",\n      \"rowGroupIndex?\": \"number | null\"\n    },\n    \"docs\": {\n      \"hide?\": \"/** True if the column is hidden */\",\n      \"width?\": \"/** Width of the column in pixels */\",\n      \"flex?\": \"/** Column's flex if flex is set */\",\n      \"sort?\": \"/** Sort applied to the column */\",\n      \"sortIndex?\": \"/** The order of the sort, if sorting by many columns */\",\n      \"aggFunc?\": \"/** The aggregation function applied */\",\n      \"pivot?\": \"/** True if pivot active */\",\n      \"pivotIndex?\": \"/** The order of the pivot, if pivoting by many columns */\",\n      \"pinned?\": \"/** Set if column is pinned */\",\n      \"rowGroup?\": \"/** True if row group active */\",\n      \"rowGroupIndex?\": \"/** The order of the row group, if grouping by many columns */\"\n    }\n  },\n  \"ColumnState\": {\n    \"meta\": {},\n    \"type\": {\n      \"colId\": \"string\",\n      \"hide?\": \"boolean | null\",\n      \"width?\": \"number\",\n      \"flex?\": \"number | null\",\n      \"sort?\": \"'asc' | 'desc' | null\",\n      \"sortIndex?\": \"number | null\",\n      \"aggFunc?\": \"string | IAggFunc | null\",\n      \"pivot?\": \"boolean | null\",\n      \"pivotIndex?\": \"number | null\",\n      \"pinned?\": \"ColumnPinnedType\",\n      \"rowGroup?\": \"boolean | null\",\n      \"rowGroupIndex?\": \"number | null\"\n    },\n    \"docs\": {\n      \"colId\": \"/** ID of the column */\",\n      \"hide?\": \"/** True if the column is hidden */\",\n      \"width?\": \"/** Width of the column in pixels */\",\n      \"flex?\": \"/** Column's flex if flex is set */\",\n      \"sort?\": \"/** Sort applied to the column */\",\n      \"sortIndex?\": \"/** The order of the sort, if sorting by many columns */\",\n      \"aggFunc?\": \"/** The aggregation function applied */\",\n      \"pivot?\": \"/** True if pivot active */\",\n      \"pivotIndex?\": \"/** The order of the pivot, if pivoting by many columns */\",\n      \"pinned?\": \"/** Set if column is pinned */\",\n      \"rowGroup?\": \"/** True if row group active */\",\n      \"rowGroupIndex?\": \"/** The order of the row group, if grouping by many columns */\"\n    }\n  },\n  \"ApplyColumnStateParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"state?\": \"ColumnState[]\",\n      \"applyOrder?\": \"boolean\",\n      \"defaultState?\": \"ColumnStateParams\"\n    },\n    \"docs\": {\n      \"state?\": \"/** The state from `getColumnState` */\",\n      \"applyOrder?\": \"/** Whether column order should be applied */\",\n      \"defaultState?\": \"/** State to apply to columns where state is missing for those columns */\"\n    }\n  },\n  \"ISizeColumnsToFitParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"defaultMinWidth?\": \"number\",\n      \"defaultMaxWidth?\": \"number\",\n      \"columnLimits?\": \"IColumnLimit[]\"\n    },\n    \"docs\": {\n      \"defaultMinWidth?\": \"/** Defines a default minimum width for every column (does not override the column minimum width) */\",\n      \"defaultMaxWidth?\": \"/** Defines a default maximum width for every column (does not override the column maximum width) */\",\n      \"columnLimits?\": \"/** Provides a minimum and/or maximum width to specific columns */\"\n    }\n  },\n  \"IColumnLimit\": {\n    \"meta\": {},\n    \"type\": {\n      \"key\": \"Column | string\",\n      \"minWidth?\": \"number\",\n      \"maxWidth?\": \"number\"\n    },\n    \"docs\": {\n      \"key\": \"/** Selector for the column to which these dimension limits will apply */\",\n      \"minWidth?\": \"/** Defines a minimum width for this column (does not override the column minimum width) */\",\n      \"maxWidth?\": \"/** Defines a maximum width for this column (does not override the column maximum width) */\"\n    }\n  },\n  \"ColDefPropertyChangedEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"source?\": \"ColumnEventType\",\n      \"type\": \"keyof GridOptions\",\n      \"currentValue\": \"any\",\n      \"previousValue\": \"any\"\n    },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"ColKey\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"keyof (ColDef) | (keyof ColGroupDef)\"\n  },\n  \"ComponentMetadata\": {\n    \"meta\": {},\n    \"type\": {\n      \"mandatoryMethodList\": \"string[]\",\n      \"optionalMethodList\": \"string[]\",\n      \"functionAdapter?\": \"(callback: any) => { new (): IComponent<any>; }\"\n    }\n  },\n  \"ComponentType\": {\n    \"meta\": {},\n    \"type\": { \"propertyName\": \"string\", \"cellRenderer\": \"boolean\" }\n  },\n  \"FrameworkComponentWrapper\": {\n    \"meta\": {\n      \"doc\": \"/** B the business interface (ie IHeader)\\n * A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid\\n */\"\n    },\n    \"type\": {\n      \"wrap(frameworkComponent: { new (): any; } | null, methodList: string[], optionalMethodList: string[], componentType: ComponentType)\": \"A\"\n    }\n  },\n  \"WrappableInterface\": {\n    \"meta\": {},\n    \"type\": {\n      \"hasMethod(name: string)\": \"boolean\",\n      \"callMethod(name: string, args: IArguments)\": \"void\",\n      \"addMethod(name: string, callback: Function)\": \"void\"\n    }\n  },\n  \"DefinitionObject\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"GridOptions | ColDef | ColGroupDef | IFilterDef | SetFilterParams | IRichCellEditorParams | ToolPanelDef | StatusPanelDef\"\n  },\n  \"UserCompDetails\": {\n    \"meta\": {},\n    \"type\": {\n      \"componentClass\": \"any\",\n      \"componentFromFramework\": \"boolean\",\n      \"params\": \"any\",\n      \"type\": \"ComponentType\",\n      \"popupFromSelector?\": \"boolean\",\n      \"popupPositionFromSelector?\": \"'over' | 'under'\",\n      \"newAgStackInstance\": \"() => AgPromise<any>\"\n    }\n  },\n  \"ContextParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"providedBeanInstances\": \"any\",\n      \"beanClasses\": \"any[]\",\n      \"debug\": \"boolean\"\n    }\n  },\n  \"ComponentMeta\": {\n    \"meta\": {},\n    \"type\": { \"componentClass\": \"new () => Object\", \"componentName\": \"string\" }\n  },\n  \"ControllerMeta\": {\n    \"meta\": {},\n    \"type\": {\n      \"controllerClass\": \"new () => Object\",\n      \"controllerName\": \"string\"\n    }\n  },\n  \"BeanWrapper\": {\n    \"meta\": {},\n    \"type\": { \"bean\": \"any\", \"beanInstance\": \"any\", \"beanName\": \"any\" }\n  },\n  \"ReadyParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"gridCtrl\": \"GridCtrl\",\n      \"gridBodyCtrl\": \"GridBodyCtrl\",\n      \"centerRowContainerCtrl\": \"RowContainerCtrl\",\n      \"leftRowContainerCtrl\": \"RowContainerCtrl\",\n      \"rightRowContainerCtrl\": \"RowContainerCtrl\",\n      \"bottomCenterRowContainerCtrl\": \"RowContainerCtrl\",\n      \"bottomLeftRowContainerCtrl\": \"RowContainerCtrl\",\n      \"bottomRightRowContainerCtrl\": \"RowContainerCtrl\",\n      \"topCenterRowContainerCtrl\": \"RowContainerCtrl\",\n      \"topLeftRowContainerCtrl\": \"RowContainerCtrl\",\n      \"topRightRowContainerCtrl\": \"RowContainerCtrl\",\n      \"stickyTopCenterRowContainerCtrl\": \"RowContainerCtrl\",\n      \"stickyTopLeftRowContainerCtrl\": \"RowContainerCtrl\",\n      \"stickyTopRightRowContainerCtrl\": \"RowContainerCtrl\",\n      \"fakeHScrollComp\": \"FakeHScrollComp\",\n      \"fakeVScrollComp\": \"FakeVScrollComp\",\n      \"gridHeaderCtrl\": \"GridHeaderCtrl\",\n      \"centerHeaderRowContainerCtrl\": \"HeaderRowContainerCtrl\",\n      \"leftHeaderRowContainerCtrl\": \"HeaderRowContainerCtrl\",\n      \"rightHeaderRowContainerCtrl\": \"HeaderRowContainerCtrl\"\n    }\n  },\n  \"DragItem\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowNode?\": \"IRowNode\",\n      \"rowNodes?\": \"IRowNode[]\",\n      \"columns?\": \"Column[]\",\n      \"visibleState?\": \"{ [key: string]: boolean; }\"\n    },\n    \"docs\": {\n      \"rowNode?\": \"/** When dragging a row, this contains the row node being dragged\\n     * When dragging multiple rows, this contains the row that started the drag.\\n     */\",\n      \"rowNodes?\": \"/** When dragging multiple rows, this contains all rows being dragged */\",\n      \"columns?\": \"/** When dragging columns, this contains the columns being dragged */\",\n      \"visibleState?\": \"/** When dragging columns, this contains the visible state of the columns */\"\n    }\n  },\n  \"DragSourceType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"ToolPanel\", \"HeaderCell\", \"RowDrag\", \"ChartPanel\"],\n    \"docs\": [null, null, null, null]\n  },\n  \"DragSource\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"DragSourceType\",\n      \"eElement\": \"Element\",\n      \"getDragItem\": \"() => DragItem\",\n      \"dragItemName\": \"string | (() => string) | null\",\n      \"defaultIconName?\": \"string\",\n      \"dragSourceDropTarget?\": \"DropTarget\",\n      \"dragSourceDomDataKey?\": \"string\",\n      \"dragStartPixels?\": \"number\",\n      \"onDragStarted?\": \"() => void\",\n      \"onDragStopped?\": \"() => void\",\n      \"onGridEnter?\": \"(dragItem: DragItem | null) => void\",\n      \"onGridExit?\": \"(dragItem: DragItem | null) => void\"\n    },\n    \"docs\": {\n      \"type\": \"/** The type of the drag source, used by the drop target to know where the\\n     * drag originated from.\\n     */\",\n      \"eElement\": \"/** Element which, when dragged, will kick off the DnD process\\n     */\",\n      \"getDragItem\": \"/** If eElement is dragged, then the dragItem is the object that gets passed around.\\n     */\",\n      \"dragItemName\": \"/** This name appears in the ghost icon when dragging.\\n     */\",\n      \"defaultIconName?\": \"/** Icon to show when not over a drop zone\\n     */\",\n      \"dragSourceDropTarget?\": \"/** The drop target associated with this dragSource. When dragging starts, this\\n     * target does not get an onDragEnter event.\\n     */\",\n      \"dragSourceDomDataKey?\": \"/** The drag source DOM Data Key, this is useful to detect if the origin grid is the same\\n     * as the target grid.\\n     */\",\n      \"dragStartPixels?\": \"/** After how many pixels of dragging should the drag operation start. Default is 4.\\n     */\",\n      \"onDragStarted?\": \"/** Callback for drag started\\n     */\",\n      \"onDragStopped?\": \"/** Callback for drag stopped\\n     */\",\n      \"onGridEnter?\": \"/** Callback for entering the grid\\n     */\",\n      \"onGridExit?\": \"/** Callback for exiting the grid\\n     */\"\n    }\n  },\n  \"DropTarget\": {\n    \"meta\": {},\n    \"type\": {\n      \"getContainer()\": \"HTMLElement\",\n      \"getSecondaryContainers?()\": \"HTMLElement[][]\",\n      \"getIconName?()\": \"string | null\",\n      \"isInterestedIn(type: DragSourceType, el: Element)\": \"boolean\",\n      \"targetContainsSource?\": \"boolean\",\n      \"onDragEnter?(params: DraggingEvent)\": \"void\",\n      \"onDragLeave?(params: DraggingEvent)\": \"void\",\n      \"onDragging?(params: DraggingEvent)\": \"void\",\n      \"onDragStop?(params: DraggingEvent)\": \"void\",\n      \"external?\": \"boolean\"\n    },\n    \"docs\": {\n      \"getContainer()\": \"/** The main container that will get the drop. */\",\n      \"getSecondaryContainers?()\": \"/** If any secondary containers. For example when moving columns in AG Grid, we listen for drops\\n     * in the header as well as the body (main rows and pinned rows) of the grid. */\",\n      \"getIconName?()\": \"/** Icon to show when drag is over */\",\n      \"targetContainsSource?\": \"/** If `true`, the DragSources will only be allowed to be dragged within the DragTarget that contains them.\\n     * This is useful for changing order of items within a container, and not moving items across containers.\\n     * Default: `false`\\n     */\",\n      \"onDragEnter?(params: DraggingEvent)\": \"/** Callback for when drag enters */\",\n      \"onDragLeave?(params: DraggingEvent)\": \"/** Callback for when drag leaves */\",\n      \"onDragging?(params: DraggingEvent)\": \"/** Callback for when dragging */\",\n      \"onDragStop?(params: DraggingEvent)\": \"/** Callback for when drag stops */\"\n    }\n  },\n  \"VerticalDirection\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Up\", \"Down\"],\n    \"docs\": [null, null]\n  },\n  \"HorizontalDirection\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Left\", \"Right\"],\n    \"docs\": [null, null]\n  },\n  \"DraggingEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"event\": \"MouseEvent\",\n      \"x\": \"number\",\n      \"y\": \"number\",\n      \"vDirection\": \"VerticalDirection | null\",\n      \"hDirection\": \"HorizontalDirection | null\",\n      \"dragSource\": \"DragSource\",\n      \"dragItem\": \"DragItem\",\n      \"fromNudge\": \"boolean\",\n      \"api\": \"GridApi\",\n      \"columnApi\": \"ColumnApi\",\n      \"dropZoneTarget\": \"HTMLElement\"\n    }\n  },\n  \"DragSourceAndListener\": {\n    \"meta\": {},\n    \"type\": {\n      \"dragSource\": \"DragListenerParams\",\n      \"mouseDownListener\": \"(mouseEvent: MouseEvent) => void\",\n      \"touchEnabled\": \"boolean\",\n      \"touchStartListener\": \"((touchEvent: TouchEvent) => void) | null\"\n    }\n  },\n  \"DragListenerParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"dragStartPixels?\": \"number\",\n      \"eElement\": \"Element\",\n      \"skipMouseEvent?\": \"(mouseEvent: MouseEvent) => boolean\",\n      \"onDragStart\": \"(mouseEvent: MouseEvent | Touch) => void\",\n      \"onDragStop\": \"(mouseEvent: MouseEvent | Touch) => void\",\n      \"onDragging\": \"(mouseEvent: MouseEvent | Touch) => void\"\n    },\n    \"docs\": {\n      \"dragStartPixels?\": \"/** After how many pixels of dragging should the drag operation start. Default is 4px. */\",\n      \"eElement\": \"/** Dom element to add the drag handling to */\",\n      \"skipMouseEvent?\": \"/** Some places may wish to ignore certain events, eg range selection ignores shift clicks */\",\n      \"onDragStart\": \"/** Callback for drag starting */\",\n      \"onDragStop\": \"/** Callback for drag stopping */\",\n      \"onDragging\": \"/** Callback for mouse move while dragging */\"\n    }\n  },\n  \"CellPosition\": {\n    \"meta\": {},\n    \"type\": {\n      \"column\": \"Column\",\n      \"rowIndex\": \"number\",\n      \"rowPinned\": \"RowPinnedType\"\n    },\n    \"docs\": {\n      \"column\": \"/** The grid column */\",\n      \"rowIndex\": \"/** A positive number from 0 to n, where n is the last row the grid is rendering\\n    * or -1 if you want to navigate to the grid header */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null/undefined (for not pinned) */\"\n    }\n  },\n  \"AbstractColDef\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\"],\n      \"doc\": \"/** AbstractColDef can be a group or a column definition */\"\n    },\n    \"type\": {\n      \"headerName?\": \"string\",\n      \"headerValueGetter?\": \"string | HeaderValueGetterFunc<TData>\",\n      \"headerTooltip?\": \"string\",\n      \"headerClass?\": \"HeaderClass\",\n      \"suppressHeaderKeyboardEvent?\": \"(params: SuppressHeaderKeyboardEventParams<TData>) => boolean\",\n      \"columnGroupShow?\": \"ColumnGroupShowType\",\n      \"toolPanelClass?\": \"ToolPanelClass<TData>\",\n      \"suppressColumnsToolPanel?\": \"boolean\",\n      \"suppressFiltersToolPanel?\": \"boolean\",\n      \"tooltipComponent?\": \"any\",\n      \"tooltipComponentFramework?\": \"any\",\n      \"tooltipComponentParams?\": \"any\",\n      \"pivotKeys?\": \"string[]\"\n    },\n    \"docs\": {\n      \"headerName?\": \"/** The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. */\",\n      \"headerValueGetter?\": \"/** Function or expression. Gets the value for display in the header. */\",\n      \"headerTooltip?\": \"/** Tooltip for the column header */\",\n      \"headerClass?\": \"/** CSS class to use for the header cell. Can be a string, array of strings, or function. */\",\n      \"suppressHeaderKeyboardEvent?\": \"/** Suppress the grid taking action for the relevant keyboard event when a header is focused. */\",\n      \"columnGroupShow?\": \"/** Whether to only show the column when the group is open / closed. If not set the column is always displayed as part of the group. */\",\n      \"toolPanelClass?\": \"/** CSS class to use for the tool panel cell. Can be a string, array of strings, or function. */\",\n      \"suppressColumnsToolPanel?\": \"/** Set to `true` if you do not want this column or group to appear in the Columns Tool Panel. Default: `false` */\",\n      \"suppressFiltersToolPanel?\": \"/** Set to `true` if you do not want this column (filter) or group (filter group) to appear in the Filters Tool Panel. Default: `false` */\",\n      \"tooltipComponent?\": \"/** Provide your own tooltip component for the column.\\n    * See [Tooltip Component](https://www.ag-grid.com/javascript-data-grid/component-tooltip/) for framework specific implementation details.\\n    */\",\n      \"tooltipComponentFramework?\": \"/** @deprecated As of v27, use `tooltipComponent` for framework components too. */\",\n      \"tooltipComponentParams?\": \"/** The params used to configure `tooltipComponent`. */\",\n      \"pivotKeys?\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\"\n    }\n  },\n  \"ColGroupDef\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\"],\n      \"doc\": \"/** Configuration options for column groups in AG Grid.  */\"\n    },\n    \"type\": {\n      \"children\": \"(ColDef<TData> | ColGroupDef<TData>)[]\",\n      \"groupId?\": \"string\",\n      \"openByDefault?\": \"boolean\",\n      \"marryChildren?\": \"boolean\",\n      \"stickyLabel?\": \"boolean\",\n      \"headerGroupComponent?\": \"any\",\n      \"headerGroupComponentFramework?\": \"any\",\n      \"headerGroupComponentParams?\": \"any\",\n      \"headerName?\": \"string\",\n      \"headerValueGetter?\": \"string | HeaderValueGetterFunc<TData>\",\n      \"headerTooltip?\": \"string\",\n      \"headerClass?\": \"HeaderClass\",\n      \"suppressHeaderKeyboardEvent?\": \"(params: SuppressHeaderKeyboardEventParams<TData>) => boolean\",\n      \"columnGroupShow?\": \"ColumnGroupShowType\",\n      \"toolPanelClass?\": \"ToolPanelClass<TData>\",\n      \"suppressColumnsToolPanel?\": \"boolean\",\n      \"suppressFiltersToolPanel?\": \"boolean\",\n      \"tooltipComponent?\": \"any\",\n      \"tooltipComponentFramework?\": \"any\",\n      \"tooltipComponentParams?\": \"any\",\n      \"pivotKeys?\": \"string[]\"\n    },\n    \"docs\": {\n      \"children\": \"/** A list containing a mix of columns and column groups. */\",\n      \"groupId?\": \"/** The unique ID to give the column. This is optional. If missing, a unique ID will be generated. This ID is used to identify the column group in the column API. */\",\n      \"openByDefault?\": \"/** Set to `true` if this group should be opened by default. Default: `false` */\",\n      \"marryChildren?\": \"/** Set to `true` to keep columns in this group beside each other in the grid. Moving the columns outside of the group (and hence breaking the group) is not allowed. Default: `false` */\",\n      \"stickyLabel?\": \"/** If `true` the label of the Column Group will scroll alongside the grid to always remain visible. Default: `false`\\n     */\",\n      \"headerGroupComponent?\": \"/** The custom header group component to be used for rendering the component header. If none specified the default AG Grid is used.\\n    * See [Header Group Component](https://www.ag-grid.com/javascript-data-grid/component-header/#header-group-components/) for framework specific implementation details.\\n    */\",\n      \"headerGroupComponentFramework?\": \"/** @deprecated As of v27, use `headerGroupComponent` for framework components too. */\",\n      \"headerGroupComponentParams?\": \"/** The params used to configure the `headerGroupComponent`. */\",\n      \"headerName?\": \"/** The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. */\",\n      \"headerValueGetter?\": \"/** Function or expression. Gets the value for display in the header. */\",\n      \"headerTooltip?\": \"/** Tooltip for the column header */\",\n      \"headerClass?\": \"/** CSS class to use for the header cell. Can be a string, array of strings, or function. */\",\n      \"suppressHeaderKeyboardEvent?\": \"/** Suppress the grid taking action for the relevant keyboard event when a header is focused. */\",\n      \"columnGroupShow?\": \"/** Whether to only show the column when the group is open / closed. If not set the column is always displayed as part of the group. */\",\n      \"toolPanelClass?\": \"/** CSS class to use for the tool panel cell. Can be a string, array of strings, or function. */\",\n      \"suppressColumnsToolPanel?\": \"/** Set to `true` if you do not want this column or group to appear in the Columns Tool Panel. Default: `false` */\",\n      \"suppressFiltersToolPanel?\": \"/** Set to `true` if you do not want this column (filter) or group (filter group) to appear in the Filters Tool Panel. Default: `false` */\",\n      \"tooltipComponent?\": \"/** Provide your own tooltip component for the column.\\n    * See [Tooltip Component](https://www.ag-grid.com/javascript-data-grid/component-tooltip/) for framework specific implementation details.\\n    */\",\n      \"tooltipComponentFramework?\": \"/** @deprecated As of v27, use `tooltipComponent` for framework components too. */\",\n      \"tooltipComponentParams?\": \"/** The params used to configure `tooltipComponent`. */\",\n      \"pivotKeys?\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\"\n    }\n  },\n  \"IAggFunc\": {\n    \"meta\": {\n      \"isCallSignature\": true,\n      \"typeParams\": [\"TData = any\", \"TValue = any\"]\n    },\n    \"type\": {\n      \"arguments\": { \"params\": \"IAggFuncParams<TData, TValue>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"IAggFuncParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"values\": \"TValue[]\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"pivotResultColumn?\": \"Column\",\n      \"rowNode\": \"IRowNode<TData>\",\n      \"data\": \"TData\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"values\": \"/** Values to aggregate */\",\n      \"column\": \"/** Column the aggregation function is working on */\",\n      \"colDef\": \"/** ColDef of the aggregation column */\",\n      \"pivotResultColumn?\": \"/** Pivot Result Column being produced using this aggregation */\",\n      \"rowNode\": \"/** The parent RowNode, where the aggregation result will be shown */\",\n      \"data\": \"/** data (if any) of the parent RowNode */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"HeaderClassParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"colDef\": \"AbstractColDef<TData>\",\n      \"column?\": \"Column | null\",\n      \"columnGroup?\": \"ColumnGroup | null\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"HeaderClass\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"string | string[] | ((params: HeaderClassParams<TData>) => string | string[] | undefined)\"\n  },\n  \"ToolPanelClassParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"colDef\": \"AbstractColDef<TData>\",\n      \"column?\": \"Column | null\",\n      \"columnGroup?\": \"ProvidedColumnGroup | null\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ToolPanelClass\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"string | string[] | ((params: ToolPanelClassParams<TData>) => string | string[] | undefined)\"\n  },\n  \"ColDef\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\"],\n      \"doc\": \"/** Configuration options for columns in AG Grid. */\"\n    },\n    \"type\": {\n      \"colId?\": \"string\",\n      \"field?\": \"string\",\n      \"type?\": \"string | string[]\",\n      \"valueGetter?\": \"string | ValueGetterFunc<TData>\",\n      \"valueFormatter?\": \"string | ValueFormatterFunc<TData>\",\n      \"refData?\": \"{ [key: string]: string; }\",\n      \"keyCreator?\": \"(params: KeyCreatorParams<TData>) => string\",\n      \"equals?\": \"(valueA: any, valueB: any) => boolean\",\n      \"tooltipField?\": \"string\",\n      \"tooltipValueGetter?\": \"(params: ITooltipParams<TData>) => string | any\",\n      \"checkboxSelection?\": \"boolean | CheckboxSelectionCallback<TData>\",\n      \"showDisabledCheckboxes?\": \"boolean\",\n      \"icons?\": \"{ [key: string]: Function | string; }\",\n      \"suppressNavigable?\": \"boolean | SuppressNavigableCallback<TData>\",\n      \"suppressKeyboardEvent?\": \"(params: SuppressKeyboardEventParams<TData>) => boolean\",\n      \"suppressPaste?\": \"boolean | SuppressPasteCallback<TData>\",\n      \"suppressFillHandle?\": \"boolean\",\n      \"hide?\": \"boolean\",\n      \"initialHide?\": \"boolean\",\n      \"lockVisible?\": \"boolean\",\n      \"lockPosition?\": \"boolean | 'left' | 'right'\",\n      \"suppressMovable?\": \"boolean\",\n      \"editable?\": \"boolean | EditableCallback<TData>\",\n      \"valueSetter?\": \"string | ValueSetterFunc<TData>\",\n      \"valueParser?\": \"string | ValueParserFunc<TData>\",\n      \"cellEditor?\": \"any\",\n      \"cellEditorFramework?\": \"any\",\n      \"cellEditorParams?\": \"any\",\n      \"cellEditorSelector?\": \"CellEditorSelectorFunc<TData>\",\n      \"singleClickEdit?\": \"boolean\",\n      \"cellEditorPopup?\": \"boolean\",\n      \"cellEditorPopupPosition?\": \"'over' | 'under'\",\n      \"onCellValueChanged?\": \"(event: NewValueParams<TData>) => void\",\n      \"onCellClicked?\": \"(event: CellClickedEvent<TData>) => void\",\n      \"onCellDoubleClicked?\": \"(event: CellDoubleClickedEvent<TData>) => void\",\n      \"onCellContextMenu?\": \"(event: CellContextMenuEvent<TData>) => void\",\n      \"getQuickFilterText?\": \"(params: GetQuickFilterTextParams<TData>) => string\",\n      \"filterValueGetter?\": \"string | ValueGetterFunc<TData>\",\n      \"floatingFilter?\": \"boolean\",\n      \"wrapHeaderText?\": \"boolean\",\n      \"autoHeaderHeight?\": \"boolean\",\n      \"headerComponent?\": \"any\",\n      \"headerComponentFramework?\": \"any\",\n      \"headerComponentParams?\": \"any\",\n      \"menuTabs?\": \"ColumnMenuTab[]\",\n      \"columnsMenuParams?\": \"ColumnsMenuParams\",\n      \"suppressMenu?\": \"boolean\",\n      \"headerCheckboxSelection?\": \"boolean | HeaderCheckboxSelectionCallback<TData>\",\n      \"headerCheckboxSelectionFilteredOnly?\": \"boolean\",\n      \"headerCheckboxSelectionCurrentPageOnly?\": \"boolean\",\n      \"chartDataType?\": \"'category' | 'series' | 'time' | 'excluded'\",\n      \"pinned?\": \"boolean | 'left' | 'right' | null\",\n      \"initialPinned?\": \"boolean | 'left' | 'right'\",\n      \"lockPinned?\": \"boolean\",\n      \"pivot?\": \"boolean\",\n      \"initialPivot?\": \"boolean\",\n      \"pivotIndex?\": \"number | null\",\n      \"initialPivotIndex?\": \"number\",\n      \"pivotComparator?\": \"(valueA: string, valueB: string) => number\",\n      \"enablePivot?\": \"boolean\",\n      \"cellStyle?\": \"CellStyle | CellStyleFunc<TData>\",\n      \"cellClass?\": \"string | string[] | CellClassFunc<TData>\",\n      \"cellClassRules?\": \"CellClassRules<TData>\",\n      \"cellRenderer?\": \"any\",\n      \"cellRendererFramework?\": \"any\",\n      \"cellRendererParams?\": \"any\",\n      \"cellRendererSelector?\": \"CellRendererSelectorFunc<TData>\",\n      \"autoHeight?\": \"boolean\",\n      \"wrapText?\": \"boolean\",\n      \"enableCellChangeFlash?\": \"boolean\",\n      \"suppressCellFlash?\": \"boolean\",\n      \"rowDrag?\": \"boolean | RowDragCallback<TData>\",\n      \"rowDragText?\": \"(params: IRowDragItem, dragItemCount: number) => string\",\n      \"dndSource?\": \"boolean | DndSourceCallback<TData>\",\n      \"dndSourceOnRowDrag?\": \"(params: DndSourceOnRowDragParams<TData>) => void\",\n      \"rowGroup?\": \"boolean\",\n      \"initialRowGroup?\": \"boolean\",\n      \"rowGroupIndex?\": \"number | null\",\n      \"initialRowGroupIndex?\": \"number\",\n      \"enableRowGroup?\": \"boolean\",\n      \"enableValue?\": \"boolean\",\n      \"aggFunc?\": \"string | IAggFunc<TData> | null\",\n      \"initialAggFunc?\": \"string | IAggFunc<TData>\",\n      \"defaultAggFunc?\": \"string\",\n      \"allowedAggFuncs?\": \"string[]\",\n      \"showRowGroup?\": \"string | boolean\",\n      \"sortable?\": \"boolean\",\n      \"sort?\": \"SortDirection\",\n      \"initialSort?\": \"SortDirection\",\n      \"sortIndex?\": \"number | null\",\n      \"initialSortIndex?\": \"number\",\n      \"sortingOrder?\": \"(SortDirection)[]\",\n      \"comparator?\": \"(valueA: any, valueB: any, nodeA: IRowNode<TData>, nodeB: IRowNode<TData>, isDescending: boolean) => number\",\n      \"unSortIcon?\": \"boolean\",\n      \"colSpan?\": \"(params: ColSpanParams<TData>) => number\",\n      \"rowSpan?\": \"(params: RowSpanParams<TData>) => number\",\n      \"width?\": \"number\",\n      \"initialWidth?\": \"number\",\n      \"minWidth?\": \"number\",\n      \"maxWidth?\": \"number\",\n      \"flex?\": \"number\",\n      \"initialFlex?\": \"number\",\n      \"resizable?\": \"boolean\",\n      \"suppressSizeToFit?\": \"boolean\",\n      \"suppressAutoSize?\": \"boolean\",\n      \"pivotValueColumn?\": \"Column | null\",\n      \"pivotTotalColumnIds?\": \"string[]\",\n      \"spanHeaderHeight?\": \"boolean\",\n      \"headerName?\": \"string\",\n      \"headerValueGetter?\": \"string | HeaderValueGetterFunc<TData>\",\n      \"headerTooltip?\": \"string\",\n      \"headerClass?\": \"HeaderClass\",\n      \"suppressHeaderKeyboardEvent?\": \"(params: SuppressHeaderKeyboardEventParams<TData>) => boolean\",\n      \"columnGroupShow?\": \"ColumnGroupShowType\",\n      \"toolPanelClass?\": \"ToolPanelClass<TData>\",\n      \"suppressColumnsToolPanel?\": \"boolean\",\n      \"suppressFiltersToolPanel?\": \"boolean\",\n      \"tooltipComponent?\": \"any\",\n      \"tooltipComponentFramework?\": \"any\",\n      \"tooltipComponentParams?\": \"any\",\n      \"pivotKeys?\": \"string[]\",\n      \"filter?\": \"any\",\n      \"filterFramework?\": \"any\",\n      \"filterParams?\": \"any\",\n      \"floatingFilterComponent?\": \"any\",\n      \"floatingFilterComponentFramework?\": \"any\",\n      \"floatingFilterComponentParams?\": \"any\"\n    },\n    \"docs\": {\n      \"colId?\": \"/** The unique ID to give the column. This is optional. If missing, the ID will default to the field.\\n     *  If both field and colId are missing, a unique ID will be generated.\\n     *  This ID is used to identify the column in the API for sorting, filtering etc. */\",\n      \"field?\": \"/** The field of the row object to get the cell's data from.\\n     * Deep references into a row object is supported via dot notation, i.e `'address.firstLine'`.\\n     */\",\n      \"type?\": \"/** A comma separated string or array of strings containing `ColumnType` keys which can be used as a template for a column.\\n     * This helps to reduce duplication of properties when you have a lot of common column properties.\\n     */\",\n      \"valueGetter?\": \"/** Function or expression. Gets the value from your data for display. */\",\n      \"valueFormatter?\": \"/** A function or expression to format a value, should return a string. Not used for CSV export or copy to clipboard, only for UI cell rendering. */\",\n      \"refData?\": \"/** Provided a reference data map to be used to map column values to their respective value from the map. */\",\n      \"keyCreator?\": \"/** Function to return a string key for a value.\\n     * This string is used for grouping, Set filtering, and searching within cell editor dropdowns.\\n     * When filtering and searching the string is exposed to the user, so make sure to return a human-readable value. */\",\n      \"equals?\": \"/** Custom comparator for values, used by renderer to know if values have changed. Cells who's values have not changed don't get refreshed.\\n     * By default the grid uses `===` is used which should work for most use cases.\\n     */\",\n      \"tooltipField?\": \"/** The field of the tooltip to apply to the cell. */\",\n      \"tooltipValueGetter?\": \"/** Callback that should return the string to use for a tooltip, `tooltipField` takes precedence if set.\\n     * If using a custom `tooltipComponent` you may return any custom value to be passed to your tooltip component.\\n     */\",\n      \"checkboxSelection?\": \"/** Set to `true` (or return `true` from function) to render a selection checkbox in the column. Default: `false` */\",\n      \"showDisabledCheckboxes?\": \"/** Set to `true` to display a disabled checkbox when row is not selectable and checkboxes are enabled. Default: `false` */\",\n      \"icons?\": \"/** Icons to use inside the column instead of the grid's default icons. Leave undefined to use defaults. */\",\n      \"suppressNavigable?\": \"/** Set to `true` if this column is not navigable (i.e. cannot be tabbed into), otherwise `false`.\\n     * Can also be a callback function to have different rows navigable.\\n     * Default: `false`\\n     */\",\n      \"suppressKeyboardEvent?\": \"/** Allows the user to suppress certain keyboard events in the grid cell. Default: `false` */\",\n      \"suppressPaste?\": \"/** Pasting is on by default as long as cells are editable (non-editable cells cannot be modified, even with a paste operation).\\n     * Set to `true` turn paste operations off.\\n     */\",\n      \"suppressFillHandle?\": \"/** Set to true to prevent the fillHandle from being rendered in any cell that belongs to this column */\",\n      \"hide?\": \"/** Set to `true` for this column to be hidden. Default: `false` */\",\n      \"initialHide?\": \"/** Same as `hide`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"lockVisible?\": \"/** Set to `true` to block making column visible / hidden via the UI (API will still work). Default: `false` */\",\n      \"lockPosition?\": \"/** Lock a column to position to `'left'` or`'right'` to always have this column displayed in that position. `true` is treated as `'left'` */\",\n      \"suppressMovable?\": \"/** Set to `true` if you do not want this column to be movable via dragging. Default: `false` */\",\n      \"editable?\": \"/** Set to `true` if this column is editable, otherwise `false`. Can also be a function to have different rows editable. Default: `false` */\",\n      \"valueSetter?\": \"/** Function or expression. Sets the value into your data for saving. Return `true` if the data changed. */\",\n      \"valueParser?\": \"/** Function or expression. Parses the value for saving. */\",\n      \"cellEditor?\": \"/** Provide your own cell editor component for this column's cells.\\n    * See [Cell Editor](https://www.ag-grid.com/javascript-data-grid/component-cell-editor/) for framework specific implementation detail.\\n    */\",\n      \"cellEditorFramework?\": \"/** @deprecated As of v27, use `cellEditor` for framework components too. */\",\n      \"cellEditorParams?\": \"/** Params to be passed to the `cellEditor` component. */\",\n      \"cellEditorSelector?\": \"/** Callback to select which cell editor to be used for a given row within the same column. */\",\n      \"singleClickEdit?\": \"/** Set to `true` to have cells under this column enter edit mode after single click. Default: `false` */\",\n      \"cellEditorPopup?\": \"/** Set to `true`, to have the cell editor appear in a popup.\\n     */\",\n      \"cellEditorPopupPosition?\": \"/** Set the position for the popup cell editor. Possible values are\\n     *  - `over` Popup will be positioned over the cell\\n     *  - `under` Popup will be positioned below the cell leaving the cell value visible.\\n     *\\n     * Default: `over`. */\",\n      \"onCellValueChanged?\": \"/** Callback for after the value of a cell has changed, either due to editing or the application calling `api.setValue()`. */\",\n      \"onCellClicked?\": \"/** Callback called when a cell is clicked. */\",\n      \"onCellDoubleClicked?\": \"/** Callback called when a cell is double clicked. */\",\n      \"onCellContextMenu?\": \"/** Callback called when a cell is right clicked. */\",\n      \"getQuickFilterText?\": \"/** A function to tell the grid what Quick Filter text to use for this column if you don't want to use the default (which is calling `toString` on the value). */\",\n      \"filterValueGetter?\": \"/** Function or expression. Gets the value for filtering purposes. */\",\n      \"floatingFilter?\": \"/** Whether to display a floating filter for this column. Default: `false` */\",\n      \"wrapHeaderText?\": \"/** If enabled then column header names that are too long for the column width will wrap onto the next line. Default `false` */\",\n      \"autoHeaderHeight?\": \"/** If enabled then the column header row will automatically adjust height to accommodate the size of the header cell.\\n    * This can be useful when using your own `headerComponent` or long header names in conjunction with `wrapHeaderText`.\\n    * Default: `false`\\n    */\",\n      \"headerComponent?\": \"/** The custom header component to be used for rendering the component header. If none specified the default AG Grid header component is used.\\n    * See [Header Component](https://www.ag-grid.com/javascript-data-grid/component-header/) for framework specific implementation detail.\\n    */\",\n      \"headerComponentFramework?\": \"/** @deprecated As of v27, use `headerComponent` for framework components too. */\",\n      \"headerComponentParams?\": \"/** The parameters to be passed to the `headerComponent`. */\",\n      \"menuTabs?\": \"/** Set to an array containing zero, one or many of the following options: `'filterMenuTab' | 'generalMenuTab' | 'columnsMenuTab'`.\\n     * This is used to figure out which menu tabs are present and in which order the tabs are shown.\\n     */\",\n      \"columnsMenuParams?\": \"/** Params used to change the behaviour and appearance of the Columns Menu tab. */\",\n      \"suppressMenu?\": \"/** Set to `true` if no menu should be shown for this column header. Default: `false` */\",\n      \"headerCheckboxSelection?\": \"/** If `true` or the callback returns `true`, a 'select all' checkbox will be put into the header. */\",\n      \"headerCheckboxSelectionFilteredOnly?\": \"/** If `true`, the header checkbox selection will only select filtered items. */\",\n      \"headerCheckboxSelectionCurrentPageOnly?\": \"/** If `true`, the header checkbox selection will only select nodes on the current page. */\",\n      \"chartDataType?\": \"/** Defines the chart data type that should be used for a column. */\",\n      \"pinned?\": \"/** Pin a column to one side: `right` or `left`. A value of `true` is converted to `'left'`. */\",\n      \"initialPinned?\": \"/** Same as `pinned`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"lockPinned?\": \"/** Set to true to block the user pinning the column, the column can only be pinned via definitions or API. Default: `false`  */\",\n      \"pivot?\": \"/** Set to true to pivot by this column. */\",\n      \"initialPivot?\": \"/** Same as `pivot`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"pivotIndex?\": \"/** Set this in columns you want to pivot by.\\n     * If only pivoting by one column, set this to any number (e.g. `0`).\\n     * If pivoting by multiple columns, set this to where you want this column to be in the order of pivots (e.g. `0` for first, `1` for second, and so on).\\n     */\",\n      \"initialPivotIndex?\": \"/** Same as `pivotIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"pivotComparator?\": \"/** Comparator to use when ordering the pivot columns, when this column is used to pivot on.\\n     * The values will always be strings, as the pivot service uses strings as keys for the pivot groups.\\n     */\",\n      \"enablePivot?\": \"/** Set to `true` if you want to be able to pivot by this column via the GUI. This will not block the API or properties being used to achieve pivot. Default: `false` */\",\n      \"cellStyle?\": \"/** An object of css values / or function returning an object of css values for a particular cell. */\",\n      \"cellClass?\": \"/** Class to use for the cell. Can be string, array of strings, or function that returns a string or array of strings. */\",\n      \"cellClassRules?\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"cellRenderer?\": \"/** Provide your own cell Renderer component for this column's cells.\\n    * See [Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"cellRendererFramework?\": \"/** @deprecated As of v27, use `cellRenderer` for framework components too. */\",\n      \"cellRendererParams?\": \"/** Params to be passed to the `cellRenderer` component. */\",\n      \"cellRendererSelector?\": \"/** Callback to select which cell renderer to be used for a given row within the same column. */\",\n      \"autoHeight?\": \"/** Set to `true` to have the grid calculate the height of a row based on contents of this column. Default: `false` */\",\n      \"wrapText?\": \"/** Set to `true` to have the text wrap inside the cell - typically used with `autoHeight`. Default: `false` */\",\n      \"enableCellChangeFlash?\": \"/** Set to `true` to flash a cell when it's refreshed. Default: `false` */\",\n      \"suppressCellFlash?\": \"/** Set to `true` to prevent this column from flashing on changes. Only applicable if cell flashing is turned on for the grid. Default: `false` */\",\n      \"rowDrag?\": \"/** `boolean` or `Function`. Set to `true` (or return `true` from function) to allow row dragging. Default: `false` */\",\n      \"rowDragText?\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the `rowDragText` callback in the `gridOptions` will be used and\\n     * if there is no callback in the `gridOptions` the current cell value will be used.\\n     */\",\n      \"dndSource?\": \"/** `boolean` or `Function`. Set to `true` (or return `true` from function) to allow dragging for native drag and drop. Default: `false` */\",\n      \"dndSourceOnRowDrag?\": \"/** Function to allow custom drag functionality for native drag and drop. */\",\n      \"rowGroup?\": \"/** Set to `true` to row group by this column. Default: `false` */\",\n      \"initialRowGroup?\": \"/** Same as `rowGroup`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"rowGroupIndex?\": \"/** Set this in columns you want to group by.\\n     * If only grouping by one column, set this to any number (e.g. `0`).\\n     * If grouping by multiple columns, set this to where you want this column to be in the group (e.g. `0` for first, `1` for second, and so on).\\n     */\",\n      \"initialRowGroupIndex?\": \"/** Same as `rowGroupIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"enableRowGroup?\": \"/** Set to `true` if you want to be able to row group by this column via the GUI.\\n     * This will not block the API or properties being used to achieve row grouping.\\n     * Default: `false`\\n     */\",\n      \"enableValue?\": \"/** Set to `true` if you want to be able to aggregate by this column via the GUI.\\n     * This will not block the API or properties being used to achieve aggregation.\\n     * Default: `false`\\n     */\",\n      \"aggFunc?\": \"/** Name of function to use for aggregation. In-built options are: `sum`, `min`, `max`, `count`, `avg`, `first`, `last`. Also accepts a custom aggregation name or an aggregation function. */\",\n      \"initialAggFunc?\": \"/** Same as `aggFunc`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"defaultAggFunc?\": \"/** The name of the aggregation function to use for this column when it is enabled via the GUI.\\n     * Note that this does not immediately apply the aggregation function like `aggFunc`\\n     * Default: `sum`\\n     */\",\n      \"allowedAggFuncs?\": \"/** Aggregation functions allowed on this column e.g. `['sum', 'avg']`.\\n     * If missing, all installed functions are allowed.\\n     * This will only restrict what the GUI allows a user to select, it does not impact when you set a function via the API. */\",\n      \"showRowGroup?\": \"/** Set to true to have the grid place the values for the group into the cell, or put the name of a grouped column to just show that group. */\",\n      \"sortable?\": \"/** Set to `true` to allow sorting on this column. Default: `false` */\",\n      \"sort?\": \"/** If sorting by default, set it here. Set to `asc` or `desc`. */\",\n      \"initialSort?\": \"/** Same as `sort`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"sortIndex?\": \"/** If sorting more than one column by default, specifies order in which the sorting should be applied. */\",\n      \"initialSortIndex?\": \"/** Same as `sortIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"sortingOrder?\": \"/**  Array defining the order in which sorting occurs (if sorting is enabled). An array with any of the following in any order `['asc','desc',null]` */\",\n      \"comparator?\": \"/** Override the default sorting order by providing a custom sort comparator.\\n     *\\n     * - `valueA`, `valueB` are the values to compare.\\n     * - `nodeA`,  `nodeB` are the corresponding RowNodes. Useful if additional details are required by the sort.\\n     * - `isDescending` - `true` if sort direction is `desc`. Not to be used for inverting the return value as the grid already applies `asc` or `desc` ordering.\\n     *\\n     * Return:\\n     *  - `0`  valueA is the same as valueB\\n     *  - `> 0` Sort valueA after valueB\\n     *  - `< 0` Sort valueA before valueB\\n     */\",\n      \"unSortIcon?\": \"/** Set to `true` if you want the unsorted icon to be shown when no sort is applied to this column. Default: `false` */\",\n      \"colSpan?\": \"/** By default, each cell will take up the width of one column. You can change this behaviour to allow cells to span multiple columns. */\",\n      \"rowSpan?\": \"/** By default, each cell will take up the height of one row. You can change this behaviour to allow cells to span multiple rows. */\",\n      \"width?\": \"/** Initial width in pixels for the cell. */\",\n      \"initialWidth?\": \"/** Same as `width`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"minWidth?\": \"/** Minimum width in pixels for the cell. */\",\n      \"maxWidth?\": \"/** Maximum width in pixels for the cell. */\",\n      \"flex?\": \"/** Used instead of `width` when the goal is to fill the remaining empty space of the grid. */\",\n      \"initialFlex?\": \"/** Same as `flex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"resizable?\": \"/** Set to `true` to allow this column should be resized. Default: `false` */\",\n      \"suppressSizeToFit?\": \"/** Set to `true` if you want this column's width to be fixed during 'size to fit' operations. Default: `false` */\",\n      \"suppressAutoSize?\": \"/** Set to `true` if you do not want this column to be auto-resizable by double clicking it's edge. Default: `false` */\",\n      \"pivotValueColumn?\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n      \"pivotTotalColumnIds?\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n      \"spanHeaderHeight?\": \"/** Set to `true` if you want this column header for this column to span the whole height of the header container. Default: `false` */\",\n      \"headerName?\": \"/** The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. */\",\n      \"headerValueGetter?\": \"/** Function or expression. Gets the value for display in the header. */\",\n      \"headerTooltip?\": \"/** Tooltip for the column header */\",\n      \"headerClass?\": \"/** CSS class to use for the header cell. Can be a string, array of strings, or function. */\",\n      \"suppressHeaderKeyboardEvent?\": \"/** Suppress the grid taking action for the relevant keyboard event when a header is focused. */\",\n      \"columnGroupShow?\": \"/** Whether to only show the column when the group is open / closed. If not set the column is always displayed as part of the group. */\",\n      \"toolPanelClass?\": \"/** CSS class to use for the tool panel cell. Can be a string, array of strings, or function. */\",\n      \"suppressColumnsToolPanel?\": \"/** Set to `true` if you do not want this column or group to appear in the Columns Tool Panel. Default: `false` */\",\n      \"suppressFiltersToolPanel?\": \"/** Set to `true` if you do not want this column (filter) or group (filter group) to appear in the Filters Tool Panel. Default: `false` */\",\n      \"tooltipComponent?\": \"/** Provide your own tooltip component for the column.\\n    * See [Tooltip Component](https://www.ag-grid.com/javascript-data-grid/component-tooltip/) for framework specific implementation details.\\n    */\",\n      \"tooltipComponentFramework?\": \"/** @deprecated As of v27, use `tooltipComponent` for framework components too. */\",\n      \"tooltipComponentParams?\": \"/** The params used to configure `tooltipComponent`. */\",\n      \"pivotKeys?\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n      \"filter?\": \"/** Filter component to use for this column.\\n     * - Set to `true` to use the default filter.\\n     * - Set to the name of a provided filter: `set`, `number`, `text`, `date`.\\n     * - Set to a `IFilterComp`.\\n     */\",\n      \"filterFramework?\": \"/** @deprecated Provided a custom framework filter to use for this column. As of v27, you can use filter instead for Framework Components.  */\",\n      \"filterParams?\": \"/** Params to be passed to the filter component specified in `filter` or `filterFramework`. */\",\n      \"floatingFilterComponent?\": \"/** The custom component to be used for rendering the floating filter.\\n     * If none is specified the default AG Grid is used.\\n     */\",\n      \"floatingFilterComponentFramework?\": \"/** @deprecated Floating filter framework component to use for this column. As of v27, you can use floatingFilterComponent instead for Framework Components. */\",\n      \"floatingFilterComponentParams?\": \"/** Params to be passed to `floatingFilterComponent` or `floatingFilterComponentFramework`. */\"\n    }\n  },\n  \"ColumnFunctionCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"CheckboxSelectionCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"CheckboxSelectionCallback\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"CheckboxSelectionCallbackParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"RowDragCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"RowDragCallback\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"RowDragCallbackParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"DndSourceCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"DndSourceOnRowDragParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"rowNode\": \"IRowNode<TData>\",\n      \"dragEvent\": \"DragEvent\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"rowNode\": \"/** Row node for the given row */\",\n      \"dragEvent\": \"/** The DOM event that represents a drag and drop interaction */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"DndSourceCallback\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"DndSourceCallbackParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"EditableCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"EditableCallback\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"EditableCallbackParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"SuppressPasteCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"SuppressPasteCallback\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"SuppressPasteCallbackParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"SuppressNavigableCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"SuppressNavigableCallback\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"SuppressNavigableCallbackParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"HeaderCheckboxSelectionCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"HeaderCheckboxSelectionCallback\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"HeaderCheckboxSelectionCallbackParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"IsColumnFunc\": {\n    \"meta\": {\n      \"isCallSignature\": true,\n      \"typeParams\": [\"TData = any\"],\n      \"doc\": \"/** @deprecated\\n * No longer in use. Replaced with (params: ColumnFunctionCallbackParams) => boolean.\\n */\"\n    },\n    \"type\": {\n      \"arguments\": { \"params\": \"IsColumnFuncParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"IsColumnFuncParams\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\"],\n      \"doc\": \"/** @deprecated\\n * Replaced with ColumnFunctionCallbackParams\\n */\"\n    },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetQuickFilterTextParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"value\": \"TValue\",\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"value\": \"/** Value for the cell. */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Row data associated with the node. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ColumnMenuTab\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'filterMenuTab' | 'generalMenuTab' | 'columnsMenuTab'\"\n  },\n  \"ColumnsMenuParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"suppressSyncLayoutWithGrid?\": \"boolean\",\n      \"suppressColumnFilter?\": \"boolean\",\n      \"suppressColumnSelectAll?\": \"boolean\",\n      \"suppressColumnExpandAll?\": \"boolean\",\n      \"contractColumnSelection?\": \"boolean\",\n      \"columnLayout?\": \"(ColDef | ColGroupDef)[]\"\n    },\n    \"docs\": {\n      \"suppressSyncLayoutWithGrid?\": \"/** To suppress updating the layout of columns as they are rearranged in the grid */\",\n      \"suppressColumnFilter?\": \"/** To suppress Column Filter section*/\",\n      \"suppressColumnSelectAll?\": \"/** To suppress Select / Un-select all widget*/\",\n      \"suppressColumnExpandAll?\": \"/** To suppress Expand / Collapse all widget*/\",\n      \"contractColumnSelection?\": \"/** By default, column groups start expanded.\\n     * Pass true to default to contracted groups*/\",\n      \"columnLayout?\": \"/** Custom Columns Panel layout */\"\n    }\n  },\n  \"BaseColDefParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"BaseColDefOptionalDataParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ValueGetterParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"getValue\": \"(field: string) => any\",\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"getValue\": \"/** A utility method for getting other column values */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ValueGetterFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"ValueGetterParams<TData>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"HeaderValueGetterParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"colDef\": \"AbstractColDef<TData>\",\n      \"column?\": \"Column | null\",\n      \"columnGroup?\": \"ColumnGroup | ProvidedColumnGroup | null\",\n      \"providedColumnGroup\": \"ProvidedColumnGroup | null\",\n      \"location\": \"string | null\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"column?\": \"/** Column for this callback if applicable*/\",\n      \"columnGroup?\": \"/** ColumnGroup for this callback if applicable */\",\n      \"providedColumnGroup\": \"/** Original column group if applicable */\",\n      \"location\": \"/** Where the column is going to appear */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"HeaderValueGetterFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"HeaderValueGetterParams<TData>\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"NewValueParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"oldValue\": \"any\",\n      \"newValue\": \"any\",\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"oldValue\": \"/** The value before the change */\",\n      \"newValue\": \"/** The value after the change */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ValueSetterParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"oldValue\": \"any\",\n      \"newValue\": \"any\",\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"oldValue\": \"/** The value before the change */\",\n      \"newValue\": \"/** The value after the change */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ValueSetterFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"ValueSetterParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"ValueParserParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"oldValue\": \"any\",\n      \"newValue\": \"any\",\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"oldValue\": \"/** The value before the change */\",\n      \"newValue\": \"/** The value after the change */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ValueParserFunc\": {\n    \"meta\": {\n      \"isCallSignature\": true,\n      \"typeParams\": [\"TData = any\", \"TValue = any\"]\n    },\n    \"type\": {\n      \"arguments\": { \"params\": \"ValueParserParams<TData>\" },\n      \"returnType\": \"TValue\"\n    }\n  },\n  \"ValueFormatterParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"value\": \"TValue\",\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"value\": \"/** Value for the cell. */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ValueFormatterFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"ValueFormatterParams<TData>\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"KeyCreatorParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"value\": \"TValue\",\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"value\": \"/** Value for the cell. */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ColSpanParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"RowSpanParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"SuppressKeyboardEventParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"event\": \"KeyboardEvent\",\n      \"editing\": \"boolean\",\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"event\": \"/** The keyboard event the grid received */\",\n      \"editing\": \"/** Whether the cell is editing or not */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"SuppressHeaderKeyboardEventParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"column\": \"Column | ColumnGroup\",\n      \"colDef\": \"ColDef<TData> | ColGroupDef<TData> | null\",\n      \"headerRowIndex\": \"number\",\n      \"event\": \"KeyboardEvent\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"headerRowIndex\": \"/** The index of the header row of the current focused header */\",\n      \"event\": \"/** The keyboard event the grid received */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"CellClassParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** The colDef associated with the column for this cell */\",\n      \"value\": \"/** The value to be rendered */\",\n      \"data\": \"/** The data associated with this row from rowData. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The RowNode associated with this row */\",\n      \"rowIndex\": \"/** The index of the row */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"CellClassFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"cellClassParams\": \"CellClassParams<TData>\" },\n      \"returnType\": \"string | string[] | null | undefined\"\n    }\n  },\n  \"CellStyleFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"cellClassParams\": \"CellClassParams<TData>\" },\n      \"returnType\": \"CellStyle | null | undefined\"\n    }\n  },\n  \"CellStyle\": {\n    \"meta\": {},\n    \"type\": { \"[cssProperty: string]\": \"string | number\" }\n  },\n  \"CellClassRules\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"[cssClassName: string]\": \"(((params: CellClassParams<TData>) => boolean) | string)\"\n    }\n  },\n  \"CellRendererSelectorFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n      \"returnType\": \"CellRendererSelectorResult | undefined\"\n    }\n  },\n  \"CellEditorSelectorFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"ICellEditorParams<TData>\" },\n      \"returnType\": \"CellEditorSelectorResult | undefined\"\n    }\n  },\n  \"CellRendererSelectorResult\": {\n    \"meta\": {},\n    \"type\": {\n      \"component?\": \"any\",\n      \"frameworkComponent?\": \"any\",\n      \"params?\": \"any\"\n    },\n    \"docs\": {\n      \"component?\": \"/** Equivalent of setting `colDef.cellRenderer` */\",\n      \"frameworkComponent?\": \"/** @deprecated As of v27, use `component` for framework components too. */\",\n      \"params?\": \"/** Equivalent of setting `colDef.cellRendererParams` */\"\n    }\n  },\n  \"CellEditorSelectorResult\": {\n    \"meta\": {},\n    \"type\": {\n      \"component?\": \"any\",\n      \"frameworkComponent?\": \"any\",\n      \"params?\": \"any\",\n      \"popup?\": \"boolean\",\n      \"popupPosition?\": \"'over' | 'under'\"\n    },\n    \"docs\": {\n      \"component?\": \"/** Equivalent of setting `colDef.cellEditor` */\",\n      \"frameworkComponent?\": \"/** @deprecated As of v27, use `component` for framework components too. */\",\n      \"params?\": \"/** Equivalent of setting `colDef.cellEditorParams` */\",\n      \"popup?\": \"/** Equivalent of setting `colDef.cellEditorPopup` */\",\n      \"popupPosition?\": \"/** Equivalent of setting `colDef.cellEditorPopupPosition` */\"\n    }\n  },\n  \"SortDirection\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'asc' | 'desc' | null\"\n  },\n  \"ColumnPinnedType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'left' | 'right' | boolean | null | undefined\"\n  },\n  \"ColumnEventName\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'movingChanged' | 'leftChanged' | 'widthChanged' | 'lastLeftPinnedChanged' | 'firstRightPinnedChanged' | 'visibleChanged' | 'filterChanged' | 'filterActiveChanged' | 'sortChanged' | 'colDefChanged' | 'menuVisibleChanged' | 'columnRowGroupChanged' | 'columnPivotChanged' | 'columnValueChanged'\"\n  },\n  \"ColumnGroupShowType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'open' | 'closed'\"\n  },\n  \"GridOptions\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"statusBar?\": \"{ statusPanels: StatusPanelDef[]; }\",\n      \"sideBar?\": \"SideBarDef | string | string[] | boolean | null\",\n      \"suppressContextMenu?\": \"boolean\",\n      \"preventDefaultOnContextMenu?\": \"boolean\",\n      \"allowContextMenuWithControlKey?\": \"boolean\",\n      \"suppressMenuHide?\": \"boolean\",\n      \"enableBrowserTooltips?\": \"boolean\",\n      \"tooltipShowDelay?\": \"number\",\n      \"tooltipHideDelay?\": \"number\",\n      \"tooltipMouseTrack?\": \"boolean\",\n      \"popupParent?\": \"HTMLElement | null\",\n      \"copyHeadersToClipboard?\": \"boolean\",\n      \"copyGroupHeadersToClipboard?\": \"boolean\",\n      \"clipboardDeliminator?\": \"string\",\n      \"clipboardDelimiter?\": \"string\",\n      \"suppressCopyRowsToClipboard?\": \"boolean\",\n      \"suppressCopySingleCellRanges?\": \"boolean\",\n      \"suppressLastEmptyLineOnPaste?\": \"boolean\",\n      \"suppressClipboardPaste?\": \"boolean\",\n      \"suppressClipboardApi?\": \"boolean\",\n      \"suppressCutToClipboard?\": \"boolean\",\n      \"columnDefs?\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\",\n      \"defaultColDef?\": \"ColDef<TData>\",\n      \"defaultColGroupDef?\": \"Partial<ColGroupDef<TData>>\",\n      \"columnTypes?\": \"{ [key: string]: ColDef<TData>; }\",\n      \"maintainColumnOrder?\": \"boolean\",\n      \"suppressFieldDotNotation?\": \"boolean\",\n      \"headerHeight?\": \"number\",\n      \"groupHeaderHeight?\": \"number\",\n      \"floatingFiltersHeight?\": \"number\",\n      \"pivotHeaderHeight?\": \"number\",\n      \"pivotGroupHeaderHeight?\": \"number\",\n      \"allowDragFromColumnsToolPanel?\": \"boolean\",\n      \"suppressMovableColumns?\": \"boolean\",\n      \"suppressColumnMoveAnimation?\": \"boolean\",\n      \"suppressDragLeaveHidesColumns?\": \"boolean\",\n      \"suppressRowGroupHidesColumns?\": \"boolean\",\n      \"colResizeDefault?\": \"'shift'\",\n      \"suppressAutoSize?\": \"boolean\",\n      \"autoSizePadding?\": \"number\",\n      \"skipHeaderOnAutoSize?\": \"boolean\",\n      \"components?\": \"{ [p: string]: any; }\",\n      \"frameworkComponents?\": \"{ [p: string]: { new (): any; }; } | any\",\n      \"reactUi?\": \"boolean\",\n      \"suppressReactUi?\": \"boolean\",\n      \"editType?\": \"'fullRow'\",\n      \"singleClickEdit?\": \"boolean\",\n      \"suppressClickEdit?\": \"boolean\",\n      \"readOnlyEdit?\": \"boolean\",\n      \"stopEditingWhenCellsLoseFocus?\": \"boolean\",\n      \"enterMovesDown?\": \"boolean\",\n      \"enterMovesDownAfterEdit?\": \"boolean\",\n      \"enableCellEditingOnBackspace?\": \"boolean\",\n      \"undoRedoCellEditing?\": \"boolean\",\n      \"undoRedoCellEditingLimit?\": \"number\",\n      \"defaultCsvExportParams?\": \"CsvExportParams\",\n      \"suppressCsvExport?\": \"boolean\",\n      \"defaultExcelExportParams?\": \"ExcelExportParams\",\n      \"suppressExcelExport?\": \"boolean\",\n      \"excelStyles?\": \"ExcelStyle[]\",\n      \"quickFilterText?\": \"string\",\n      \"cacheQuickFilter?\": \"boolean\",\n      \"excludeHiddenColumnsFromQuickFilter?\": \"boolean\",\n      \"excludeChildrenWhenTreeDataFiltering?\": \"boolean\",\n      \"enableCharts?\": \"boolean\",\n      \"chartThemes?\": \"string[]\",\n      \"customChartThemes?\": \"{ [name: string]: AgChartTheme; }\",\n      \"chartThemeOverrides?\": \"AgChartThemeOverrides\",\n      \"enableChartToolPanelsButton?\": \"boolean\",\n      \"suppressChartToolPanelsButton?\": \"boolean\",\n      \"chartToolPanelsDef?\": \"ChartToolPanelsDef\",\n      \"loadingCellRenderer?\": \"any\",\n      \"loadingCellRendererFramework?\": \"any\",\n      \"loadingCellRendererParams?\": \"any\",\n      \"loadingCellRendererSelector?\": \"LoadingCellRendererSelectorFunc<TData>\",\n      \"localeText?\": \"{ [key: string]: string; }\",\n      \"masterDetail?\": \"boolean\",\n      \"keepDetailRows?\": \"boolean\",\n      \"keepDetailRowsCount?\": \"number\",\n      \"detailCellRenderer?\": \"any\",\n      \"detailCellRendererFramework?\": \"any\",\n      \"detailCellRendererParams?\": \"any\",\n      \"detailRowHeight?\": \"number\",\n      \"detailRowAutoHeight?\": \"boolean\",\n      \"context?\": \"any\",\n      \"alignedGrids?\": \"{ api?: GridApi | null; columnApi?: ColumnApi | null; }[]\",\n      \"tabIndex?\": \"number\",\n      \"rowBuffer?\": \"number\",\n      \"valueCache?\": \"boolean\",\n      \"valueCacheNeverExpires?\": \"boolean\",\n      \"enableCellExpressions?\": \"boolean\",\n      \"suppressParentsInRowNodes?\": \"boolean\",\n      \"suppressTouch?\": \"boolean\",\n      \"suppressFocusAfterRefresh?\": \"boolean\",\n      \"suppressAsyncEvents?\": \"boolean\",\n      \"suppressBrowserResizeObserver?\": \"boolean\",\n      \"suppressPropertyNamesCheck?\": \"boolean\",\n      \"suppressChangeDetection?\": \"boolean\",\n      \"debug?\": \"boolean\",\n      \"overlayLoadingTemplate?\": \"string\",\n      \"loadingOverlayComponent?\": \"any\",\n      \"loadingOverlayComponentFramework?\": \"any\",\n      \"loadingOverlayComponentParams?\": \"any\",\n      \"suppressLoadingOverlay?\": \"boolean\",\n      \"overlayNoRowsTemplate?\": \"string\",\n      \"noRowsOverlayComponent?\": \"any\",\n      \"noRowsOverlayComponentFramework?\": \"any\",\n      \"noRowsOverlayComponentParams?\": \"any\",\n      \"suppressNoRowsOverlay?\": \"boolean\",\n      \"pagination?\": \"boolean\",\n      \"paginationPageSize?\": \"number\",\n      \"paginationAutoPageSize?\": \"boolean\",\n      \"paginateChildRows?\": \"boolean\",\n      \"suppressPaginationPanel?\": \"boolean\",\n      \"pivotMode?\": \"boolean\",\n      \"pivotPanelShow?\": \"'always' | 'onlyWhenPivoting' | 'never'\",\n      \"pivotColumnGroupTotals?\": \"'before' | 'after'\",\n      \"pivotRowTotals?\": \"'before' | 'after'\",\n      \"pivotSuppressAutoColumn?\": \"boolean\",\n      \"suppressExpandablePivotGroups?\": \"boolean\",\n      \"functionsReadOnly?\": \"boolean\",\n      \"aggFuncs?\": \"{ [key: string]: IAggFunc<TData>; }\",\n      \"suppressAggFuncInHeader?\": \"boolean\",\n      \"suppressAggAtRootLevel?\": \"boolean\",\n      \"aggregateOnlyChangedColumns?\": \"boolean\",\n      \"suppressAggFilteredOnly?\": \"boolean\",\n      \"removePivotHeaderRowWhenSingleValueColumn?\": \"boolean\",\n      \"animateRows?\": \"boolean\",\n      \"enableCellChangeFlash?\": \"boolean\",\n      \"cellFlashDelay?\": \"number\",\n      \"cellFadeDelay?\": \"number\",\n      \"allowShowChangeAfterFilter?\": \"boolean\",\n      \"domLayout?\": \"DomLayoutType\",\n      \"ensureDomOrder?\": \"boolean\",\n      \"enableRtl?\": \"boolean\",\n      \"suppressColumnVirtualisation?\": \"boolean\",\n      \"suppressMaxRenderedRowRestriction?\": \"boolean\",\n      \"suppressRowVirtualisation?\": \"boolean\",\n      \"rowDragManaged?\": \"boolean\",\n      \"suppressRowDrag?\": \"boolean\",\n      \"suppressMoveWhenRowDragging?\": \"boolean\",\n      \"rowDragEntireRow?\": \"boolean\",\n      \"rowDragMultiRow?\": \"boolean\",\n      \"rowDragText?\": \"(params: IRowDragItem, dragItemCount: number) => string\",\n      \"fullWidthCellRenderer?\": \"any\",\n      \"fullWidthCellRendererFramework?\": \"any\",\n      \"fullWidthCellRendererParams?\": \"any\",\n      \"embedFullWidthRows?\": \"boolean\",\n      \"groupDisplayType?\": \"RowGroupingDisplayType\",\n      \"groupDefaultExpanded?\": \"number\",\n      \"autoGroupColumnDef?\": \"ColDef<TData>\",\n      \"groupMaintainOrder?\": \"boolean\",\n      \"groupSelectsChildren?\": \"boolean\",\n      \"groupAggFiltering?\": \"boolean | IsRowFilterable<TData>\",\n      \"groupIncludeFooter?\": \"boolean\",\n      \"groupIncludeTotalFooter?\": \"boolean\",\n      \"groupSuppressBlankHeader?\": \"boolean\",\n      \"groupSelectsFiltered?\": \"boolean\",\n      \"showOpenedGroup?\": \"boolean\",\n      \"groupRemoveSingleChildren?\": \"boolean\",\n      \"groupRemoveLowestSingleChildren?\": \"boolean\",\n      \"groupHideOpenParents?\": \"boolean\",\n      \"groupAllowUnbalanced?\": \"boolean\",\n      \"rowGroupPanelShow?\": \"'always' | 'onlyWhenGrouping' | 'never'\",\n      \"groupRowRenderer?\": \"any\",\n      \"groupRowRendererFramework?\": \"any\",\n      \"groupRowRendererParams?\": \"any\",\n      \"suppressMakeColumnVisibleAfterUnGroup?\": \"boolean\",\n      \"treeData?\": \"boolean\",\n      \"rowGroupPanelSuppressSort?\": \"boolean\",\n      \"groupRowsSticky?\": \"boolean\",\n      \"rememberGroupStateWhenNewData?\": \"boolean\",\n      \"pinnedTopRowData?\": \"any[]\",\n      \"pinnedBottomRowData?\": \"any[]\",\n      \"rowModelType?\": \"RowModelType\",\n      \"rowData?\": \"TData[] | null\",\n      \"immutableData?\": \"boolean\",\n      \"asyncTransactionWaitMillis?\": \"number\",\n      \"suppressModelUpdateAfterUpdateTransaction?\": \"boolean\",\n      \"datasource?\": \"IDatasource\",\n      \"cacheOverflowSize?\": \"number\",\n      \"infiniteInitialRowCount?\": \"number\",\n      \"serverSideInitialRowCount?\": \"number\",\n      \"serverSideStoreType?\": \"ServerSideStoreType\",\n      \"suppressServerSideInfiniteScroll?\": \"boolean\",\n      \"cacheBlockSize?\": \"number\",\n      \"maxBlocksInCache?\": \"number\",\n      \"maxConcurrentDatasourceRequests?\": \"number\",\n      \"blockLoadDebounceMillis?\": \"number\",\n      \"purgeClosedRowNodes?\": \"boolean\",\n      \"serverSideDatasource?\": \"IServerSideDatasource\",\n      \"serverSideSortAllLevels?\": \"boolean\",\n      \"serverSideFilterAllLevels?\": \"boolean\",\n      \"serverSideSortOnServer?\": \"boolean\",\n      \"serverSideFilterOnServer?\": \"boolean\",\n      \"serverSideSortingAlwaysResets?\": \"boolean\",\n      \"serverSideFilteringAlwaysResets?\": \"boolean\",\n      \"viewportDatasource?\": \"IViewportDatasource\",\n      \"viewportRowModelPageSize?\": \"number\",\n      \"viewportRowModelBufferSize?\": \"number\",\n      \"alwaysShowHorizontalScroll?\": \"boolean\",\n      \"alwaysShowVerticalScroll?\": \"boolean\",\n      \"debounceVerticalScrollbar?\": \"boolean\",\n      \"suppressHorizontalScroll?\": \"boolean\",\n      \"suppressScrollOnNewData?\": \"boolean\",\n      \"suppressScrollWhenPopupsAreOpen?\": \"boolean\",\n      \"suppressAnimationFrame?\": \"boolean\",\n      \"suppressMiddleClickScrolls?\": \"boolean\",\n      \"suppressPreventDefaultOnMouseWheel?\": \"boolean\",\n      \"scrollbarWidth?\": \"number\",\n      \"rowSelection?\": \"'single' | 'multiple'\",\n      \"rowMultiSelectWithClick?\": \"boolean\",\n      \"suppressRowDeselection?\": \"boolean\",\n      \"suppressRowClickSelection?\": \"boolean\",\n      \"suppressCellSelection?\": \"boolean\",\n      \"suppressCellFocus?\": \"boolean\",\n      \"suppressMultiRangeSelection?\": \"boolean\",\n      \"enableCellTextSelection?\": \"boolean\",\n      \"enableRangeSelection?\": \"boolean\",\n      \"enableRangeHandle?\": \"boolean\",\n      \"enableFillHandle?\": \"boolean\",\n      \"fillHandleDirection?\": \"'x' | 'y' | 'xy'\",\n      \"suppressClearOnFillReduction?\": \"boolean\",\n      \"sortingOrder?\": \"(SortDirection)[]\",\n      \"accentedSort?\": \"boolean\",\n      \"unSortIcon?\": \"boolean\",\n      \"suppressMultiSort?\": \"boolean\",\n      \"alwaysMultiSort?\": \"boolean\",\n      \"multiSortKey?\": \"'ctrl'\",\n      \"suppressMaintainUnsortedOrder?\": \"boolean\",\n      \"icons?\": \"{ [key: string]: Function | string; }\",\n      \"rowHeight?\": \"number\",\n      \"rowStyle?\": \"RowStyle\",\n      \"rowClass?\": \"string | string[]\",\n      \"rowClassRules?\": \"RowClassRules<TData>\",\n      \"suppressRowHoverHighlight?\": \"boolean\",\n      \"suppressRowTransform?\": \"boolean\",\n      \"columnHoverHighlight?\": \"boolean\",\n      \"deltaSort?\": \"boolean\",\n      \"treeDataDisplayType?\": \"TreeDataDisplayType\",\n      \"functionsPassive?\": \"boolean\",\n      \"enableGroupEdit?\": \"boolean\",\n      \"getContextMenuItems?\": \"GetContextMenuItems<TData>\",\n      \"getMainMenuItems?\": \"GetMainMenuItems\",\n      \"postProcessPopup?\": \"(params: PostProcessPopupParams<TData>) => void\",\n      \"processCellForClipboard?\": \"(params: ProcessCellForExportParams<TData>) => any\",\n      \"processHeaderForClipboard?\": \"(params: ProcessHeaderForExportParams<TData>) => any\",\n      \"processGroupHeaderForClipboard?\": \"(params: ProcessGroupHeaderForExportParams<TData>) => any\",\n      \"processCellFromClipboard?\": \"(params: ProcessCellForExportParams<TData>) => any\",\n      \"sendToClipboard?\": \"(params: SendToClipboardParams<TData>) => void\",\n      \"processDataFromClipboard?\": \"(params: ProcessDataFromClipboardParams<TData>) => string[][] | null\",\n      \"isExternalFilterPresent?\": \"(params: IsExternalFilterPresentParams<TData>) => boolean\",\n      \"doesExternalFilterPass?\": \"(node: IRowNode<TData>) => boolean\",\n      \"getChartToolbarItems?\": \"GetChartToolbarItems\",\n      \"createChartContainer?\": \"(params: ChartRefParams<TData>) => void\",\n      \"navigateToNextHeader?\": \"(params: NavigateToNextHeaderParams<TData>) => (HeaderPosition | null)\",\n      \"tabToNextHeader?\": \"(params: TabToNextHeaderParams<TData>) => (HeaderPosition | null)\",\n      \"navigateToNextCell?\": \"(params: NavigateToNextCellParams<TData>) => (CellPosition | null)\",\n      \"tabToNextCell?\": \"(params: TabToNextCellParams<TData>) => (CellPosition | null)\",\n      \"localeTextFunc?\": \"(key: string, defaultValue: string, variableValues?: string[]) => string\",\n      \"getLocaleText?\": \"(params: GetLocaleTextParams<TData>) => string\",\n      \"getDocument?\": \"() => Document\",\n      \"paginationNumberFormatter?\": \"(params: PaginationNumberFormatterParams<TData>) => string\",\n      \"groupRowAggNodes?\": \"(nodes: IRowNode[]) => any\",\n      \"getGroupRowAgg?\": \"(params: GetGroupRowAggParams<TData>) => any\",\n      \"isGroupOpenByDefault?\": \"(params: IsGroupOpenByDefaultParams<TData>) => boolean\",\n      \"initialGroupOrderComparator?\": \"(params: InitialGroupOrderComparatorParams<TData>) => number\",\n      \"defaultGroupOrderComparator?\": \"(nodeA: IRowNode<TData>, nodeB: IRowNode<TData>) => number\",\n      \"processSecondaryColDef?\": \"(colDef: ColDef<TData>) => void\",\n      \"processSecondaryColGroupDef?\": \"(colGroupDef: ColGroupDef<TData>) => void\",\n      \"processPivotResultColDef?\": \"(colDef: ColDef<TData>) => void\",\n      \"processPivotResultColGroupDef?\": \"(colGroupDef: ColGroupDef<TData>) => void\",\n      \"getDataPath?\": \"GetDataPath<TData>\",\n      \"getChildCount?\": \"(dataItem: any) => number\",\n      \"getServerSideGroupLevelParams?\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\",\n      \"getServerSideStoreParams?\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\",\n      \"isServerSideGroupOpenByDefault?\": \"(params: IsServerSideGroupOpenByDefaultParams) => boolean\",\n      \"isApplyServerSideTransaction?\": \"IsApplyServerSideTransaction\",\n      \"isServerSideGroup?\": \"IsServerSideGroup\",\n      \"getServerSideGroupKey?\": \"GetServerSideGroupKey\",\n      \"getBusinessKeyForNode?\": \"(node: IRowNode<TData>) => string\",\n      \"getRowNodeId?\": \"GetRowNodeIdFunc<TData>\",\n      \"getRowId?\": \"GetRowIdFunc<TData>\",\n      \"resetRowDataOnUpdate?\": \"boolean\",\n      \"processRowPostCreate?\": \"(params: ProcessRowParams<TData>) => void\",\n      \"isRowSelectable?\": \"IsRowSelectable<TData>\",\n      \"isRowMaster?\": \"IsRowMaster<TData>\",\n      \"fillOperation?\": \"(params: FillOperationParams<TData>) => any\",\n      \"postSort?\": \"(nodes: IRowNode<TData>[]) => void\",\n      \"postSortRows?\": \"(params: PostSortRowsParams<TData>) => void\",\n      \"getRowStyle?\": \"(params: RowClassParams<TData>) => RowStyle | undefined\",\n      \"getRowClass?\": \"(params: RowClassParams<TData>) => string | string[] | undefined\",\n      \"getRowHeight?\": \"(params: RowHeightParams<TData>) => number | undefined | null\",\n      \"isFullWidthCell?\": \"(rowNode: IRowNode<TData>) => boolean\",\n      \"isFullWidthRow?\": \"(params: IsFullWidthRowParams<TData>) => boolean\",\n      \"onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent<TData>)\": \"void\",\n      \"onToolPanelSizeChanged?(event: ToolPanelSizeChangedEvent<TData>)\": \"void\",\n      \"onPasteStart?(event: PasteStartEvent<TData>)\": \"void\",\n      \"onPasteEnd?(event: PasteEndEvent<TData>)\": \"void\",\n      \"onColumnVisible?(event: ColumnVisibleEvent<TData>)\": \"void\",\n      \"onColumnPinned?(event: ColumnPinnedEvent<TData>)\": \"void\",\n      \"onColumnResized?(event: ColumnResizedEvent<TData>)\": \"void\",\n      \"onColumnMoved?(event: ColumnMovedEvent<TData>)\": \"void\",\n      \"onColumnValueChanged?(event: ColumnValueChangedEvent<TData>)\": \"void\",\n      \"onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent<TData>)\": \"void\",\n      \"onColumnPivotChanged?(event: ColumnPivotChangedEvent<TData>)\": \"void\",\n      \"onColumnGroupOpened?(event: ColumnGroupOpenedEvent<TData>)\": \"void\",\n      \"onNewColumnsLoaded?(event: NewColumnsLoadedEvent<TData>)\": \"void\",\n      \"onGridColumnsChanged?(event: GridColumnsChangedEvent<TData>)\": \"void\",\n      \"onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent<TData>)\": \"void\",\n      \"onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent<TData>)\": \"void\",\n      \"onColumnEverythingChanged?(event: ColumnEverythingChangedEvent<TData>)\": \"void\",\n      \"onComponentStateChanged?(event: ComponentStateChangedEvent<TData>)\": \"void\",\n      \"onCellValueChanged?(event: CellValueChangedEvent<TData>)\": \"void\",\n      \"onCellEditRequest?(event: CellEditRequestEvent<TData>)\": \"void\",\n      \"onRowValueChanged?(event: RowValueChangedEvent<TData>)\": \"void\",\n      \"onCellEditingStarted?(event: CellEditingStartedEvent<TData>)\": \"void\",\n      \"onCellEditingStopped?(event: CellEditingStoppedEvent<TData>)\": \"void\",\n      \"onRowEditingStarted?(event: RowEditingStartedEvent<TData>)\": \"void\",\n      \"onRowEditingStopped?(event: RowEditingStoppedEvent<TData>)\": \"void\",\n      \"onUndoStarted?(event: UndoStartedEvent<TData>)\": \"void\",\n      \"onUndoEnded?(event: UndoEndedEvent<TData>)\": \"void\",\n      \"onRedoStarted?(event: RedoStartedEvent<TData>)\": \"void\",\n      \"onRedoEnded?(event: RedoEndedEvent<TData>)\": \"void\",\n      \"onFilterOpened?(event: FilterOpenedEvent<TData>)\": \"void\",\n      \"onFilterChanged?(event: FilterChangedEvent<TData>)\": \"void\",\n      \"onFilterModified?(event: FilterModifiedEvent<TData>)\": \"void\",\n      \"onChartCreated?(event: ChartCreated<TData>)\": \"void\",\n      \"onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged<TData>)\": \"void\",\n      \"onChartOptionsChanged?(event: ChartOptionsChanged<TData>)\": \"void\",\n      \"onChartDestroyed?(event: ChartDestroyed<TData>)\": \"void\",\n      \"onCellKeyDown?(event: CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>)\": \"void\",\n      \"onCellKeyPress?(event: CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>)\": \"void\",\n      \"onGridReady?(event: GridReadyEvent<TData>)\": \"void\",\n      \"onFirstDataRendered?(event: FirstDataRenderedEvent<TData>)\": \"void\",\n      \"onGridSizeChanged?(event: GridSizeChangedEvent<TData>)\": \"void\",\n      \"onModelUpdated?(event: ModelUpdatedEvent<TData>)\": \"void\",\n      \"onVirtualRowRemoved?(event: VirtualRowRemovedEvent<TData>)\": \"void\",\n      \"onViewportChanged?(event: ViewportChangedEvent<TData>)\": \"void\",\n      \"onBodyScroll?(event: BodyScrollEvent<TData>)\": \"void\",\n      \"onBodyScrollEnd?(event: BodyScrollEndEvent<TData>)\": \"void\",\n      \"onDragStarted?(event: DragStartedEvent<TData>)\": \"void\",\n      \"onDragStopped?(event: DragStoppedEvent<TData>)\": \"void\",\n      \"onPaginationChanged?(event: PaginationChangedEvent<TData>)\": \"void\",\n      \"onRowDragEnter?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragMove?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragLeave?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragEnd?(event: RowDragEvent<TData>)\": \"void\",\n      \"onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent<TData>)\": \"void\",\n      \"onRowGroupOpened?(event: RowGroupOpenedEvent<TData>)\": \"void\",\n      \"onExpandOrCollapseAll?(event: ExpandCollapseAllEvent<TData>)\": \"void\",\n      \"onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent<TData>)\": \"void\",\n      \"onRowDataChanged?(event: RowDataChangedEvent<TData>)\": \"void\",\n      \"onRowDataUpdated?(event: RowDataUpdatedEvent<TData>)\": \"void\",\n      \"onAsyncTransactionsFlushed?(event: AsyncTransactionsFlushed<TData>)\": \"void\",\n      \"onStoreRefreshed?(event: StoreRefreshedEvent<TData>)\": \"void\",\n      \"onCellClicked?(event: CellClickedEvent<TData>)\": \"void\",\n      \"onCellDoubleClicked?(event: CellDoubleClickedEvent<TData>)\": \"void\",\n      \"onCellFocused?(event: CellFocusedEvent<TData>)\": \"void\",\n      \"onCellMouseOver?(event: CellMouseOverEvent<TData>)\": \"void\",\n      \"onCellMouseOut?(event: CellMouseOutEvent<TData>)\": \"void\",\n      \"onCellMouseDown?(event: CellMouseDownEvent<TData>)\": \"void\",\n      \"onRowClicked?(event: RowClickedEvent<TData>)\": \"void\",\n      \"onRowDoubleClicked?(event: RowDoubleClickedEvent<TData>)\": \"void\",\n      \"onRowSelected?(event: RowSelectedEvent<TData>)\": \"void\",\n      \"onSelectionChanged?(event: SelectionChangedEvent<TData>)\": \"void\",\n      \"onCellContextMenu?(event: CellContextMenuEvent<TData>)\": \"void\",\n      \"onRangeSelectionChanged?(event: RangeSelectionChangedEvent<TData>)\": \"void\",\n      \"onSortChanged?(event: SortChangedEvent<TData>)\": \"void\",\n      \"onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent<TData>)\": \"void\",\n      \"api?\": \"GridApi<TData> | null\",\n      \"columnApi?\": \"ColumnApi | null\"\n    },\n    \"docs\": {\n      \"statusBar?\": \"/** Specifies the status bar components to use in the status bar. */\",\n      \"sideBar?\": \"/** Specifies the side bar components. */\",\n      \"suppressContextMenu?\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n      \"preventDefaultOnContextMenu?\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n      \"allowContextMenuWithControlKey?\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n      \"suppressMenuHide?\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n      \"enableBrowserTooltips?\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n      \"tooltipShowDelay?\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n      \"tooltipHideDelay?\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n      \"tooltipMouseTrack?\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n      \"popupParent?\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n      \"copyHeadersToClipboard?\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"copyGroupHeadersToClipboard?\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"clipboardDeliminator?\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n      \"clipboardDelimiter?\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n      \"suppressCopyRowsToClipboard?\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n      \"suppressCopySingleCellRanges?\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n      \"suppressLastEmptyLineOnPaste?\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n      \"suppressClipboardPaste?\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n      \"suppressClipboardApi?\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n      \"suppressCutToClipboard?\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n      \"columnDefs?\": \"/** Array of Column / Column Group definitions. */\",\n      \"defaultColDef?\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n      \"defaultColGroupDef?\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n      \"columnTypes?\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n      \"maintainColumnOrder?\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n      \"suppressFieldDotNotation?\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n      \"headerHeight?\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n      \"groupHeaderHeight?\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n      \"floatingFiltersHeight?\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n      \"pivotHeaderHeight?\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n      \"pivotGroupHeaderHeight?\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n      \"allowDragFromColumnsToolPanel?\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n      \"suppressMovableColumns?\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n      \"suppressColumnMoveAnimation?\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n      \"suppressDragLeaveHidesColumns?\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n      \"suppressRowGroupHidesColumns?\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n      \"colResizeDefault?\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n      \"suppressAutoSize?\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n      \"autoSizePadding?\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n      \"skipHeaderOnAutoSize?\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n      \"components?\": \"/** A map of component names to components. */\",\n      \"frameworkComponents?\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n      \"reactUi?\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n      \"suppressReactUi?\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n      \"editType?\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n      \"singleClickEdit?\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n      \"suppressClickEdit?\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n      \"readOnlyEdit?\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n      \"stopEditingWhenCellsLoseFocus?\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n      \"enterMovesDown?\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"enterMovesDownAfterEdit?\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"enableCellEditingOnBackspace?\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n      \"undoRedoCellEditing?\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n      \"undoRedoCellEditingLimit?\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n      \"defaultCsvExportParams?\": \"/** A default configuration object used to export to CSV. */\",\n      \"suppressCsvExport?\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n      \"defaultExcelExportParams?\": \"/** A default configuration object used to export to Excel. */\",\n      \"suppressExcelExport?\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n      \"excelStyles?\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n      \"quickFilterText?\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n      \"cacheQuickFilter?\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n      \"excludeHiddenColumnsFromQuickFilter?\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n      \"excludeChildrenWhenTreeDataFiltering?\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n      \"enableCharts?\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n      \"chartThemes?\": \"/** The list of chart themes to be used. */\",\n      \"customChartThemes?\": \"/** A map containing custom chart themes. */\",\n      \"chartThemeOverrides?\": \"/** Chart theme overrides applied to all themes. */\",\n      \"enableChartToolPanelsButton?\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n      \"suppressChartToolPanelsButton?\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n      \"chartToolPanelsDef?\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n      \"loadingCellRenderer?\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"loadingCellRendererFramework?\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n      \"loadingCellRendererParams?\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n      \"loadingCellRendererSelector?\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n      \"localeText?\": \"/** A map of key->value pairs for localising text within the grid. */\",\n      \"masterDetail?\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n      \"keepDetailRows?\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n      \"keepDetailRowsCount?\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n      \"detailCellRenderer?\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n      \"detailCellRendererFramework?\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n      \"detailCellRendererParams?\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n      \"detailRowHeight?\": \"/** Set fixed height in pixels for each detail row. */\",\n      \"detailRowAutoHeight?\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n      \"context?\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n      \"alignedGrids?\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n      \"tabIndex?\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n      \"rowBuffer?\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n      \"valueCache?\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n      \"valueCacheNeverExpires?\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n      \"enableCellExpressions?\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n      \"suppressParentsInRowNodes?\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n      \"suppressTouch?\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n      \"suppressFocusAfterRefresh?\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n      \"suppressAsyncEvents?\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n      \"suppressBrowserResizeObserver?\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n      \"suppressPropertyNamesCheck?\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n      \"suppressChangeDetection?\": \"/** Disables change detection. Default: `false` */\",\n      \"debug?\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n      \"overlayLoadingTemplate?\": \"/** Provide a template for 'loading' overlay. */\",\n      \"loadingOverlayComponent?\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n      \"loadingOverlayComponentFramework?\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n      \"loadingOverlayComponentParams?\": \"/** Customise the parameters provided to the loading overlay component. */\",\n      \"suppressLoadingOverlay?\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n      \"overlayNoRowsTemplate?\": \"/** Provide a template for 'no rows' overlay. */\",\n      \"noRowsOverlayComponent?\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n      \"noRowsOverlayComponentFramework?\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n      \"noRowsOverlayComponentParams?\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n      \"suppressNoRowsOverlay?\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n      \"pagination?\": \"/** Set whether pagination is enabled. Default: `false` */\",\n      \"paginationPageSize?\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n      \"paginationAutoPageSize?\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n      \"paginateChildRows?\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n      \"suppressPaginationPanel?\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n      \"pivotMode?\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n      \"pivotPanelShow?\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n      \"pivotColumnGroupTotals?\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n      \"pivotRowTotals?\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n      \"pivotSuppressAutoColumn?\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n      \"suppressExpandablePivotGroups?\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n      \"functionsReadOnly?\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n      \"aggFuncs?\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n      \"suppressAggFuncInHeader?\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n      \"suppressAggAtRootLevel?\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n      \"aggregateOnlyChangedColumns?\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n      \"suppressAggFilteredOnly?\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n      \"removePivotHeaderRowWhenSingleValueColumn?\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n      \"animateRows?\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n      \"enableCellChangeFlash?\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n      \"cellFlashDelay?\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n      \"cellFadeDelay?\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n      \"allowShowChangeAfterFilter?\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n      \"domLayout?\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n      \"ensureDomOrder?\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n      \"enableRtl?\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n      \"suppressColumnVirtualisation?\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"suppressMaxRenderedRowRestriction?\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n      \"suppressRowVirtualisation?\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"rowDragManaged?\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n      \"suppressRowDrag?\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n      \"suppressMoveWhenRowDragging?\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n      \"rowDragEntireRow?\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n      \"rowDragMultiRow?\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n      \"rowDragText?\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n      \"fullWidthCellRenderer?\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n      \"fullWidthCellRendererFramework?\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n      \"fullWidthCellRendererParams?\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n      \"embedFullWidthRows?\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n      \"groupDisplayType?\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n      \"groupDefaultExpanded?\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n      \"autoGroupColumnDef?\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n      \"groupMaintainOrder?\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n      \"groupSelectsChildren?\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n      \"groupAggFiltering?\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n      \"groupIncludeFooter?\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n      \"groupIncludeTotalFooter?\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n      \"groupSuppressBlankHeader?\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n      \"groupSelectsFiltered?\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n      \"showOpenedGroup?\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n      \"groupRemoveSingleChildren?\": \"/** Set to `true` to collapse groups that only have one child. */\",\n      \"groupRemoveLowestSingleChildren?\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n      \"groupHideOpenParents?\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n      \"groupAllowUnbalanced?\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n      \"rowGroupPanelShow?\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n      \"groupRowRenderer?\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n      \"groupRowRendererFramework?\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n      \"groupRowRendererParams?\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n      \"suppressMakeColumnVisibleAfterUnGroup?\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n      \"treeData?\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n      \"rowGroupPanelSuppressSort?\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n      \"groupRowsSticky?\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n      \"rememberGroupStateWhenNewData?\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n      \"pinnedTopRowData?\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n      \"pinnedBottomRowData?\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n      \"rowModelType?\": \"/** Sets the row model type. Default: `clientSide` */\",\n      \"rowData?\": \"/** Set the data to be displayed as rows in the grid. */\",\n      \"immutableData?\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n      \"asyncTransactionWaitMillis?\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n      \"suppressModelUpdateAfterUpdateTransaction?\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n      \"datasource?\": \"/** Provide the datasource for infinite scrolling. */\",\n      \"cacheOverflowSize?\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"infiniteInitialRowCount?\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"serverSideInitialRowCount?\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n      \"serverSideStoreType?\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n      \"suppressServerSideInfiniteScroll?\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n      \"cacheBlockSize?\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n      \"maxBlocksInCache?\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n      \"maxConcurrentDatasourceRequests?\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n      \"blockLoadDebounceMillis?\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n      \"purgeClosedRowNodes?\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n      \"serverSideDatasource?\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n      \"serverSideSortAllLevels?\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n      \"serverSideFilterAllLevels?\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n      \"serverSideSortOnServer?\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"serverSideFilterOnServer?\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"serverSideSortingAlwaysResets?\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n      \"serverSideFilteringAlwaysResets?\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n      \"viewportDatasource?\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n      \"viewportRowModelPageSize?\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n      \"viewportRowModelBufferSize?\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n      \"alwaysShowHorizontalScroll?\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n      \"alwaysShowVerticalScroll?\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n      \"debounceVerticalScrollbar?\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n      \"suppressHorizontalScroll?\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n      \"suppressScrollOnNewData?\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n      \"suppressScrollWhenPopupsAreOpen?\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n      \"suppressAnimationFrame?\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n      \"suppressMiddleClickScrolls?\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n      \"suppressPreventDefaultOnMouseWheel?\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n      \"scrollbarWidth?\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n      \"rowSelection?\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n      \"rowMultiSelectWithClick?\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n      \"suppressRowDeselection?\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n      \"suppressRowClickSelection?\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n      \"suppressCellSelection?\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n      \"suppressCellFocus?\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n      \"suppressMultiRangeSelection?\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n      \"enableCellTextSelection?\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n      \"enableRangeSelection?\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n      \"enableRangeHandle?\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n      \"enableFillHandle?\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n      \"fillHandleDirection?\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n      \"suppressClearOnFillReduction?\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n      \"sortingOrder?\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n      \"accentedSort?\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n      \"unSortIcon?\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n      \"suppressMultiSort?\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n      \"alwaysMultiSort?\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n      \"multiSortKey?\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n      \"suppressMaintainUnsortedOrder?\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n      \"icons?\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n      \"rowHeight?\": \"/** Default row height in pixels. Default: `25` */\",\n      \"rowStyle?\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n      \"rowClass?\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n      \"rowClassRules?\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"suppressRowHoverHighlight?\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n      \"suppressRowTransform?\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n      \"columnHoverHighlight?\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n      \"functionsPassive?\": \"/** @deprecated v29.2 */\",\n      \"getContextMenuItems?\": \"/** For customising the context menu. */\",\n      \"getMainMenuItems?\": \"/** For customising the main 'column header' menu. */\",\n      \"postProcessPopup?\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n      \"processCellForClipboard?\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n      \"processHeaderForClipboard?\": \"/** Allows you to process header values for the clipboard.  */\",\n      \"processGroupHeaderForClipboard?\": \"/** Allows you to process group header values for the clipboard.  */\",\n      \"processCellFromClipboard?\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n      \"sendToClipboard?\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n      \"processDataFromClipboard?\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n      \"isExternalFilterPresent?\": \"/** Grid calls this method to know if an external filter is present. */\",\n      \"doesExternalFilterPass?\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n      \"getChartToolbarItems?\": \"/** Callback to be used to customise the chart toolbar items. */\",\n      \"createChartContainer?\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n      \"navigateToNextHeader?\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n      \"tabToNextHeader?\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n      \"navigateToNextCell?\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n      \"tabToNextCell?\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n      \"localeTextFunc?\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n      \"getLocaleText?\": \"/** A callback for localising text within the grid. */\",\n      \"getDocument?\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n      \"paginationNumberFormatter?\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n      \"groupRowAggNodes?\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n      \"getGroupRowAgg?\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n      \"isGroupOpenByDefault?\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n      \"initialGroupOrderComparator?\": \"/** Allows default sorting of groups. */\",\n      \"defaultGroupOrderComparator?\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n      \"processSecondaryColDef?\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n      \"processSecondaryColGroupDef?\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n      \"processPivotResultColDef?\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n      \"processPivotResultColGroupDef?\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n      \"getDataPath?\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n      \"getChildCount?\": \"/** Allows setting the child count for a group row. */\",\n      \"getServerSideGroupLevelParams?\": \"/** Allows providing different params for different levels of grouping. */\",\n      \"getServerSideStoreParams?\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n      \"isServerSideGroupOpenByDefault?\": \"/** Allows groups to be open by default. */\",\n      \"isApplyServerSideTransaction?\": \"/** Allows cancelling transactions. */\",\n      \"isServerSideGroup?\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n      \"getServerSideGroupKey?\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n      \"getBusinessKeyForNode?\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n      \"getRowNodeId?\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n      \"getRowId?\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n      \"resetRowDataOnUpdate?\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n      \"processRowPostCreate?\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n      \"isRowSelectable?\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n      \"isRowMaster?\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n      \"fillOperation?\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n      \"postSort?\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n      \"postSortRows?\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n      \"getRowStyle?\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n      \"getRowClass?\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n      \"getRowHeight?\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n      \"isFullWidthCell?\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n      \"isFullWidthRow?\": \"/** Tells the grid if this row should be rendered as full width. */\",\n      \"onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent<TData>)\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"onToolPanelSizeChanged?(event: ToolPanelSizeChangedEvent<TData>)\": \"/** The tool panel size has been changed. */\",\n      \"onPasteStart?(event: PasteStartEvent<TData>)\": \"/** Paste operation has started. */\",\n      \"onPasteEnd?(event: PasteEndEvent<TData>)\": \"/** Paste operation has ended. */\",\n      \"onColumnVisible?(event: ColumnVisibleEvent<TData>)\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"onColumnPinned?(event: ColumnPinnedEvent<TData>)\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"onColumnResized?(event: ColumnResizedEvent<TData>)\": \"/** A column was resized. */\",\n      \"onColumnMoved?(event: ColumnMovedEvent<TData>)\": \"/** A column was moved. */\",\n      \"onColumnValueChanged?(event: ColumnValueChangedEvent<TData>)\": \"/** A value column was added or removed. */\",\n      \"onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent<TData>)\": \"/** The pivot mode flag was changed. */\",\n      \"onColumnPivotChanged?(event: ColumnPivotChangedEvent<TData>)\": \"/** A pivot column was added, removed or order changed. */\",\n      \"onColumnGroupOpened?(event: ColumnGroupOpenedEvent<TData>)\": \"/** A column group was opened / closed. */\",\n      \"onNewColumnsLoaded?(event: NewColumnsLoadedEvent<TData>)\": \"/** User set new columns. */\",\n      \"onGridColumnsChanged?(event: GridColumnsChangedEvent<TData>)\": \"/** The list of grid columns changed. */\",\n      \"onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent<TData>)\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent<TData>)\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"onColumnEverythingChanged?(event: ColumnEverythingChangedEvent<TData>)\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"onComponentStateChanged?(event: ComponentStateChangedEvent<TData>)\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"onCellValueChanged?(event: CellValueChangedEvent<TData>)\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"onCellEditRequest?(event: CellEditRequestEvent<TData>)\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"onRowValueChanged?(event: RowValueChangedEvent<TData>)\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"onCellEditingStarted?(event: CellEditingStartedEvent<TData>)\": \"/** Editing a cell has started. */\",\n      \"onCellEditingStopped?(event: CellEditingStoppedEvent<TData>)\": \"/** Editing a cell has stopped. */\",\n      \"onRowEditingStarted?(event: RowEditingStartedEvent<TData>)\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"onRowEditingStopped?(event: RowEditingStoppedEvent<TData>)\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"onUndoStarted?(event: UndoStartedEvent<TData>)\": \"/** Undo operation has started. */\",\n      \"onUndoEnded?(event: UndoEndedEvent<TData>)\": \"/** Undo operation has ended. */\",\n      \"onRedoStarted?(event: RedoStartedEvent<TData>)\": \"/** Redo operation has started. */\",\n      \"onRedoEnded?(event: RedoEndedEvent<TData>)\": \"/** Redo operation has ended. */\",\n      \"onFilterOpened?(event: FilterOpenedEvent<TData>)\": \"/** Filter has been opened. */\",\n      \"onFilterChanged?(event: FilterChangedEvent<TData>)\": \"/** Filter has been modified and applied. */\",\n      \"onFilterModified?(event: FilterModifiedEvent<TData>)\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"onChartCreated?(event: ChartCreated<TData>)\": \"/** A chart has been created. */\",\n      \"onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged<TData>)\": \"/** The data range for the chart has been changed. */\",\n      \"onChartOptionsChanged?(event: ChartOptionsChanged<TData>)\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"onChartDestroyed?(event: ChartDestroyed<TData>)\": \"/** A chart has been destroyed. */\",\n      \"onCellKeyDown?(event: CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>)\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"onCellKeyPress?(event: CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>)\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"onGridReady?(event: GridReadyEvent<TData>)\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"onFirstDataRendered?(event: FirstDataRenderedEvent<TData>)\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"onGridSizeChanged?(event: GridSizeChangedEvent<TData>)\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"onModelUpdated?(event: ModelUpdatedEvent<TData>)\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"onVirtualRowRemoved?(event: VirtualRowRemovedEvent<TData>)\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"onViewportChanged?(event: ViewportChangedEvent<TData>)\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"onBodyScroll?(event: BodyScrollEvent<TData>)\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"onBodyScrollEnd?(event: BodyScrollEndEvent<TData>)\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"onDragStarted?(event: DragStartedEvent<TData>)\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"onDragStopped?(event: DragStoppedEvent<TData>)\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"onPaginationChanged?(event: PaginationChangedEvent<TData>)\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"onRowDragEnter?(event: RowDragEvent<TData>)\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"onRowDragMove?(event: RowDragEvent<TData>)\": \"/** The mouse has moved while dragging. */\",\n      \"onRowDragLeave?(event: RowDragEvent<TData>)\": \"/** The mouse has left the grid while dragging. */\",\n      \"onRowDragEnd?(event: RowDragEvent<TData>)\": \"/** The drag has finished over the grid. */\",\n      \"onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent<TData>)\": \"/** A row group column was added or removed. */\",\n      \"onRowGroupOpened?(event: RowGroupOpenedEvent<TData>)\": \"/** A row group was opened or closed. */\",\n      \"onExpandOrCollapseAll?(event: ExpandCollapseAllEvent<TData>)\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent<TData>)\": \"/** The client has set new pinned row data into the grid. */\",\n      \"onRowDataChanged?(event: RowDataChangedEvent<TData>)\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"onRowDataUpdated?(event: RowDataUpdatedEvent<TData>)\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"onAsyncTransactionsFlushed?(event: AsyncTransactionsFlushed<TData>)\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"onStoreRefreshed?(event: StoreRefreshedEvent<TData>)\": \"/** A server side store has finished refreshing. */\",\n      \"onCellClicked?(event: CellClickedEvent<TData>)\": \"/** Cell is clicked. */\",\n      \"onCellDoubleClicked?(event: CellDoubleClickedEvent<TData>)\": \"/** Cell is double clicked. */\",\n      \"onCellFocused?(event: CellFocusedEvent<TData>)\": \"/** Cell is focused. */\",\n      \"onCellMouseOver?(event: CellMouseOverEvent<TData>)\": \"/** Mouse entered cell. */\",\n      \"onCellMouseOut?(event: CellMouseOutEvent<TData>)\": \"/** Mouse left cell. */\",\n      \"onCellMouseDown?(event: CellMouseDownEvent<TData>)\": \"/** Mouse down on cell. */\",\n      \"onRowClicked?(event: RowClickedEvent<TData>)\": \"/** Row is clicked. */\",\n      \"onRowDoubleClicked?(event: RowDoubleClickedEvent<TData>)\": \"/** Row is double clicked. */\",\n      \"onRowSelected?(event: RowSelectedEvent<TData>)\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"onSelectionChanged?(event: SelectionChangedEvent<TData>)\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"onCellContextMenu?(event: CellContextMenuEvent<TData>)\": \"/** Cell is right clicked. */\",\n      \"onRangeSelectionChanged?(event: RangeSelectionChangedEvent<TData>)\": \"/** A change to range selection has occurred. */\",\n      \"onSortChanged?(event: SortChangedEvent<TData>)\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"api?\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"columnApi?\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\"\n    }\n  },\n  \"RowGroupingDisplayType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'singleColumn' | 'multipleColumns' | 'groupRows' | 'custom'\"\n  },\n  \"TreeDataDisplayType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'auto' | 'custom'\"\n  },\n  \"GetDataPath\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": { \"arguments\": { \"data\": \"TData\" }, \"returnType\": \"string[]\" }\n  },\n  \"IsServerSideGroup\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": { \"arguments\": { \"dataItem\": \"any\" }, \"returnType\": \"boolean\" }\n  },\n  \"IsRowFilterable\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"GetGroupAggFilteringParams<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"IsApplyServerSideTransaction\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": {\n      \"arguments\": { \"params\": \"IsApplyServerSideTransactionParams\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"GetServerSideGroupKey\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": { \"arguments\": { \"dataItem\": \"any\" }, \"returnType\": \"string\" }\n  },\n  \"IsRowMaster\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": { \"arguments\": { \"dataItem\": \"TData\" }, \"returnType\": \"boolean\" }\n  },\n  \"IsRowSelectable\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"node\": \"IRowNode<TData>\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"RowClassRules\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"[cssClassName: string]\": \"(((params: RowClassParams<TData>) => boolean) | string)\"\n    }\n  },\n  \"RowStyle\": {\n    \"meta\": {},\n    \"type\": { \"[cssProperty: string]\": \"string | number\" }\n  },\n  \"RowClassParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"data\": \"/** The data associated with this row from rowData. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The RowNode associated with this row */\",\n      \"rowIndex\": \"/** The index of the row */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetContextMenuItems\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"GetContextMenuItemsParams<TData>\" },\n      \"returnType\": \"(string | MenuItemDef)[]\"\n    }\n  },\n  \"GetChartToolbarItems\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": {\n      \"arguments\": { \"params\": \"GetChartToolbarItemsParams\" },\n      \"returnType\": \"ChartMenuOptions[]\"\n    }\n  },\n  \"MenuItemLeafDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"name\": \"string\",\n      \"disabled?\": \"boolean\",\n      \"shortcut?\": \"string\",\n      \"action?\": \"() => void\",\n      \"checked?\": \"boolean\",\n      \"icon?\": \"Element | string\",\n      \"cssClasses?\": \"string[]\",\n      \"tooltip?\": \"string\"\n    },\n    \"docs\": {\n      \"name\": \"/** Name of the menu item */\",\n      \"disabled?\": \"/** It the item should be enabled / disabled */\",\n      \"shortcut?\": \"/** Shortcut (just display text, saying the shortcut here does nothing) */\",\n      \"action?\": \"/** Function that gets executed when item is chosen */\",\n      \"checked?\": \"/** Set to true to provide a check beside the option */\",\n      \"icon?\": \"/** The icon to display, either a DOM element or HTML string */\",\n      \"cssClasses?\": \"/** CSS classes to apply to the menu item */\",\n      \"tooltip?\": \"/** Tooltip for the menu item */\"\n    }\n  },\n  \"MenuItemDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"subMenu?\": \"(MenuItemDef | string)[]\",\n      \"name\": \"string\",\n      \"disabled?\": \"boolean\",\n      \"shortcut?\": \"string\",\n      \"action?\": \"() => void\",\n      \"checked?\": \"boolean\",\n      \"icon?\": \"Element | string\",\n      \"cssClasses?\": \"string[]\",\n      \"tooltip?\": \"string\"\n    },\n    \"docs\": {\n      \"subMenu?\": \"/** If this item is a sub menu, contains a list of menu item definitions */\",\n      \"name\": \"/** Name of the menu item */\",\n      \"disabled?\": \"/** It the item should be enabled / disabled */\",\n      \"shortcut?\": \"/** Shortcut (just display text, saying the shortcut here does nothing) */\",\n      \"action?\": \"/** Function that gets executed when item is chosen */\",\n      \"checked?\": \"/** Set to true to provide a check beside the option */\",\n      \"icon?\": \"/** The icon to display, either a DOM element or HTML string */\",\n      \"cssClasses?\": \"/** CSS classes to apply to the menu item */\",\n      \"tooltip?\": \"/** Tooltip for the menu item */\"\n    }\n  },\n  \"GetMainMenuItems\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": {\n      \"arguments\": { \"params\": \"GetMainMenuItemsParams\" },\n      \"returnType\": \"(string | MenuItemDef)[]\"\n    }\n  },\n  \"GetRowNodeIdFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": { \"arguments\": { \"data\": \"TData\" }, \"returnType\": \"string\" }\n  },\n  \"GetRowIdFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"GetRowIdParams<TData>\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"ChartRef\": {\n    \"meta\": {},\n    \"type\": {\n      \"chartId\": \"string\",\n      \"chart\": \"any\",\n      \"chartElement\": \"HTMLElement\",\n      \"destroyChart\": \"() => void\"\n    },\n    \"docs\": {\n      \"chartId\": \"/** The id of the created chart. */\",\n      \"chart\": \"/** The chart instance that is produced by AG Charts which can be used to interact with the chart directly. */\",\n      \"chartElement\": \"/** The chart DOM element, which the application is responsible for placing into the DOM. */\",\n      \"destroyChart\": \"/** The application is responsible for calling this when the chart is no longer needed. */\"\n    }\n  },\n  \"ChartRefParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\",\n      \"chartId\": \"string\",\n      \"chart\": \"any\",\n      \"chartElement\": \"HTMLElement\",\n      \"destroyChart\": \"() => void\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"chartId\": \"/** The id of the created chart. */\",\n      \"chart\": \"/** The chart instance that is produced by AG Charts which can be used to interact with the chart directly. */\",\n      \"chartElement\": \"/** The chart DOM element, which the application is responsible for placing into the DOM. */\",\n      \"destroyChart\": \"/** The application is responsible for calling this when the chart is no longer needed. */\"\n    }\n  },\n  \"ServerSideStoreType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'full' | 'partial'\"\n  },\n  \"ServerSideGroupLevelParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"storeType?\": \"ServerSideStoreType\",\n      \"suppressInfiniteScroll?\": \"boolean\",\n      \"maxBlocksInCache?\": \"number\",\n      \"cacheBlockSize?\": \"number\"\n    },\n    \"docs\": {\n      \"storeType?\": \"/** @deprecated\\n     * What store type to use.\\n     * If missing, then defaults to grid option `serverSideStoreType`.\\n     * Deprecated in favor of infiniteScroll.\\n     * If suppressInfiniteScroll==false, then Partial Store is used.\\n     * If suppressInfiniteScroll==false, then Full Store is used.\\n     *  */\",\n      \"suppressInfiniteScroll?\": \"/** Whether to have infinite scroll active or not for the level.\\n     */\",\n      \"maxBlocksInCache?\": \"/** For Infinite Scroll only.\\n     * How many blocks to keep in cache.\\n     * If missing, defaults to grid options `maxBlocksInCache`.\\n     */\",\n      \"cacheBlockSize?\": \"/** For Infinite Scroll only.\\n     * Cache block size.\\n     * If missing, defaults to grid options `cacheBlockSize`.\\n     */\"\n    }\n  },\n  \"ServerSideStoreParams\": {\n    \"meta\": {\n      \"doc\": \"/** @deprecated use ServerSideGroupLevelParams instead */\"\n    },\n    \"type\": {\n      \"storeType?\": \"ServerSideStoreType\",\n      \"suppressInfiniteScroll?\": \"boolean\",\n      \"maxBlocksInCache?\": \"number\",\n      \"cacheBlockSize?\": \"number\"\n    },\n    \"docs\": {\n      \"storeType?\": \"/** @deprecated\\n     * What store type to use.\\n     * If missing, then defaults to grid option `serverSideStoreType`.\\n     * Deprecated in favor of infiniteScroll.\\n     * If suppressInfiniteScroll==false, then Partial Store is used.\\n     * If suppressInfiniteScroll==false, then Full Store is used.\\n     *  */\",\n      \"suppressInfiniteScroll?\": \"/** Whether to have infinite scroll active or not for the level.\\n     */\",\n      \"maxBlocksInCache?\": \"/** For Infinite Scroll only.\\n     * How many blocks to keep in cache.\\n     * If missing, defaults to grid options `maxBlocksInCache`.\\n     */\",\n      \"cacheBlockSize?\": \"/** For Infinite Scroll only.\\n     * Cache block size.\\n     * If missing, defaults to grid options `cacheBlockSize`.\\n     */\"\n    }\n  },\n  \"LoadingCellRendererSelectorFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"ILoadingCellRendererParams<TData>\" },\n      \"returnType\": \"LoadingCellRendererSelectorResult | undefined\"\n    }\n  },\n  \"LoadingCellRendererSelectorResult\": {\n    \"meta\": {},\n    \"type\": {\n      \"component?\": \"any\",\n      \"frameworkComponent?\": \"any\",\n      \"params?\": \"any\"\n    },\n    \"docs\": {\n      \"component?\": \"/** Equivalent of setting `loadingCellRenderer` */\",\n      \"frameworkComponent?\": \"/** @deprecated As of v27, use `component` for framework components too. */\",\n      \"params?\": \"/** Equivalent of setting `loadingCellRendererParams` */\"\n    }\n  },\n  \"DomLayoutType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'normal' | 'autoHeight' | 'print'\"\n  },\n  \"RowPosition\": {\n    \"meta\": {},\n    \"type\": { \"rowIndex\": \"number\", \"rowPinned\": \"RowPinnedType\" },\n    \"docs\": {\n      \"rowIndex\": \"/** A positive number from 0 to n, where n is the last row the grid is rendering\\n    * or -1 if you want to navigate to the grid header */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null/undefined (for not pinned) */\"\n    }\n  },\n  \"SASS_PROPERTIES\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'headerHeight' | 'headerCellMinWidth' | 'listItemHeight' | 'rowHeight' | 'chartMenuPanelWidth'\"\n  },\n  \"HardCodedSize\": {\n    \"meta\": {},\n    \"type\": { \"[key: string]\": \"{[key in SASS_PROPERTIES]?: number}\" }\n  },\n  \"ModelUpdatedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"animate\": \"boolean | undefined\",\n      \"keepRenderedRows\": \"boolean | undefined\",\n      \"newData\": \"boolean | undefined\",\n      \"newPage\": \"boolean\",\n      \"keepUndoRedoStack?\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"animate\": \"/** If true, the grid will try and animate the rows to the new positions */\",\n      \"keepRenderedRows\": \"/** If true, the grid has new data loaded, eg user called setRowData(), otherwise\\n     * it's the same data but sorted or filtered, in which case this is true, and rows\\n     * can animate around (eg rowNode id 24 is the same row node as last time). */\",\n      \"newData\": \"/** If true, then this update was a result of setRowData() getting called. This\\n     * gets the grid to scroll to the top again. */\",\n      \"newPage\": \"/** True when pagination and a new page is navigated to. */\",\n      \"keepUndoRedoStack?\": \"/** true if all we did is changed row height, data still the same, no need to clear the undo/redo stacks */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"PaginationChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"animate?\": \"boolean\",\n      \"keepRenderedRows?\": \"boolean\",\n      \"newData?\": \"boolean\",\n      \"newPage\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"animate?\": \"/** True if rows were animated to new position */\",\n      \"keepRenderedRows?\": \"/** True if rows were kept (otherwise complete redraw) */\",\n      \"newData?\": \"/** True if data was new (i.e user set new data) */\",\n      \"newPage\": \"/** True if user went to a new page */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"AgEvent\": {\n    \"meta\": {},\n    \"type\": { \"type\": \"string\" },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"AgGridEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ToolPanelVisibleChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"string | undefined\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"InternalToolPanelVisibleChangedEvent\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"TContext = any\"],\n      \"doc\": \"/** This is the replacement event for ToolPanelVisibleChangedEvent. In v30, this will be renamed ToolPanelVisibleChangedEvent,\\n * and the original ToolPanelVisibleChangedEvent will be dropped\\n */\"\n    },\n    \"type\": {\n      \"source\": \"'sideBarButtonClicked' | 'sideBarInitializing' | 'api'\",\n      \"key\": \"string\",\n      \"visible\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"key\": \"/** Key of tool panel. */\",\n      \"visible\": \"/** True if now visible; false if now hidden. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ToolPanelSizeChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"'toolPanelSizeChanged'\",\n      \"started\": \"boolean\",\n      \"ended\": \"boolean\",\n      \"width\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"started\": \"/** True if this is the first change to the Tool Panel size. */\",\n      \"ended\": \"/** True if this is the last change to the Tool Panel size. */\",\n      \"width\": \"/** New width of the ToolPanel component. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnPivotModeChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"VirtualColumnsChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnEverythingChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"NewColumnsLoadedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"GridColumnsChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"DisplayedColumnsChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowDataChangedEvent\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"TContext = any\"],\n      \"doc\": \"/** @deprecated v28 use RowDataUpdatedEvent instead */\"\n    },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowDataUpdatedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"PinnedRowDataChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"SelectionEventSourceType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'api' | 'apiSelectAll' | 'apiSelectAllFiltered' | 'apiSelectAllCurrentPage' | 'checkboxSelected' | 'rowClicked' | 'rowDataChanged' | 'rowGroupChanged' | 'selectableChanged' | 'spacePressed' | 'uiSelectAll' | 'uiSelectAllFiltered' | 'uiSelectAllCurrentPage'\"\n  },\n  \"SelectionChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"SelectionEventSourceType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FilterChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"afterDataChange?\": \"boolean\",\n      \"afterFloatingFilter?\": \"boolean\",\n      \"columns\": \"Column[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"afterDataChange?\": \"/** True if the filter was changed as a result of data changing */\",\n      \"afterFloatingFilter?\": \"/** True if filter was changed via floating filter */\",\n      \"columns\": \"/** Columns affected by the filter change. Array contents depend on the source of the event.\\n     *\\n     * - Expect 1 element for UI-driven column filter changes.\\n     * - Expect 0-N elements (all affected columns) for calls to `gridOptions.api.setFilterModel()`.\\n     * - Expect 0-N elements (removed columns) for calls to `gridOptions.api.setColumnDefs()`.\\n     * - Expect 0 elements for quick-filters and calls to `gridOptions.api.onFilterChanged()`.\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FilterModifiedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"filterInstance\": \"IFilterComp\",\n      \"column\": \"Column\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FilterOpenedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column | ProvidedColumnGroup\",\n      \"source\": \"FilterRequestSource\",\n      \"eGui\": \"HTMLElement\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"column\": \"/** Column / OriginalColumnGroup that contains the filter */\",\n      \"source\": \"/** Source of the open request */\",\n      \"eGui\": \"/** Parent element of the filter */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FilterDestroyedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"'api' | 'columnChanged' | 'gridDestroyed'\",\n      \"column\": \"Column\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"SortChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"source\": \"/** Source of the sort change. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"GridReadyEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"DisplayedColumnsWidthChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnHoverChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"BodyHeightChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ComponentStateChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnPanelItemDragStartEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column | ProvidedColumnGroup\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnPanelItemDragEndEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"AgDragEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"target\": \"Element\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"target\": \"/** The DOM element that started the event. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"DragStartedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"'dragStarted'\",\n      \"target\": \"Element\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"target\": \"/** The DOM element that started the event. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"DragStoppedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"'dragStopped'\",\n      \"target\": \"Element\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"target\": \"/** The DOM element that started the event. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CheckboxChangedEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"id\": \"string\",\n      \"name\": \"string\",\n      \"selected?\": \"boolean\",\n      \"previousValue\": \"boolean | undefined\",\n      \"type\": \"string\"\n    },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"GridSizeChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"clientWidth\": \"number\",\n      \"clientHeight\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"clientWidth\": \"/** The grid's DIV's clientWidth */\",\n      \"clientHeight\": \"/** The grid's DIV's clientHeight */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowDragEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"node\": \"IRowNode<TData>\",\n      \"nodes\": \"IRowNode<TData>[]\",\n      \"event\": \"MouseEvent\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"vDirection\": \"string\",\n      \"overIndex\": \"number\",\n      \"overNode?\": \"IRowNode<TData>\",\n      \"y\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"node\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"nodes\": \"/** The list of nodes being dragged. */\",\n      \"event\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"eventPath?\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"vDirection\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"overIndex\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"overNode?\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"y\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"RowDragEnterEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"node\": \"IRowNode<TData>\",\n      \"nodes\": \"IRowNode<TData>[]\",\n      \"event\": \"MouseEvent\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"vDirection\": \"string\",\n      \"overIndex\": \"number\",\n      \"overNode?\": \"IRowNode<TData>\",\n      \"y\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"node\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"nodes\": \"/** The list of nodes being dragged. */\",\n      \"event\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"eventPath?\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"vDirection\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"overIndex\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"overNode?\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"y\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"RowDragEndEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"node\": \"IRowNode<TData>\",\n      \"nodes\": \"IRowNode<TData>[]\",\n      \"event\": \"MouseEvent\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"vDirection\": \"string\",\n      \"overIndex\": \"number\",\n      \"overNode?\": \"IRowNode<TData>\",\n      \"y\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"node\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"nodes\": \"/** The list of nodes being dragged. */\",\n      \"event\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"eventPath?\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"vDirection\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"overIndex\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"overNode?\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"y\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"RowDragMoveEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"node\": \"IRowNode<TData>\",\n      \"nodes\": \"IRowNode<TData>[]\",\n      \"event\": \"MouseEvent\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"vDirection\": \"string\",\n      \"overIndex\": \"number\",\n      \"overNode?\": \"IRowNode<TData>\",\n      \"y\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"node\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"nodes\": \"/** The list of nodes being dragged. */\",\n      \"event\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"eventPath?\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"vDirection\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"overIndex\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"overNode?\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"y\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"RowDragLeaveEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"node\": \"IRowNode<TData>\",\n      \"nodes\": \"IRowNode<TData>[]\",\n      \"event\": \"MouseEvent\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"vDirection\": \"string\",\n      \"overIndex\": \"number\",\n      \"overNode?\": \"IRowNode<TData>\",\n      \"y\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"node\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"nodes\": \"/** The list of nodes being dragged. */\",\n      \"event\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"eventPath?\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"vDirection\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"overIndex\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"overNode?\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"y\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"PasteStartEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"PasteEndEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FillStartEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FillEndEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"initialRange\": \"CellRange\",\n      \"finalRange\": \"CellRange\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"UndoStartedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"'api' | 'ui'\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"source\": \"/** Source of the event. `api` if via API method. `ui` if via keyboard shortcut. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"UndoEndedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"'api' | 'ui'\",\n      \"operationPerformed\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"source\": \"/** Source of the event. `api` if via API method. `ui` if via keyboard shortcut. */\",\n      \"operationPerformed\": \"/** `true` if any undo operations were performed. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RedoStartedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"'api' | 'ui'\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"source\": \"/** Source of the event. `api` if via API method. `ui` if via keyboard shortcut. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RedoEndedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"'api' | 'ui'\",\n      \"operationPerformed\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"source\": \"/** Source of the event. `api` if via API method. `ui` if via keyboard shortcut. */\",\n      \"operationPerformed\": \"/** `true` if any redo operations were performed. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ViewportChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"firstRow\": \"number\",\n      \"lastRow\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"firstRow\": \"/** Index of the first rendered row */\",\n      \"lastRow\": \"/** Index of the last rendered row */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FirstDataRenderedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"firstRow\": \"number\",\n      \"lastRow\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"firstRow\": \"/** Index of the first rendered row */\",\n      \"lastRow\": \"/** Index of the last rendered row */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RangeSelectionChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"id?\": \"string\",\n      \"started\": \"boolean\",\n      \"finished\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"started\": \"/** True for the first change event, otherwise false */\",\n      \"finished\": \"/** True for the last change event, otherwise false */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ChartCreated\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"chartId\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Will always be `chartCreated`. */\",\n      \"chartId\": \"/** Id of the created chart. This can later be used to reference the chart via api methods. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ChartRangeSelectionChanged\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"chartId\": \"string\",\n      \"id\": \"string\",\n      \"cellRange\": \"CellRangeParams\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Will always be `chartRangeSelectionChanged`. */\",\n      \"chartId\": \"/** Id of the effected chart. */\",\n      \"id\": \"/** Same as `chartId`. */\",\n      \"cellRange\": \"/** New cellRange selected. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ChartOptionsChanged\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"chartId\": \"string\",\n      \"chartType\": \"ChartType\",\n      \"chartThemeName\": \"string\",\n      \"chartOptions\": \"AgChartThemeOverrides\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Will always be `chartOptionsChanged`. */\",\n      \"chartId\": \"/** Id of the effected chart. */\",\n      \"chartType\": \"/** ChartType */\",\n      \"chartThemeName\": \"/** Chart theme name of currently selected theme. */\",\n      \"chartOptions\": \"/** Chart options.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ChartDestroyed\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"type\": \"string\",\n      \"chartId\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"type\": \"/** Will always be `chartDestroyed`. */\",\n      \"chartId\": \"/** Id of the effected chart. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ColumnGroupOpenedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"columnGroup\": \"ProvidedColumnGroup\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ItemsAddedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"items\": \"IRowNode<TData>[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ScrollDirection\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'horizontal' | 'vertical'\"\n  },\n  \"BodyScrollEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"direction\": \"ScrollDirection\",\n      \"left\": \"number\",\n      \"top\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"BodyScrollEndEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"direction\": \"ScrollDirection\",\n      \"left\": \"number\",\n      \"top\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FlashCellsEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"cells\": \"any\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"PaginationPixelOffsetChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CommonCellFocusParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowIndex\": \"number | null\",\n      \"column\": \"Column | string | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"isFullWidthCell?\": \"boolean\"\n    },\n    \"docs\": {\n      \"rowIndex\": \"/** Row index of the focused cell */\",\n      \"column\": \"/** Column of the focused cell */\",\n      \"rowPinned\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"isFullWidthCell?\": \"/** Whether the cell a full width cell or a regular cell */\"\n    }\n  },\n  \"CellFocusClearedParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowIndex\": \"number | null\",\n      \"column\": \"Column | string | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"isFullWidthCell?\": \"boolean\"\n    },\n    \"docs\": {\n      \"rowIndex\": \"/** Row index of the focused cell */\",\n      \"column\": \"/** Column of the focused cell */\",\n      \"rowPinned\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"isFullWidthCell?\": \"/** Whether the cell a full width cell or a regular cell */\"\n    }\n  },\n  \"CellFocusedParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"forceBrowserFocus?\": \"boolean\",\n      \"preventScrollOnBrowserFocus?\": \"boolean\",\n      \"floating?\": \"string | null\",\n      \"rowIndex\": \"number | null\",\n      \"column\": \"Column | string | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"isFullWidthCell?\": \"boolean\"\n    },\n    \"docs\": {\n      \"forceBrowserFocus?\": \"/** Whether browser focus is also set (false when editing) */\",\n      \"preventScrollOnBrowserFocus?\": \"/** When `forceBrowserFocus` is `true`, should scroll be prevented */\",\n      \"rowIndex\": \"/** Row index of the focused cell */\",\n      \"column\": \"/** Column of the focused cell */\",\n      \"rowPinned\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"isFullWidthCell?\": \"/** Whether the cell a full width cell or a regular cell */\"\n    }\n  },\n  \"CellFocusClearedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\",\n      \"rowIndex\": \"number | null\",\n      \"column\": \"Column | string | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"isFullWidthCell?\": \"boolean\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\",\n      \"rowIndex\": \"/** Row index of the focused cell */\",\n      \"column\": \"/** Column of the focused cell */\",\n      \"rowPinned\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"isFullWidthCell?\": \"/** Whether the cell a full width cell or a regular cell */\"\n    }\n  },\n  \"CellFocusedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\",\n      \"forceBrowserFocus?\": \"boolean\",\n      \"preventScrollOnBrowserFocus?\": \"boolean\",\n      \"floating?\": \"string | null\",\n      \"rowIndex\": \"number | null\",\n      \"column\": \"Column | string | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"isFullWidthCell?\": \"boolean\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\",\n      \"forceBrowserFocus?\": \"/** Whether browser focus is also set (false when editing) */\",\n      \"preventScrollOnBrowserFocus?\": \"/** When `forceBrowserFocus` is `true`, should scroll be prevented */\",\n      \"rowIndex\": \"/** Row index of the focused cell */\",\n      \"column\": \"/** Column of the focused cell */\",\n      \"rowPinned\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"isFullWidthCell?\": \"/** Whether the cell a full width cell or a regular cell */\"\n    }\n  },\n  \"FullWidthRowFocusedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"fromBelow\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\",\n      \"forceBrowserFocus?\": \"boolean\",\n      \"preventScrollOnBrowserFocus?\": \"boolean\",\n      \"floating?\": \"string | null\",\n      \"rowIndex\": \"number | null\",\n      \"column\": \"Column | string | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"isFullWidthCell?\": \"boolean\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\",\n      \"forceBrowserFocus?\": \"/** Whether browser focus is also set (false when editing) */\",\n      \"preventScrollOnBrowserFocus?\": \"/** When `forceBrowserFocus` is `true`, should scroll be prevented */\",\n      \"rowIndex\": \"/** Row index of the focused cell */\",\n      \"column\": \"/** Column of the focused cell */\",\n      \"rowPinned\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"isFullWidthCell?\": \"/** Whether the cell a full width cell or a regular cell */\"\n    }\n  },\n  \"ExpandCollapseAllEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnEventType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"\\\"sizeColumnsToFit\\\" | \\\"autosizeColumns\\\" | \\\"autosizeColumnHeaderHeight\\\" | \\\"alignedGridChanged\\\" | \\\"filterChanged\\\" | \\\"filterDestroyed\\\" | \\\"gridOptionsChanged\\\" | \\\"gridInitializing\\\" | \\\"toolPanelDragAndDrop\\\" | \\\"toolPanelUi\\\" | \\\"uiColumnMoved\\\" | \\\"uiColumnResized\\\" | \\\"uiColumnDragged\\\" | \\\"uiColumnExpanded\\\" | \\\"uiColumnSorted\\\" | \\\"contextMenu\\\" | \\\"columnMenu\\\" | \\\"rowModelUpdated\\\" | \\\"rowDataUpdated\\\" | \\\"api\\\" | \\\"flex\\\" | \\\"pivotChart\\\" | \\\"columnRowGroupChanged\\\"\"\n  },\n  \"ColumnEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column | null\",\n      \"columns\": \"Column[] | null\",\n      \"source\": \"ColumnEventType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"column\": \"/** The impacted column, only set if action was on one column */\",\n      \"columns\": \"/** List of all impacted columns */\",\n      \"source\": \"/** String describing where the event is coming from */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnResizedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"finished\": \"boolean\",\n      \"flexColumns\": \"Column[] | null\",\n      \"column\": \"Column | null\",\n      \"columns\": \"Column[] | null\",\n      \"source\": \"ColumnEventType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"finished\": \"/** Set to true for last event in a sequence of move events */\",\n      \"flexColumns\": \"/** Any columns resized due to flex */\",\n      \"column\": \"/** The impacted column, only set if action was on one column */\",\n      \"columns\": \"/** List of all impacted columns */\",\n      \"source\": \"/** String describing where the event is coming from */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnPivotChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column | null\",\n      \"columns\": \"Column[] | null\",\n      \"source\": \"ColumnEventType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"column\": \"/** The impacted column, only set if action was on one column */\",\n      \"columns\": \"/** List of all impacted columns */\",\n      \"source\": \"/** String describing where the event is coming from */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnRowGroupChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column | null\",\n      \"columns\": \"Column[] | null\",\n      \"source\": \"ColumnEventType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"column\": \"/** The impacted column, only set if action was on one column */\",\n      \"columns\": \"/** List of all impacted columns */\",\n      \"source\": \"/** String describing where the event is coming from */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnValueChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column | null\",\n      \"columns\": \"Column[] | null\",\n      \"source\": \"ColumnEventType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"column\": \"/** The impacted column, only set if action was on one column */\",\n      \"columns\": \"/** List of all impacted columns */\",\n      \"source\": \"/** String describing where the event is coming from */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnMovedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"toIndex?\": \"number\",\n      \"finished\": \"boolean\",\n      \"column\": \"Column | null\",\n      \"columns\": \"Column[] | null\",\n      \"source\": \"ColumnEventType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"toIndex?\": \"/** The position the column was moved to */\",\n      \"finished\": \"/** `True` when the column has finished moving. */\",\n      \"column\": \"/** The impacted column, only set if action was on one column */\",\n      \"columns\": \"/** List of all impacted columns */\",\n      \"source\": \"/** String describing where the event is coming from */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnVisibleEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"visible?\": \"boolean\",\n      \"column\": \"Column | null\",\n      \"columns\": \"Column[] | null\",\n      \"source\": \"ColumnEventType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"visible?\": \"/** True if column was set to visible, false if set to hide */\",\n      \"column\": \"/** The impacted column, only set if action was on one column */\",\n      \"columns\": \"/** List of all impacted columns */\",\n      \"source\": \"/** String describing where the event is coming from */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnPinnedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"pinned\": \"ColumnPinnedType\",\n      \"column\": \"Column | null\",\n      \"columns\": \"Column[] | null\",\n      \"source\": \"ColumnEventType\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"pinned\": \"/** Either 'left', 'right', or null (it not pinned) */\",\n      \"column\": \"/** The impacted column, only set if action was on one column */\",\n      \"columns\": \"/** List of all impacted columns */\",\n      \"source\": \"/** String describing where the event is coming from */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"BaseRowEvent\": {\n    \"meta\": {\n      \"typeParams\": [\"TData\", \"TContext\"],\n      \"doc\": \"/**------------*/\\n/** ROW EVENTS */\\n/**------------*/\"\n    },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowWithDataEvent\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"TContext = any\"],\n      \"doc\": \"/** Base interface for row events that always have data set. */\"\n    },\n    \"type\": {\n      \"data\": \"TData\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowGroupOpenedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"expanded\": \"boolean\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"expanded\": \"/** True if the group is expanded. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowValueChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowSelectedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"source\": \"SelectionEventSourceType\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"VirtualRowRemovedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowClickedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowDoubleClickedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowEditingStartedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowEditingStoppedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FullWidthCellKeyDownEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"FullWidthCellKeyPressEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellEvent\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"TValue = any\"],\n      \"doc\": \"/**------------*/\\n/** CELL EVENTS */\\n/**------------*/\"\n    },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellWithDataEvent\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"TValue = any\"],\n      \"doc\": \"/** Use for cell events that will always have a value and data property. */\"\n    },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue\",\n      \"data\": \"TData\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell */\",\n      \"data\": \"/** The user provided data for the row. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellKeyDownEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellKeyPressEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellClickedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellMouseDownEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellDoubleClickedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellMouseOverEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellMouseOutEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellContextMenuEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue | undefined\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"data\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellEditingStartedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue\",\n      \"data\": \"TData\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell */\",\n      \"data\": \"/** The user provided data for the row. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellEditingStoppedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"oldValue\": \"any\",\n      \"newValue\": \"any\",\n      \"valueChanged\": \"boolean\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue\",\n      \"data\": \"TData\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"oldValue\": \"/** The old value before editing */\",\n      \"newValue\": \"/** The new value after editing */\",\n      \"valueChanged\": \"/** Property indicating if the value of the editor has changed */\",\n      \"value\": \"/** The value for the cell */\",\n      \"data\": \"/** The user provided data for the row. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellValueChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"oldValue\": \"any\",\n      \"newValue\": \"any\",\n      \"source\": \"string | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue\",\n      \"data\": \"TData\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell */\",\n      \"data\": \"/** The user provided data for the row. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CellEditRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"type\": {\n      \"oldValue\": \"any\",\n      \"newValue\": \"any\",\n      \"source\": \"string | undefined\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"value\": \"TValue\",\n      \"data\": \"TData\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number | null\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"event?\": \"Event | null\",\n      \"eventPath?\": \"EventTarget[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value for the cell */\",\n      \"data\": \"/** The user provided data for the row. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The visible row index for the row */\",\n      \"rowPinned\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"event?\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"eventPath?\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"AsyncTransactionsFlushed\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"results\": \"(RowNodeTransaction<TData> | ServerSideTransactionResult)[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"results\": \"/** Array of result objects. for SSRM it's always list of `ServerSideTransactionResult`.\\n     * For Client-Side Row Model it's a list of `RowNodeTransaction`.\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"columns\": \"Column[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnRowGroupChangeRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"columns\": \"Column[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnPivotChangeRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"columns\": \"Column[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnValueChangeRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"columns\": \"Column[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ColumnAggFuncChangeRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"aggFunc\": \"any\",\n      \"columns\": \"Column[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"StoreRefreshedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"route?\": \"string[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"route?\": \"/** The route of the store which has finished refreshing, undefined if root level */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"ScrollVisibilityChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"StoreUpdatedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"LeftPinnedWidthChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RightPinnedWidthChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"RowContainerHeightChanged\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"DisplayedRowsChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"CssVariablesChanged\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\",\n      \"type\": \"string\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": \"/** Event identifier */\"\n    }\n  },\n  \"IFilterLocaleText\": {\n    \"meta\": {},\n    \"type\": {\n      \"applyFilter\": \"string\",\n      \"clearFilter\": \"string\",\n      \"resetFilter\": \"string\",\n      \"cancelFilter\": \"string\",\n      \"filterOoo\": \"string\",\n      \"empty\": \"string\",\n      \"equals\": \"string\",\n      \"notEqual\": \"string\",\n      \"lessThan\": \"string\",\n      \"greaterThan\": \"string\",\n      \"inRange\": \"string\",\n      \"inRangeStart\": \"string\",\n      \"inRangeEnd\": \"string\",\n      \"lessThanOrEqual\": \"string\",\n      \"greaterThanOrEqual\": \"string\",\n      \"contains\": \"string\",\n      \"notContains\": \"string\",\n      \"startsWith\": \"string\",\n      \"endsWith\": \"string\",\n      \"blank\": \"string\",\n      \"notBlank\": \"string\",\n      \"andCondition\": \"string\",\n      \"orCondition\": \"string\",\n      \"dateFormatOoo\": \"string\"\n    }\n  },\n  \"IFilterTitleLocaleText\": {\n    \"meta\": {},\n    \"type\": {\n      \"textFilter\": \"string\",\n      \"numberFilter\": \"string\",\n      \"dateFilter\": \"string\",\n      \"setFilter\": \"string\"\n    }\n  },\n  \"FilterRequestSource\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'COLUMN_MENU' | 'TOOLBAR' | 'NO_UI'\"\n  },\n  \"FilterWrapper\": {\n    \"meta\": {},\n    \"type\": {\n      \"compiledElement\": \"any\",\n      \"column\": \"Column\",\n      \"filterPromise\": \"AgPromise<IFilterComp> | null\",\n      \"guiPromise\": \"AgPromise<HTMLElement | null>\"\n    }\n  },\n  \"IFloatingFilterParent\": {\n    \"meta\": {},\n    \"type\": {\n      \"onFloatingFilterChanged(type: string | null, value: any)\": \"void\"\n    },\n    \"docs\": {\n      \"onFloatingFilterChanged(type: string | null, value: any)\": \"/** Notification that a new floating-filter value was input by the user.\\n     *\\n     * @param type operation type selected.\\n     * @param value model-typed value entered.\\n     */\"\n    }\n  },\n  \"InbuiltParentType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"IFloatingFilterParent & IFilter\"\n  },\n  \"IFloatingFilterParentCallback\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"P = InbuiltParentType\"] },\n    \"type\": \"(parentFilterInstance: P) => void\"\n  },\n  \"IFloatingFilterParams\": {\n    \"meta\": {\n      \"typeParams\": [\"P = InbuiltParentType\", \"TData = any\", \"TContext = any\"]\n    },\n    \"type\": {\n      \"column\": \"Column\",\n      \"filterParams\": \"IFilterParams\",\n      \"suppressFilterButton\": \"boolean\",\n      \"currentParentModel\": \"() => any\",\n      \"parentFilterInstance\": \"(callback: IFloatingFilterParentCallback<P>) => void\",\n      \"showParentFilter\": \"() => void\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"column\": \"/** The column this filter is for. */\",\n      \"filterParams\": \"/** The params object passed to the filter.\\n     * This is to allow the floating filter access to the configuration of the parent filter.\\n     * For example, the provided filters use debounceMs from the parent filter params.\\n     * */\",\n      \"suppressFilterButton\": \"/** Boolean flag to indicate if the button in the floating filter that opens the parent filter in a popup should be displayed.\\n     */\",\n      \"currentParentModel\": \"/** This is a shortcut to invoke getModel on the parent filter.\\n     * If the parent filter doesn't exist (filters are lazily created as needed)\\n     * then it returns null rather than calling getModel() on the parent filter.\\n     */\",\n      \"parentFilterInstance\": \"/** Gets a reference to the parent filter. The result is returned asynchronously\\n     * via a callback as the parent filter may not exist yet. If it does\\n     * not exist, it is created and asynchronously returned (AG Grid itself\\n     * does not create components asynchronously, however if providing a framework\\n     * provided filter e.g. React, it might be).\\n     *\\n     * The floating filter can then call any method it likes on the parent filter.\\n     * The parent filter will typically provide its own method for the floating\\n     * filter to call to set the filter. For example, if creating custom filter A,\\n     * it should have a method your floating A can call to set the state\\n     * when the user updates via the floating filter.\\n     */\",\n      \"showParentFilter\": \"/** Shows the parent filter popup.\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IFloatingFilter\": {\n    \"meta\": {},\n    \"type\": {\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"void\",\n      \"afterGuiAttached?()\": \"void\"\n    },\n    \"docs\": {\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"IFloatingFilterComp\": {\n    \"meta\": { \"typeParams\": [\"P = any\"] },\n    \"type\": {\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"void\",\n      \"afterGuiAttached?()\": \"void\",\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: IFloatingFilterParams<P>)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: IFloatingFilterParams<P>)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"BaseFloatingFilterChange\": {\n    \"meta\": {},\n    \"type\": { \"model\": \"ProvidedFilterModel\", \"apply\": \"boolean\" }\n  },\n  \"FloatingFilterInputService\": {\n    \"meta\": {},\n    \"type\": {\n      \"setupGui(parentElement: HTMLElement)\": \"void\",\n      \"setEditable(editable: boolean)\": \"void\",\n      \"getValue()\": \"string | null | undefined\",\n      \"setValue(value: string | null | undefined, silent?: boolean)\": \"void\",\n      \"addValueChangedListener(listener: () => void)\": \"void\"\n    }\n  },\n  \"ModelUnion\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"TextFilterModel | NumberFilterModel\"\n  },\n  \"DateFilterModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"filterType?\": \"'date'\",\n      \"dateFrom\": \"string | null\",\n      \"dateTo\": \"string | null\",\n      \"type?\": \"ISimpleFilterModelType | null\"\n    },\n    \"docs\": {\n      \"filterType?\": \"/** Filter type is always `'date'` */\",\n      \"dateFrom\": \"/** The date value(s) associated with the filter. The type is `string` and format is always\\n     * `YYYY-MM-DD hh:mm:ss` e.g. 2019-05-24 00:00:00. Custom filters can have no values (hence both\\n     * are optional). Range filter has two values (from and to).\\n     */\",\n      \"dateTo\": \"/** Range filter `to` date value.\\n     */\",\n      \"type?\": \"/** One of the filter options, e.g. `'equals'` */\"\n    }\n  },\n  \"DateFilterParams\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"IDateFilterParams & IFilterParams<TData>\"\n  },\n  \"IDateFilterParams\": {\n    \"meta\": {\n      \"doc\": \"/** Parameters used in `colDef.filterParams` to configure a Date Filter (`agDateColumnFilter`).\\n */\"\n    },\n    \"type\": {\n      \"comparator?\": \"IDateComparatorFunc\",\n      \"browserDatePicker?\": \"boolean\",\n      \"minValidYear?\": \"number\",\n      \"maxValidYear?\": \"number\",\n      \"inRangeFloatingFilterDateFormat?\": \"string\",\n      \"inRangeInclusive?\": \"boolean\",\n      \"includeBlanksInEquals?\": \"boolean\",\n      \"includeBlanksInLessThan?\": \"boolean\",\n      \"includeBlanksInGreaterThan?\": \"boolean\",\n      \"includeBlanksInRange?\": \"boolean\",\n      \"filterOptions?\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n      \"defaultOption?\": \"string\",\n      \"defaultJoinOperator?\": \"JoinOperator\",\n      \"maxNumConditions?\": \"number\",\n      \"numAlwaysVisibleConditions?\": \"number\",\n      \"suppressAndOrCondition?\": \"boolean\",\n      \"alwaysShowBothConditions?\": \"boolean\",\n      \"filterPlaceholder?\": \"FilterPlaceholderFunction | string\",\n      \"buttons?\": \"FilterButtonType[]\",\n      \"closeOnApply?\": \"boolean\",\n      \"debounceMs?\": \"number\",\n      \"readOnly?\": \"boolean\"\n    },\n    \"docs\": {\n      \"comparator?\": \"/** Required if the data for the column are not native JS `Date` objects. */\",\n      \"browserDatePicker?\": \"/** Defines whether the grid uses the browser date picker or a plain text box.\\n     *  - `true`: Force the browser date picker to be used.\\n     *  - `false`: Force a plain text box to be used.\\n     *\\n     * Default: `undefined` - If a date component is not provided, then the grid will use the browser date picker\\n     * for all supported browsers and a plain text box for other browsers.\\n     */\",\n      \"minValidYear?\": \"/** This is the minimum year that may be entered in a date field for the value to be considered valid. Default: `1000` */\",\n      \"maxValidYear?\": \"/** This is the maximum year that may be entered in a date field for the value to be considered valid. Default is no restriction. */\",\n      \"inRangeFloatingFilterDateFormat?\": \"/** Defines the date format for the floating filter text when an in range filter has been applied.\\n     *\\n     * Default: `YYYY-MM-DD`\\n     */\",\n      \"inRangeInclusive?\": \"/** If `true`, the `'inRange'` filter option will include values equal to the start and end of the range. */\",\n      \"includeBlanksInEquals?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'equals'` filter option. */\",\n      \"includeBlanksInLessThan?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'lessThan'` and `'lessThanOrEqual'` filter options. */\",\n      \"includeBlanksInGreaterThan?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'greaterThan'` and `'greaterThanOrEqual'` filter options. */\",\n      \"includeBlanksInRange?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'inRange'` filter option. */\",\n      \"filterOptions?\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"defaultOption?\": \"/** The default filter option to be selected. */\",\n      \"defaultJoinOperator?\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"maxNumConditions?\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"numAlwaysVisibleConditions?\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"suppressAndOrCondition?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"alwaysShowBothConditions?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"filterPlaceholder?\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"buttons?\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"closeOnApply?\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"debounceMs?\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"readOnly?\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"IDateComparatorFunc\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": {\n      \"arguments\": { \"filterLocalDateAtMidnight\": \"Date\", \"cellValue\": \"any\" },\n      \"returnType\": \"number\"\n    }\n  },\n  \"NumberFilterModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"filterType?\": \"'number'\",\n      \"filter?\": \"number | null\",\n      \"filterTo?\": \"number | null\",\n      \"type?\": \"ISimpleFilterModelType | null\"\n    },\n    \"docs\": {\n      \"filterType?\": \"/** Filter type is always `'number'` */\",\n      \"filter?\": \"/** The number value(s) associated with the filter.\\n     * Custom filters can have no values (hence both are optional).\\n     * Range filter has two values (from and to).\\n     */\",\n      \"filterTo?\": \"/** Range filter `to` value.\\n     */\",\n      \"type?\": \"/** One of the filter options, e.g. `'equals'` */\"\n    }\n  },\n  \"NumberFilterParams\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"INumberFilterParams & IFilterParams<TData>\"\n  },\n  \"INumberFilterParams\": {\n    \"meta\": {\n      \"doc\": \"/** Parameters used in `colDef.filterParams` to configure a Number Filter (`agNumberColumnFilter`).\\n */\"\n    },\n    \"type\": {\n      \"allowedCharPattern?\": \"string\",\n      \"numberParser?\": \"(text: string | null) => number | null\",\n      \"inRangeInclusive?\": \"boolean\",\n      \"includeBlanksInEquals?\": \"boolean\",\n      \"includeBlanksInLessThan?\": \"boolean\",\n      \"includeBlanksInGreaterThan?\": \"boolean\",\n      \"includeBlanksInRange?\": \"boolean\",\n      \"filterOptions?\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n      \"defaultOption?\": \"string\",\n      \"defaultJoinOperator?\": \"JoinOperator\",\n      \"maxNumConditions?\": \"number\",\n      \"numAlwaysVisibleConditions?\": \"number\",\n      \"suppressAndOrCondition?\": \"boolean\",\n      \"alwaysShowBothConditions?\": \"boolean\",\n      \"filterPlaceholder?\": \"FilterPlaceholderFunction | string\",\n      \"buttons?\": \"FilterButtonType[]\",\n      \"closeOnApply?\": \"boolean\",\n      \"debounceMs?\": \"number\",\n      \"readOnly?\": \"boolean\"\n    },\n    \"docs\": {\n      \"allowedCharPattern?\": \"/** When specified, the input field will be of type `text`, and this will be used as a regex of all the characters that are allowed to be typed.\\n     * This will be compared against any typed character and prevent the character from appearing in the input if it does not match.\\n     */\",\n      \"numberParser?\": \"/** Typically used alongside `allowedCharPattern`, this provides a custom parser to convert the value entered in the filter inputs into a number that can be used for comparisons.\\n     */\",\n      \"inRangeInclusive?\": \"/** If `true`, the `'inRange'` filter option will include values equal to the start and end of the range. */\",\n      \"includeBlanksInEquals?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'equals'` filter option. */\",\n      \"includeBlanksInLessThan?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'lessThan'` and `'lessThanOrEqual'` filter options. */\",\n      \"includeBlanksInGreaterThan?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'greaterThan'` and `'greaterThanOrEqual'` filter options. */\",\n      \"includeBlanksInRange?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'inRange'` filter option. */\",\n      \"filterOptions?\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"defaultOption?\": \"/** The default filter option to be selected. */\",\n      \"defaultJoinOperator?\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"maxNumConditions?\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"numAlwaysVisibleConditions?\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"suppressAndOrCondition?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"alwaysShowBothConditions?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"filterPlaceholder?\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"buttons?\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"closeOnApply?\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"debounceMs?\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"readOnly?\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"FilterButtonType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'apply' | 'clear' | 'reset' | 'cancel'\"\n  },\n  \"ProvidedFilterParams\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"IProvidedFilterParams & IFilterParams<TData>\"\n  },\n  \"IProvidedFilterParams\": {\n    \"meta\": {\n      \"doc\": \"/** Common parameters in `colDef.filterParams` used by all provided filters. Extended by the specific filter types.\\n */\"\n    },\n    \"type\": {\n      \"buttons?\": \"FilterButtonType[]\",\n      \"closeOnApply?\": \"boolean\",\n      \"debounceMs?\": \"number\",\n      \"readOnly?\": \"boolean\"\n    },\n    \"docs\": {\n      \"buttons?\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"closeOnApply?\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"debounceMs?\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"readOnly?\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"IProvidedFilter\": {\n    \"meta\": {\n      \"doc\": \"/** Interface contract for the public aspects of the ProvidedFilter implementation(s). */\"\n    },\n    \"type\": {\n      \"applyModel(source?: 'api' | 'ui' | 'rowDataUpdated')\": \"boolean\",\n      \"getModelFromUi()\": \"any\",\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"getModel()\": \"any\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\"\n    },\n    \"docs\": {\n      \"applyModel(source?: 'api' | 'ui' | 'rowDataUpdated')\": \"/** Applies the model shown in the UI (so that `getModel()` will now return what was in the UI\\n     * when `applyModel()` was called).\\n     * @param source The source of the method call. Default 'api'.\\n     */\",\n      \"getModelFromUi()\": \"/** Returns the filter model from the UI. If changes have been made to the UI but not yet\\n     * applied, this model will reflect those changes.\\n     */\",\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\"\n    }\n  },\n  \"ScalarFilterParams\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"IScalarFilterParams & IFilterParams<TData>\"\n  },\n  \"IScalarFilterParams\": {\n    \"meta\": {\n      \"doc\": \"/** Common parameters in `colDef.filterParams` used by all scalar filters. Extended by the specific filter types.\\n */\"\n    },\n    \"type\": {\n      \"inRangeInclusive?\": \"boolean\",\n      \"includeBlanksInEquals?\": \"boolean\",\n      \"includeBlanksInLessThan?\": \"boolean\",\n      \"includeBlanksInGreaterThan?\": \"boolean\",\n      \"includeBlanksInRange?\": \"boolean\",\n      \"filterOptions?\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n      \"defaultOption?\": \"string\",\n      \"defaultJoinOperator?\": \"JoinOperator\",\n      \"maxNumConditions?\": \"number\",\n      \"numAlwaysVisibleConditions?\": \"number\",\n      \"suppressAndOrCondition?\": \"boolean\",\n      \"alwaysShowBothConditions?\": \"boolean\",\n      \"filterPlaceholder?\": \"FilterPlaceholderFunction | string\",\n      \"buttons?\": \"FilterButtonType[]\",\n      \"closeOnApply?\": \"boolean\",\n      \"debounceMs?\": \"number\",\n      \"readOnly?\": \"boolean\"\n    },\n    \"docs\": {\n      \"inRangeInclusive?\": \"/** If `true`, the `'inRange'` filter option will include values equal to the start and end of the range. */\",\n      \"includeBlanksInEquals?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'equals'` filter option. */\",\n      \"includeBlanksInLessThan?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'lessThan'` and `'lessThanOrEqual'` filter options. */\",\n      \"includeBlanksInGreaterThan?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'greaterThan'` and `'greaterThanOrEqual'` filter options. */\",\n      \"includeBlanksInRange?\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'inRange'` filter option. */\",\n      \"filterOptions?\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"defaultOption?\": \"/** The default filter option to be selected. */\",\n      \"defaultJoinOperator?\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"maxNumConditions?\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"numAlwaysVisibleConditions?\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"suppressAndOrCondition?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"alwaysShowBothConditions?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"filterPlaceholder?\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"buttons?\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"closeOnApply?\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"debounceMs?\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"readOnly?\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"Comparator\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"T\"] },\n    \"type\": {\n      \"arguments\": { \"left\": \"T\", \"right\": \"T\" },\n      \"returnType\": \"number\"\n    }\n  },\n  \"JoinOperator\": { \"meta\": { \"isTypeAlias\": true }, \"type\": \"'AND' | 'OR'\" },\n  \"ISimpleFilter\": {\n    \"meta\": {\n      \"doc\": \"/** Interface contract for the public aspects of the SimpleFilter implementation(s). */\"\n    },\n    \"type\": {\n      \"applyModel(source?: 'api' | 'ui' | 'rowDataUpdated')\": \"boolean\",\n      \"getModelFromUi()\": \"any\",\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"getModel()\": \"any\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\",\n      \"onFloatingFilterChanged(type: string | null, value: any)\": \"void\"\n    },\n    \"docs\": {\n      \"applyModel(source?: 'api' | 'ui' | 'rowDataUpdated')\": \"/** Applies the model shown in the UI (so that `getModel()` will now return what was in the UI\\n     * when `applyModel()` was called).\\n     * @param source The source of the method call. Default 'api'.\\n     */\",\n      \"getModelFromUi()\": \"/** Returns the filter model from the UI. If changes have been made to the UI but not yet\\n     * applied, this model will reflect those changes.\\n     */\",\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"onFloatingFilterChanged(type: string | null, value: any)\": \"/** Notification that a new floating-filter value was input by the user.\\n     *\\n     * @param type operation type selected.\\n     * @param value model-typed value entered.\\n     */\"\n    }\n  },\n  \"IFilterPlaceholderFunctionParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"filterOptionKey\": \"ISimpleFilterModelType\",\n      \"filterOption\": \"string\",\n      \"placeholder\": \"string\"\n    },\n    \"docs\": {\n      \"filterOptionKey\": \"/** The filter option key\\n     */\",\n      \"filterOption\": \"/** The filter option name as localised text\\n     */\",\n      \"placeholder\": \"/** The default placeholder text\\n     */\"\n    }\n  },\n  \"FilterPlaceholderFunction\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(params: IFilterPlaceholderFunctionParams) => string\"\n  },\n  \"SimpleFilterParams\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"ISimpleFilterParams & IFilterParams<TData>\"\n  },\n  \"ISimpleFilterParams\": {\n    \"meta\": {\n      \"doc\": \"/** Common parameters in `colDef.filterParams` used by all simple filters. Extended by the specific filter types.\\n */\"\n    },\n    \"type\": {\n      \"filterOptions?\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n      \"defaultOption?\": \"string\",\n      \"defaultJoinOperator?\": \"JoinOperator\",\n      \"maxNumConditions?\": \"number\",\n      \"numAlwaysVisibleConditions?\": \"number\",\n      \"suppressAndOrCondition?\": \"boolean\",\n      \"alwaysShowBothConditions?\": \"boolean\",\n      \"filterPlaceholder?\": \"FilterPlaceholderFunction | string\",\n      \"buttons?\": \"FilterButtonType[]\",\n      \"closeOnApply?\": \"boolean\",\n      \"debounceMs?\": \"number\",\n      \"readOnly?\": \"boolean\"\n    },\n    \"docs\": {\n      \"filterOptions?\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"defaultOption?\": \"/** The default filter option to be selected. */\",\n      \"defaultJoinOperator?\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"maxNumConditions?\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"numAlwaysVisibleConditions?\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"suppressAndOrCondition?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"alwaysShowBothConditions?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"filterPlaceholder?\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"buttons?\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"closeOnApply?\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"debounceMs?\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"readOnly?\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"ISimpleFilterModelType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'empty' | 'equals' | 'notEqual' | 'lessThan' | 'lessThanOrEqual' | 'greaterThan' | 'greaterThanOrEqual' | 'inRange' | 'contains' | 'notContains' | 'startsWith' | 'endsWith' | 'blank' | 'notBlank'\"\n  },\n  \"ISimpleFilterModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"type?\": \"ISimpleFilterModelType | null\",\n      \"filterType?\": \"string\"\n    },\n    \"docs\": { \"type?\": \"/** One of the filter options, e.g. `'equals'` */\" }\n  },\n  \"ICombinedSimpleModel\": {\n    \"meta\": {\n      \"typeParams\": [\"M extends ISimpleFilterModel\"],\n      \"doc\": \"/** Old combined models prior to v29.2 only supported two conditions, which were defined using `condition1` and `condition2`.\\n * New combined models allow more than two conditions using `conditions`.\\n * When supplying combined models to the grid:\\n * - `conditions` will be used if present.\\n * - If `conditions` is not present, `condition1` and `condition2` will be used (deprecated).\\n * \\n * When receiving combined models from the grid:\\n * - `conditions` will be populated with all the conditions (including the first and second conditions).\\n * - `condition1` and `condition2` will be populated with the first and second conditions (deprecated).\\n */\"\n    },\n    \"type\": {\n      \"operator\": \"JoinOperator\",\n      \"condition1\": \"M\",\n      \"condition2\": \"M\",\n      \"conditions?\": \"M[]\",\n      \"filterType?\": \"string\"\n    },\n    \"docs\": {\n      \"condition1\": \"/** @deprecated As of v29.2, supply as the first element of `conditions`. */\",\n      \"condition2\": \"/** @deprecated As of v29.2, supply as the second element of `conditions`. */\",\n      \"conditions?\": \"/** Will be mandatory in a future release. */\"\n    }\n  },\n  \"Tuple\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"(T | null)[]\"\n  },\n  \"TextFilterModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"filterType?\": \"'text'\",\n      \"filter?\": \"string | null\",\n      \"filterTo?\": \"string | null\",\n      \"type?\": \"ISimpleFilterModelType | null\"\n    },\n    \"docs\": {\n      \"filterType?\": \"/** Filter type is always `'text'` */\",\n      \"filter?\": \"/** The text value associated with the filter.\\n     * It's optional as custom filters may not have a text value.\\n     * */\",\n      \"filterTo?\": \"/** The 2nd text value associated with the filter, if supported.\\n     * */\",\n      \"type?\": \"/** One of the filter options, e.g. `'equals'` */\"\n    }\n  },\n  \"TextMatcherParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"filterOption\": \"string | null | undefined\",\n      \"value\": \"any\",\n      \"filterText\": \"string | null\",\n      \"textFormatter?\": \"TextFormatter\",\n      \"node\": \"IRowNode<TData> | null\",\n      \"data\": \"TData\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"filterOption\": \"/** The applicable filter option being tested.\\n     * One of: `equals`, `notEqual`, `contains`, `notContains`, `startsWith`, `endsWith`.\\n     */\",\n      \"value\": \"/** The value about to be filtered.\\n     * If this column has a value getter, this value will be coming from the value getter,\\n     * otherwise it is the raw value injected into the grid.\\n     * If a `textFormatter` is provided, this value will have been formatted.\\n     * If no `textFormatter` is provided and `caseSensitive` is not provided or is `false`,\\n     * the value will have been converted to lower case.\\n     */\",\n      \"filterText\": \"/** The value to filter by.\\n     * If a `textFormatter` is provided, this value will have been formatted.\\n     * If no `textFormatter` is provided and `caseSensitive` is not provided or is `false`,\\n     * the value will have been converted to lower case.\\n     */\",\n      \"node\": \"/** Row node for the given row */\",\n      \"data\": \"/** Data associated with the node */\",\n      \"column\": \"/** Column for this callback */\",\n      \"colDef\": \"/** ColDef provided for this column */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"TextMatcher\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": {\n      \"arguments\": { \"params\": \"TextMatcherParams\" },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"TextFormatter\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": {\n      \"arguments\": { \"from?\": \"string | null\" },\n      \"returnType\": \"string | null\"\n    }\n  },\n  \"TextFilterParams\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"ITextFilterParams & IFilterParams<TData>\"\n  },\n  \"ITextFilterParams\": {\n    \"meta\": {\n      \"doc\": \"/** Parameters used in `colDef.filterParams` to configure a  Text Filter (`agTextColumnFilter`).\\n */\"\n    },\n    \"type\": {\n      \"textMatcher?\": \"TextMatcher\",\n      \"caseSensitive?\": \"boolean\",\n      \"textFormatter?\": \"(from: string) => string | null\",\n      \"trimInput?\": \"boolean\",\n      \"filterOptions?\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n      \"defaultOption?\": \"string\",\n      \"defaultJoinOperator?\": \"JoinOperator\",\n      \"maxNumConditions?\": \"number\",\n      \"numAlwaysVisibleConditions?\": \"number\",\n      \"suppressAndOrCondition?\": \"boolean\",\n      \"alwaysShowBothConditions?\": \"boolean\",\n      \"filterPlaceholder?\": \"FilterPlaceholderFunction | string\",\n      \"buttons?\": \"FilterButtonType[]\",\n      \"closeOnApply?\": \"boolean\",\n      \"debounceMs?\": \"number\",\n      \"readOnly?\": \"boolean\"\n    },\n    \"docs\": {\n      \"textMatcher?\": \"/** Used to override how to filter based on the user input.\\n     * Returns `true` if the value passes the filter, otherwise `false`.\\n     */\",\n      \"caseSensitive?\": \"/** By default, text filtering is case-insensitive. Set this to `true` to make text filtering case-sensitive.\\n     * Default: `false`\\n     */\",\n      \"textFormatter?\": \"/** Formats the text before applying the filter compare logic.\\n     * Useful if you want to substitute accented characters, for example.\\n     */\",\n      \"trimInput?\": \"/** If `true`, the input that the user enters will be trimmed when the filter is applied, so any leading or trailing whitespace will be removed.\\n     * If only whitespace is entered, it will be left as-is.\\n     * If you enable `trimInput`, it is best to also increase the `debounceMs` to give users more time to enter text.\\n     * Default: `false`\\n     */\",\n      \"filterOptions?\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"defaultOption?\": \"/** The default filter option to be selected. */\",\n      \"defaultJoinOperator?\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"maxNumConditions?\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"numAlwaysVisibleConditions?\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"suppressAndOrCondition?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"alwaysShowBothConditions?\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"filterPlaceholder?\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"buttons?\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"closeOnApply?\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"debounceMs?\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"readOnly?\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"GridParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"globalEventListener?\": \"Function\",\n      \"frameworkOverrides?\": \"IFrameworkOverrides\",\n      \"providedBeanInstances?\": \"{ [key: string]: any; }\",\n      \"modules?\": \"Module[]\"\n    }\n  },\n  \"DetailGridInfo\": {\n    \"meta\": {},\n    \"type\": { \"id\": \"string\", \"api?\": \"GridApi\", \"columnApi?\": \"ColumnApi\" },\n    \"docs\": {\n      \"id\": \"/** Id of the detail grid, the format is `detail_{ROW-ID}`,\\n     * where `ROW-ID` is the `id` of the parent row.\\n     */\",\n      \"api?\": \"/** Grid api of the detail grid. */\",\n      \"columnApi?\": \"/** Column api of the detail grid. */\"\n    }\n  },\n  \"StartEditingCellParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowIndex\": \"number\",\n      \"colKey\": \"string | Column\",\n      \"rowPinned?\": \"RowPinnedType\",\n      \"key?\": \"string\",\n      \"charPress?\": \"string\"\n    },\n    \"docs\": {\n      \"rowIndex\": \"/** The row index of the row to start editing */\",\n      \"colKey\": \"/** The column key of the row to start editing */\",\n      \"rowPinned?\": \"/** Set to `'top'` or `'bottom'` to start editing a pinned row */\",\n      \"key?\": \"/** The key to pass to the cell editor */\",\n      \"charPress?\": \"/** The charPress to pass to the cell editor */\"\n    }\n  },\n  \"RowAnimationCssClasses\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"ANIMATION_ON = 'ag-row-animation'\",\n      \"ANIMATION_OFF = 'ag-row-no-animation'\"\n    ],\n    \"docs\": [null, null]\n  },\n  \"IGridBodyComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"setColumnMovingCss(cssClass: string, on: boolean)\": \"void\",\n      \"setCellSelectableCss(cssClass: string | null, on: boolean)\": \"void\",\n      \"setTopHeight(height: number)\": \"void\",\n      \"setTopDisplay(display: string)\": \"void\",\n      \"setBottomHeight(height: number)\": \"void\",\n      \"setBottomDisplay(display: string)\": \"void\",\n      \"setStickyTopHeight(height: string)\": \"void\",\n      \"setStickyTopTop(offsetTop: string)\": \"void\",\n      \"setStickyTopWidth(width: string)\": \"void\",\n      \"setColumnCount(count: number)\": \"void\",\n      \"setRowCount(count: number)\": \"void\",\n      \"setRowAnimationCssOnBodyViewport(cssClass: string, animate: boolean)\": \"void\",\n      \"setAlwaysVerticalScrollClass(cssClass: string | null, on: boolean)\": \"void\",\n      \"setPinnedTopBottomOverflowY(overflow: string)\": \"void\",\n      \"registerBodyViewportResizeListener(listener: (() => void))\": \"void\",\n      \"setBodyViewportWidth(width: string)\": \"void\",\n      \"updateLayoutClasses(layoutClass: string, params: UpdateLayoutClassesParams)\": \"void\"\n    }\n  },\n  \"NavigateParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"scrollIndex\": \"number\",\n      \"scrollType\": \"'top' | 'bottom' | null\",\n      \"scrollColumn\": \"Column | null\",\n      \"focusIndex\": \"number\",\n      \"focusColumn\": \"Column\",\n      \"isAsync?\": \"boolean\"\n    },\n    \"docs\": {\n      \"scrollIndex\": \"/** The rowIndex to vertically scroll to. */\",\n      \"scrollType\": \"/** The position to put scroll index. */\",\n      \"scrollColumn\": \"/**  The column to horizontally scroll to. */\",\n      \"focusIndex\": \"/** For page up/down, we want to scroll to one row/column but focus another (ie. scrollRow could be stub). */\"\n    }\n  },\n  \"RowContainerName\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"LEFT = 'left'\",\n      \"RIGHT = 'right'\",\n      \"CENTER = 'center'\",\n      \"FULL_WIDTH = 'fullWidth'\",\n      \"TOP_LEFT = 'topLeft'\",\n      \"TOP_RIGHT = 'topRight'\",\n      \"TOP_CENTER = 'topCenter'\",\n      \"TOP_FULL_WIDTH = 'topFullWidth'\",\n      \"STICKY_TOP_LEFT = 'stickyTopLeft'\",\n      \"STICKY_TOP_RIGHT = 'stickyTopRight'\",\n      \"STICKY_TOP_CENTER = 'stickyTopCenter'\",\n      \"STICKY_TOP_FULL_WIDTH = 'stickyTopFullWidth'\",\n      \"BOTTOM_LEFT = 'bottomLeft'\",\n      \"BOTTOM_RIGHT = 'bottomRight'\",\n      \"BOTTOM_CENTER = 'bottomCenter'\",\n      \"BOTTOM_FULL_WIDTH = 'bottomFullWidth'\"\n    ],\n    \"docs\": [\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null\n    ]\n  },\n  \"RowContainerType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"LEFT = 'left'\",\n      \"RIGHT = 'right'\",\n      \"CENTER = 'center'\",\n      \"FULL_WIDTH = 'fullWidth'\"\n    ],\n    \"docs\": [null, null, null, null]\n  },\n  \"IRowContainerComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"setViewportHeight(height: string)\": \"void\",\n      \"setRowCtrls(rowCtrls: RowCtrl[])\": \"void\",\n      \"setDomOrder(domOrder: boolean)\": \"void\",\n      \"setContainerWidth(width: string)\": \"void\"\n    }\n  },\n  \"RowDropZoneEvents\": {\n    \"meta\": {},\n    \"type\": {\n      \"onDragEnter?\": \"(params: RowDragEnterEvent) => void\",\n      \"onDragLeave?\": \"(params: RowDragLeaveEvent) => void\",\n      \"onDragging?\": \"(params: RowDragMoveEvent) => void\",\n      \"onDragStop?\": \"(params: RowDragEndEvent) => void\"\n    },\n    \"docs\": {\n      \"onDragEnter?\": \"/** Callback function that will be executed when the rowDrag enters the target. */\",\n      \"onDragLeave?\": \"/** Callback function that will be executed when the rowDrag leaves the target */\",\n      \"onDragging?\": \"/** Callback function that will be executed when the rowDrag is dragged inside the target.\\n     * Note: this gets called multiple times.\\n     */\",\n      \"onDragStop?\": \"/** Callback function that will be executed when the rowDrag drops rows within the target. */\"\n    }\n  },\n  \"RowDropZoneParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"getContainer\": \"() => HTMLElement\",\n      \"onDragEnter?\": \"(params: RowDragEnterEvent) => void\",\n      \"onDragLeave?\": \"(params: RowDragLeaveEvent) => void\",\n      \"onDragging?\": \"(params: RowDragMoveEvent) => void\",\n      \"onDragStop?\": \"(params: RowDragEndEvent) => void\"\n    },\n    \"docs\": {\n      \"getContainer\": \"/** A callback method that returns the DropZone HTMLElement. */\",\n      \"onDragEnter?\": \"/** Callback function that will be executed when the rowDrag enters the target. */\",\n      \"onDragLeave?\": \"/** Callback function that will be executed when the rowDrag leaves the target */\",\n      \"onDragging?\": \"/** Callback function that will be executed when the rowDrag is dragged inside the target.\\n     * Note: this gets called multiple times.\\n     */\",\n      \"onDragStop?\": \"/** Callback function that will be executed when the rowDrag drops rows within the target. */\"\n    }\n  },\n  \"SetScrollsVisibleParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"horizontalScrollShowing\": \"boolean\",\n      \"verticalScrollShowing\": \"boolean\"\n    }\n  },\n  \"IGridComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"setRtlClass(cssClass: string)\": \"void\",\n      \"destroyGridUi()\": \"void\",\n      \"forceFocusOutOfContainer(up: boolean)\": \"void\",\n      \"addOrRemoveKeyboardFocusClass(value: boolean)\": \"void\",\n      \"getFocusableContainers()\": \"HTMLElement[]\",\n      \"setCursor(value: string | null)\": \"void\",\n      \"setUserSelect(value: string | null)\": \"void\",\n      \"updateLayoutClasses(layoutClass: string, params: UpdateLayoutClassesParams)\": \"void\"\n    }\n  },\n  \"GetKeys\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\", \"U\"] },\n    \"type\": \"{ [K in keyof T]: U extends T[K] ? K : (T[K] extends U | undefined ? K : never); }[keyof T]\"\n  },\n  \"KeysOfType\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"U\"] },\n    \"type\": \"Exclude<GetKeys<GridOptions, U>, AnyGridOptions>\"\n  },\n  \"BooleanProps\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"Exclude<KeysOfType<boolean>, AnyGridOptions>\"\n  },\n  \"NumberProps\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"Exclude<KeysOfType<number>, AnyGridOptions>\"\n  },\n  \"NoArgFuncs\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"KeysOfType<() => any>\"\n  },\n  \"AnyArgFuncs\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"KeysOfType<(arg: 'NO_MATCH') => any>\"\n  },\n  \"CallbackProps\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"Exclude<KeysOfType<(params: AgGridCommon<any, any>) => any>, NoArgFuncs | AnyArgFuncs>\"\n  },\n  \"NonPrimitiveProps\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"Exclude<keyof GridOptions, BooleanProps | NumberProps | CallbackProps | 'api' | 'columnApi' | 'context'>\"\n  },\n  \"ExtractParamsFromCallback\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TCallback\"] },\n    \"type\": \"TCallback extends (params: infer PA) => any ? PA : never\"\n  },\n  \"ExtractReturnTypeFromCallback\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TCallback\"] },\n    \"type\": \"TCallback extends (params: AgGridCommon<any, any>) => infer RT ? RT : never\"\n  },\n  \"WrappedCallback\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\n        \"K extends CallbackProps\",\n        \"OriginalCallback extends GridOptions[K]\"\n      ]\n    },\n    \"type\": \"undefined | ((params: WithoutGridCommon<ExtractParamsFromCallback<OriginalCallback>>) => ExtractReturnTypeFromCallback<OriginalCallback>)\"\n  },\n  \"PropertyChangedEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"keyof GridOptions\",\n      \"currentValue\": \"any\",\n      \"previousValue\": \"any\"\n    },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"PropertyChangedListener\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"T extends PropertyChangedEvent\"]\n    },\n    \"type\": \"(event: T) => void\"\n  },\n  \"DeprecatedReference\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"{ [key: string]: { newProp?: keyof T; version: string; message?: string; copyToNewProp?: true; newPropValue?: any; }; }\"\n  },\n  \"IAbstractHeaderCellComp\": { \"meta\": {}, \"type\": {} },\n  \"IHeaderCellComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"setWidth(width: string)\": \"void\",\n      \"addOrRemoveCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"setColId(id: string)\": \"void\",\n      \"setAriaDescription(description?: string)\": \"void\",\n      \"setAriaSort(sort?: ColumnSortState)\": \"void\",\n      \"setUserCompDetails(compDetails: UserCompDetails)\": \"void\",\n      \"getUserCompInstance()\": \"IHeader | undefined\",\n      \"setTitle(title: string | undefined)\": \"void\"\n    }\n  },\n  \"IHeaderParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"displayName\": \"string\",\n      \"enableSorting\": \"boolean | undefined\",\n      \"enableMenu\": \"boolean\",\n      \"showColumnMenu\": \"(source: HTMLElement) => void\",\n      \"progressSort\": \"(multiSort?: boolean) => void\",\n      \"setSort\": \"(sort: SortDirection, multiSort?: boolean) => void\",\n      \"template?\": \"string\",\n      \"eGridHeader\": \"HTMLElement\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"column\": \"/** The column the header is for. */\",\n      \"displayName\": \"/** The name to display for the column.\\n     * If the column is using a headerValueGetter, the displayName will take this into account.\\n     */\",\n      \"enableSorting\": \"/** Whether sorting is enabled for the column.\\n     * Only put sort logic into your header if this is true.\\n     */\",\n      \"enableMenu\": \"/** Whether menu is enabled for the column.\\n     * Only display a menu button in your header if this is true.\\n     */\",\n      \"showColumnMenu\": \"/** Callback to request the grid to show the column menu.\\n     * Pass in the html element of the column menu to have the\\n     *  grid position the menu over the button.\\n     */\",\n      \"progressSort\": \"/** Callback to progress the sort for this column.\\n     * The grid will decide the next sort direction eg ascending, descending or 'no sort'.\\n     * Pass `multiSort=true` if you want to do a multi sort (eg user has Shift held down when they click).\\n     */\",\n      \"setSort\": \"/** Callback to set the sort for this column.\\n     * Pass the sort direction to use ignoring the current sort eg one of 'asc', 'desc' or null (for no sort).\\n     * Pass `multiSort=true` if you want to do a multi sort (eg user has Shift held down when they click)\\n     */\",\n      \"template?\": \"/** Custom header template if provided to `headerComponentParams`, otherwise will be `undefined`. See [Header Templates](https://ag-grid.com/javascript-data-grid/column-headers/#header-templates) */\",\n      \"eGridHeader\": \"/** The header the grid provides.\\n     * The custom header component is a child of the grid provided header.\\n     * The grid's header component is what contains the grid managed functionality such as resizing, keyboard navigation etc.\\n     * This is provided should you want to make changes to this cell,\\n     * eg add ARIA tags, or add keyboard event listener (as focus goes here when navigating to the header).\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IHeader\": {\n    \"meta\": {},\n    \"type\": { \"refresh(params: IHeaderParams)\": \"boolean\" },\n    \"docs\": {\n      \"refresh(params: IHeaderParams)\": \"/** Get the header to refresh. Gets called whenever Column Defs are updated. */\"\n    }\n  },\n  \"IHeaderComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"refresh(params: IHeaderParams)\": \"boolean\",\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: IHeaderParams)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"refresh(params: IHeaderParams)\": \"/** Get the header to refresh. Gets called whenever Column Defs are updated. */\",\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: IHeaderParams)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"SelectionCount\": {\n    \"meta\": {},\n    \"type\": { \"selected\": \"number\", \"notSelected\": \"number\" }\n  },\n  \"IHeaderGroupCellComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"addOrRemoveCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"setResizableDisplayed(displayed: boolean)\": \"void\",\n      \"setWidth(width: string)\": \"void\",\n      \"setColId(id: string)\": \"void\",\n      \"setAriaExpanded(expanded: 'true' | 'false' | undefined)\": \"void\",\n      \"setUserCompDetails(compDetails: UserCompDetails)\": \"void\",\n      \"setTitle(title: string | undefined)\": \"void\"\n    }\n  },\n  \"IHeaderGroupParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"columnGroup\": \"ColumnGroup\",\n      \"displayName\": \"string\",\n      \"setExpanded\": \"(expanded: boolean) => void\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"columnGroup\": \"/** The column group the header is for. */\",\n      \"displayName\": \"/** The text label to render.\\n     * If the column is using a headerValueGetter, the displayName will take this into account.\\n     */\",\n      \"setExpanded\": \"/** Opens / closes the column group */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IHeaderGroup\": { \"meta\": {}, \"type\": {} },\n  \"IHeaderGroupComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: IHeaderGroupParams)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: IHeaderGroupParams)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"IHeaderFilterCellComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"addOrRemoveCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"addOrRemoveBodyCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"setButtonWrapperDisplayed(displayed: boolean)\": \"void\",\n      \"setCompDetails(compDetails: UserCompDetails)\": \"void\",\n      \"getFloatingFilterComp()\": \"AgPromise<IFloatingFilter> | null\",\n      \"setWidth(width: string)\": \"void\",\n      \"setMenuIcon(icon: HTMLElement)\": \"void\"\n    }\n  },\n  \"DropListener\": {\n    \"meta\": {},\n    \"type\": {\n      \"getIconName()\": \"string | null\",\n      \"onDragEnter(params: DraggingEvent)\": \"void\",\n      \"onDragLeave(params: DraggingEvent)\": \"void\",\n      \"onDragging(params: DraggingEvent)\": \"void\",\n      \"onDragStop(params: DraggingEvent)\": \"void\"\n    }\n  },\n  \"HeaderNavigationDirection\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"UP\", \"DOWN\", \"LEFT\", \"RIGHT\"],\n    \"docs\": [null, null, null, null]\n  },\n  \"HeaderPosition\": {\n    \"meta\": {},\n    \"type\": { \"headerRowIndex\": \"number\", \"column\": \"Column | ColumnGroup\" },\n    \"docs\": {\n      \"headerRowIndex\": \"/** A number from 0 to n, where n is the last header row the grid is rendering */\",\n      \"column\": \"/** The grid column or column group */\"\n    }\n  },\n  \"HorizontalResizeParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"eResizeBar\": \"HTMLElement\",\n      \"dragStartPixels?\": \"number\",\n      \"onResizeStart\": \"(shiftKey: boolean) => void\",\n      \"onResizing\": \"(delta: number) => void\",\n      \"onResizeEnd\": \"(delta: number) => void\"\n    }\n  },\n  \"IGridHeaderComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"addOrRemoveCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"setHeightAndMinHeight(height: string)\": \"void\"\n    }\n  },\n  \"HeaderRowType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"COLUMN_GROUP = 'group'\",\n      \"COLUMN = 'column'\",\n      \"FLOATING_FILTER = 'filter'\"\n    ],\n    \"docs\": [null, null, null]\n  },\n  \"IHeaderRowComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"setTransform(transform: string)\": \"void\",\n      \"setTop(top: string)\": \"void\",\n      \"setHeight(height: string)\": \"void\",\n      \"setHeaderCtrls(ctrls: AbstractHeaderCellCtrl[])\": \"void\",\n      \"setWidth(width: string)\": \"void\",\n      \"setAriaRowIndex(rowIndex: number)\": \"void\"\n    }\n  },\n  \"IHeaderRowContainerComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"setCenterWidth(width: string)\": \"void\",\n      \"setViewportScrollLeft(left: number)\": \"void\",\n      \"setPinnedContainerWidth(width: string)\": \"void\",\n      \"setDisplayed(displayed: boolean)\": \"void\",\n      \"setCtrls(ctrls: HeaderRowCtrl[])\": \"void\"\n    }\n  },\n  \"ILogger\": { \"meta\": {}, \"type\": { \"log(message: string)\": \"void\" } },\n  \"BaseExportParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"allColumns?\": \"boolean\",\n      \"columnKeys?\": \"(string | Column)[]\",\n      \"rowPositions?\": \"RowPosition[]\",\n      \"fileName?\": \"string\",\n      \"exportedRows?\": \"'all' | 'filteredAndSorted'\",\n      \"onlySelected?\": \"boolean\",\n      \"onlySelectedAllPages?\": \"boolean\",\n      \"skipColumnGroupHeaders?\": \"boolean\",\n      \"skipColumnHeaders?\": \"boolean\",\n      \"skipRowGroups?\": \"boolean\",\n      \"skipPinnedTop?\": \"boolean\",\n      \"skipPinnedBottom?\": \"boolean\",\n      \"shouldRowBeSkipped?(params: ShouldRowBeSkippedParams)\": \"boolean\",\n      \"processCellCallback?(params: ProcessCellForExportParams)\": \"string\",\n      \"processHeaderCallback?(params: ProcessHeaderForExportParams)\": \"string\",\n      \"processGroupHeaderCallback?(params: ProcessGroupHeaderForExportParams)\": \"string\",\n      \"processRowGroupCallback?(params: ProcessRowGroupForExportParams)\": \"string\",\n      \"columnGroups?\": \"boolean\",\n      \"skipGroups?\": \"boolean\",\n      \"skipHeader?\": \"boolean\"\n    },\n    \"docs\": {\n      \"allColumns?\": \"/** If `true`, all columns will be exported in the order they appear in the columnDefs.\\n     * When `false` only the columns currently being displayed will be exported.\\n     * Default: `false`\\n     */\",\n      \"columnKeys?\": \"/** Provide a list (an array) of column keys or Column objects if you want to export specific columns.\\n     */\",\n      \"rowPositions?\": \"/** Row node positions. */\",\n      \"fileName?\": \"/** String to use as the file name.\\n     */\",\n      \"exportedRows?\": \"/** Determines whether rows are exported before being filtered and sorted.\\n     * Default: `filteredAndSorted`\\n     */\",\n      \"onlySelected?\": \"/** Export only selected rows.\\n     * Default: `false`\\n     */\",\n      \"onlySelectedAllPages?\": \"/** Only export selected rows including other pages (only makes sense when using pagination).\\n     * Default: `false`\\n     */\",\n      \"skipColumnGroupHeaders?\": \"/** Set to `true` to exclude header column groups.\\n     * Default: `false`\\n     */\",\n      \"skipColumnHeaders?\": \"/** Set to `true` if you don't want to export column headers.\\n     * Default: `false`\\n     */\",\n      \"skipRowGroups?\": \"/** Set to `true` to skip row group headers if grouping rows. Only relevant when grouping rows.\\n     * Default: `false`\\n     */\",\n      \"skipPinnedTop?\": \"/** Set to `true` to suppress exporting rows pinned to the top of the grid.\\n     * Default: `false`\\n     */\",\n      \"skipPinnedBottom?\": \"/** Set to `true` to suppress exporting rows pinned to the bottom of the grid.\\n     * Default: `false`\\n     */\",\n      \"shouldRowBeSkipped?(params: ShouldRowBeSkippedParams)\": \"/** A callback function that will be invoked once per row in the grid. Return true to omit the row from the export.\\n     */\",\n      \"processCellCallback?(params: ProcessCellForExportParams)\": \"/** A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. For example this is useful for formatting date values.\\n     */\",\n      \"processHeaderCallback?(params: ProcessHeaderForExportParams)\": \"/** A callback function invoked once per column. Return a string to be displayed in the column header.\\n     */\",\n      \"processGroupHeaderCallback?(params: ProcessGroupHeaderForExportParams)\": \"/** A callback function invoked once per column group. Return a `string` to be displayed in the column group header.\\n     * Note that column groups are exported by default, this option will not work with `skipColumnGroupHeaders=true`.\\n     */\",\n      \"processRowGroupCallback?(params: ProcessRowGroupForExportParams)\": \"/** A callback function invoked once per row group. Return a `string` to be displayed in the group cell.\\n     */\",\n      \"columnGroups?\": \"/** @deprecated */\",\n      \"skipGroups?\": \"/** @deprecated */\",\n      \"skipHeader?\": \"/** @deprecated */\"\n    }\n  },\n  \"ExportParams\": {\n    \"meta\": { \"typeParams\": [\"T\"] },\n    \"type\": {\n      \"prependContent?\": \"T\",\n      \"appendContent?\": \"T\",\n      \"customHeader?\": \"T\",\n      \"customFooter?\": \"T\",\n      \"getCustomContentBelowRow?\": \"(params: ProcessRowGroupForExportParams) => T | undefined\",\n      \"allColumns?\": \"boolean\",\n      \"columnKeys?\": \"(string | Column)[]\",\n      \"rowPositions?\": \"RowPosition[]\",\n      \"fileName?\": \"string\",\n      \"exportedRows?\": \"'all' | 'filteredAndSorted'\",\n      \"onlySelected?\": \"boolean\",\n      \"onlySelectedAllPages?\": \"boolean\",\n      \"skipColumnGroupHeaders?\": \"boolean\",\n      \"skipColumnHeaders?\": \"boolean\",\n      \"skipRowGroups?\": \"boolean\",\n      \"skipPinnedTop?\": \"boolean\",\n      \"skipPinnedBottom?\": \"boolean\",\n      \"shouldRowBeSkipped?(params: ShouldRowBeSkippedParams)\": \"boolean\",\n      \"processCellCallback?(params: ProcessCellForExportParams)\": \"string\",\n      \"processHeaderCallback?(params: ProcessHeaderForExportParams)\": \"string\",\n      \"processGroupHeaderCallback?(params: ProcessGroupHeaderForExportParams)\": \"string\",\n      \"processRowGroupCallback?(params: ProcessRowGroupForExportParams)\": \"string\",\n      \"columnGroups?\": \"boolean\",\n      \"skipGroups?\": \"boolean\",\n      \"skipHeader?\": \"boolean\"\n    },\n    \"docs\": {\n      \"prependContent?\": \"/** Content to put at the top of the exported sheet.\\n     */\",\n      \"appendContent?\": \"/** Content to put at the bottom of the exported sheet.\\n     */\",\n      \"customHeader?\": \"/** @deprecated Use prependContent\\n     */\",\n      \"customFooter?\": \"/** @deprecated Use appendContent\\n     */\",\n      \"getCustomContentBelowRow?\": \"/** A callback function to return content to be inserted below a row in the export. */\",\n      \"allColumns?\": \"/** If `true`, all columns will be exported in the order they appear in the columnDefs.\\n     * When `false` only the columns currently being displayed will be exported.\\n     * Default: `false`\\n     */\",\n      \"columnKeys?\": \"/** Provide a list (an array) of column keys or Column objects if you want to export specific columns.\\n     */\",\n      \"rowPositions?\": \"/** Row node positions. */\",\n      \"fileName?\": \"/** String to use as the file name.\\n     */\",\n      \"exportedRows?\": \"/** Determines whether rows are exported before being filtered and sorted.\\n     * Default: `filteredAndSorted`\\n     */\",\n      \"onlySelected?\": \"/** Export only selected rows.\\n     * Default: `false`\\n     */\",\n      \"onlySelectedAllPages?\": \"/** Only export selected rows including other pages (only makes sense when using pagination).\\n     * Default: `false`\\n     */\",\n      \"skipColumnGroupHeaders?\": \"/** Set to `true` to exclude header column groups.\\n     * Default: `false`\\n     */\",\n      \"skipColumnHeaders?\": \"/** Set to `true` if you don't want to export column headers.\\n     * Default: `false`\\n     */\",\n      \"skipRowGroups?\": \"/** Set to `true` to skip row group headers if grouping rows. Only relevant when grouping rows.\\n     * Default: `false`\\n     */\",\n      \"skipPinnedTop?\": \"/** Set to `true` to suppress exporting rows pinned to the top of the grid.\\n     * Default: `false`\\n     */\",\n      \"skipPinnedBottom?\": \"/** Set to `true` to suppress exporting rows pinned to the bottom of the grid.\\n     * Default: `false`\\n     */\",\n      \"shouldRowBeSkipped?(params: ShouldRowBeSkippedParams)\": \"/** A callback function that will be invoked once per row in the grid. Return true to omit the row from the export.\\n     */\",\n      \"processCellCallback?(params: ProcessCellForExportParams)\": \"/** A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. For example this is useful for formatting date values.\\n     */\",\n      \"processHeaderCallback?(params: ProcessHeaderForExportParams)\": \"/** A callback function invoked once per column. Return a string to be displayed in the column header.\\n     */\",\n      \"processGroupHeaderCallback?(params: ProcessGroupHeaderForExportParams)\": \"/** A callback function invoked once per column group. Return a `string` to be displayed in the column group header.\\n     * Note that column groups are exported by default, this option will not work with `skipColumnGroupHeaders=true`.\\n     */\",\n      \"processRowGroupCallback?(params: ProcessRowGroupForExportParams)\": \"/** A callback function invoked once per row group. Return a `string` to be displayed in the group cell.\\n     */\",\n      \"columnGroups?\": \"/** @deprecated */\",\n      \"skipGroups?\": \"/** @deprecated */\",\n      \"skipHeader?\": \"/** @deprecated */\"\n    }\n  },\n  \"PackageFileParams\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"T & { data: string[]; }\"\n  },\n  \"CsvCell\": {\n    \"meta\": {},\n    \"type\": { \"data\": \"CsvCellData\", \"mergeAcross?\": \"number\" },\n    \"docs\": {\n      \"data\": \"/** The data that will be added to the cell. */\",\n      \"mergeAcross?\": \"/** The number of cells to span across (1 means span 2 columns).\\n     * Default: `0`\\n     */\"\n    }\n  },\n  \"CsvCellData\": {\n    \"meta\": {},\n    \"type\": { \"value\": \"string | null\" },\n    \"docs\": { \"value\": \"/** The value of the cell. */\" }\n  },\n  \"CsvCustomContent\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"CsvCell[][] | string\"\n  },\n  \"CsvExportParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"columnSeparator?\": \"string\",\n      \"suppressQuotes?\": \"boolean\",\n      \"prependContent?\": \"CsvCustomContent\",\n      \"appendContent?\": \"CsvCustomContent\",\n      \"customHeader?\": \"CsvCustomContent\",\n      \"customFooter?\": \"CsvCustomContent\",\n      \"getCustomContentBelowRow?\": \"(params: ProcessRowGroupForExportParams) => CsvCustomContent | undefined\",\n      \"allColumns?\": \"boolean\",\n      \"columnKeys?\": \"(string | Column)[]\",\n      \"rowPositions?\": \"RowPosition[]\",\n      \"fileName?\": \"string\",\n      \"exportedRows?\": \"'all' | 'filteredAndSorted'\",\n      \"onlySelected?\": \"boolean\",\n      \"onlySelectedAllPages?\": \"boolean\",\n      \"skipColumnGroupHeaders?\": \"boolean\",\n      \"skipColumnHeaders?\": \"boolean\",\n      \"skipRowGroups?\": \"boolean\",\n      \"skipPinnedTop?\": \"boolean\",\n      \"skipPinnedBottom?\": \"boolean\",\n      \"shouldRowBeSkipped?(params: ShouldRowBeSkippedParams)\": \"boolean\",\n      \"processCellCallback?(params: ProcessCellForExportParams)\": \"string\",\n      \"processHeaderCallback?(params: ProcessHeaderForExportParams)\": \"string\",\n      \"processGroupHeaderCallback?(params: ProcessGroupHeaderForExportParams)\": \"string\",\n      \"processRowGroupCallback?(params: ProcessRowGroupForExportParams)\": \"string\",\n      \"columnGroups?\": \"boolean\",\n      \"skipGroups?\": \"boolean\",\n      \"skipHeader?\": \"boolean\"\n    },\n    \"docs\": {\n      \"columnSeparator?\": \"/** Delimiter to insert between cell values.\\n     * Default: `,`\\n     */\",\n      \"suppressQuotes?\": \"/** By default cell values are encoded according to CSV format rules: values are wrapped in double quotes, and any double quotes within the values are escaped, so my value becomes \\\\\\\"my\\\\\\\"\\\\\\\"value\\\\\\\". Pass `true` to insert the value into the CSV file without escaping.\\n     * In this case it is your responsibility to ensure that no cells contain the columnSeparator character.\\n     * Default: `false`\\n     */\",\n      \"prependContent?\": \"/** Content to put at the top of the exported sheet.\\n     */\",\n      \"appendContent?\": \"/** Content to put at the bottom of the exported sheet.\\n     */\",\n      \"customHeader?\": \"/** @deprecated Use prependContent\\n     */\",\n      \"customFooter?\": \"/** @deprecated Use appendContent\\n     */\",\n      \"getCustomContentBelowRow?\": \"/** A callback function to return content to be inserted below a row in the export. */\",\n      \"allColumns?\": \"/** If `true`, all columns will be exported in the order they appear in the columnDefs.\\n     * When `false` only the columns currently being displayed will be exported.\\n     * Default: `false`\\n     */\",\n      \"columnKeys?\": \"/** Provide a list (an array) of column keys or Column objects if you want to export specific columns.\\n     */\",\n      \"rowPositions?\": \"/** Row node positions. */\",\n      \"fileName?\": \"/** String to use as the file name.\\n     */\",\n      \"exportedRows?\": \"/** Determines whether rows are exported before being filtered and sorted.\\n     * Default: `filteredAndSorted`\\n     */\",\n      \"onlySelected?\": \"/** Export only selected rows.\\n     * Default: `false`\\n     */\",\n      \"onlySelectedAllPages?\": \"/** Only export selected rows including other pages (only makes sense when using pagination).\\n     * Default: `false`\\n     */\",\n      \"skipColumnGroupHeaders?\": \"/** Set to `true` to exclude header column groups.\\n     * Default: `false`\\n     */\",\n      \"skipColumnHeaders?\": \"/** Set to `true` if you don't want to export column headers.\\n     * Default: `false`\\n     */\",\n      \"skipRowGroups?\": \"/** Set to `true` to skip row group headers if grouping rows. Only relevant when grouping rows.\\n     * Default: `false`\\n     */\",\n      \"skipPinnedTop?\": \"/** Set to `true` to suppress exporting rows pinned to the top of the grid.\\n     * Default: `false`\\n     */\",\n      \"skipPinnedBottom?\": \"/** Set to `true` to suppress exporting rows pinned to the bottom of the grid.\\n     * Default: `false`\\n     */\",\n      \"shouldRowBeSkipped?(params: ShouldRowBeSkippedParams)\": \"/** A callback function that will be invoked once per row in the grid. Return true to omit the row from the export.\\n     */\",\n      \"processCellCallback?(params: ProcessCellForExportParams)\": \"/** A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. For example this is useful for formatting date values.\\n     */\",\n      \"processHeaderCallback?(params: ProcessHeaderForExportParams)\": \"/** A callback function invoked once per column. Return a string to be displayed in the column header.\\n     */\",\n      \"processGroupHeaderCallback?(params: ProcessGroupHeaderForExportParams)\": \"/** A callback function invoked once per column group. Return a `string` to be displayed in the column group header.\\n     * Note that column groups are exported by default, this option will not work with `skipColumnGroupHeaders=true`.\\n     */\",\n      \"processRowGroupCallback?(params: ProcessRowGroupForExportParams)\": \"/** A callback function invoked once per row group. Return a `string` to be displayed in the group cell.\\n     */\",\n      \"columnGroups?\": \"/** @deprecated */\",\n      \"skipGroups?\": \"/** @deprecated */\",\n      \"skipHeader?\": \"/** @deprecated */\"\n    }\n  },\n  \"ShouldRowBeSkippedParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ProcessCellForExportParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"value\": \"any\",\n      \"accumulatedRowIndex?\": \"number\",\n      \"node?\": \"IRowNode<TData> | null\",\n      \"column\": \"Column\",\n      \"type\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ProcessHeaderForExportParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ProcessGroupHeaderForExportParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"columnGroup\": \"ColumnGroup\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ProcessRowGroupForExportParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ContainerType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'columnMenu' | 'contextMenu' | 'toolPanel' | 'floatingFilter'\"\n  },\n  \"IAfterGuiAttachedParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"container?\": \"ContainerType\",\n      \"hidePopup?\": \"() => void\",\n      \"suppressFocus?\": \"boolean\"\n    },\n    \"docs\": {\n      \"container?\": \"/** Where this component is attached to. */\",\n      \"hidePopup?\": \"/** Call this to hide the popup. \\n     * i.e useful if your component has an action button and you want to hide the popup after it is pressed.\\n     */\",\n      \"suppressFocus?\": \"/** Set to `true` to not have the component focus its default item. */\"\n    }\n  },\n  \"AgChartThemeOverrides\": { \"meta\": {}, \"type\": {} },\n  \"AgChartThemePalette\": { \"meta\": {}, \"type\": {} },\n  \"AgChartThemeDefinition\": { \"meta\": {}, \"type\": {} },\n  \"AgChartTheme\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"string | AgChartThemeDefinition\"\n  },\n  \"IAggFuncService\": {\n    \"meta\": {},\n    \"type\": {\n      \"addAggFuncs(aggFuncs: { [key: string]: IAggFunc; })\": \"void\",\n      \"addAggFunc(key: string, aggFunc: IAggFunc)\": \"void\",\n      \"clear()\": \"void\",\n      \"getDefaultAggFunc(column: Column)\": \"string | null\",\n      \"getFuncNames(column: Column)\": \"string[]\"\n    }\n  },\n  \"IAggregationStage\": {\n    \"meta\": {},\n    \"type\": {\n      \"aggregateValues(values: any[], aggFuncOrString: string | IAggFunc)\": \"any\"\n    }\n  },\n  \"GetContextMenuItemsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"defaultItems\": \"string[] | undefined\",\n      \"column\": \"Column | null\",\n      \"node\": \"IRowNode<TData> | null\",\n      \"value\": \"any\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"defaultItems\": \"/** Names of the items that would be provided by default. */\",\n      \"column\": \"/** The column, if a cell was clicked, otherwise null. */\",\n      \"node\": \"/** The row node, if a cell was clicked, otherwise null. */\",\n      \"value\": \"/** The value, if a cell was clicked, otherwise null.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetMainMenuItemsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"defaultItems\": \"string[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"column\": \"/** The column that was clicked */\",\n      \"defaultItems\": \"/** List of the items that would be displayed by default */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"PostProcessPopupParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"column?\": \"Column | null\",\n      \"rowNode?\": \"IRowNode<TData> | null\",\n      \"ePopup\": \"HTMLElement\",\n      \"type\": \"string\",\n      \"eventSource?\": \"HTMLElement | null\",\n      \"mouseEvent?\": \"MouseEvent | Touch | null\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"column?\": \"/** If popup is for a column, this gives the Column */\",\n      \"rowNode?\": \"/** If popup is for a row, this gives the RowNode */\",\n      \"ePopup\": \"/** The popup we are showing */\",\n      \"type\": \"/** The different types are:\\n     *  'contextMenu', 'columnMenu', 'aggFuncSelect', 'popupCellEditor' */\",\n      \"eventSource?\": \"/** If the popup is as a result of a button click (eg menu button),\\n     *  this is the component that the user clicked */\",\n      \"mouseEvent?\": \"/** If the popup is as a result of a click or touch,\\n     *  this is the event - eg user showing context menu */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"SendToClipboardParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ProcessDataFromClipboardParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"string[][]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"data\": \"/** 2D array of all cells from the clipboard */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetChartToolbarItemsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"defaultItems?\": \"ChartMenuOptions[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"NavigateToNextHeaderParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"key\": \"string\",\n      \"previousHeaderPosition\": \"HeaderPosition | null\",\n      \"nextHeaderPosition\": \"HeaderPosition | null\",\n      \"headerRowCount\": \"number\",\n      \"event\": \"KeyboardEvent\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"key\": \"/** The key for the arrow key pressed,\\n     *  left = 'ArrowLeft', up = 'ArrowUp', right = 'ArrowRight', down = 'ArrowDown' */\",\n      \"previousHeaderPosition\": \"/** The header that currently has focus */\",\n      \"nextHeaderPosition\": \"/** The header the grid would normally pick as the next header for this navigation */\",\n      \"headerRowCount\": \"/** The number of header rows present in the grid */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"TabToNextHeaderParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"backwards\": \"boolean\",\n      \"previousHeaderPosition\": \"HeaderPosition | null\",\n      \"nextHeaderPosition\": \"HeaderPosition | null\",\n      \"headerRowCount\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"backwards\": \"/** True if the Shift key is also down */\",\n      \"previousHeaderPosition\": \"/** The header that currently has focus */\",\n      \"nextHeaderPosition\": \"/** The header the grid would normally pick as the next header for this navigation */\",\n      \"headerRowCount\": \"/** The number of header rows present in the grid */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"TabToNextCellParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"backwards\": \"boolean\",\n      \"editing\": \"boolean\",\n      \"previousCellPosition\": \"CellPosition\",\n      \"nextCellPosition\": \"CellPosition | null\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"backwards\": \"/** True if the Shift key is also down */\",\n      \"editing\": \"/** True if the current cell is editing\\n     * (you may want to skip cells that are not editable, as the grid will enter the next cell in editing mode also if tabbing) */\",\n      \"previousCellPosition\": \"/** The cell that currently has focus */\",\n      \"nextCellPosition\": \"/** The cell the grid would normally pick as the next cell for navigation.  */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"NavigateToNextCellParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"key\": \"string\",\n      \"previousCellPosition\": \"CellPosition\",\n      \"nextCellPosition\": \"CellPosition | null\",\n      \"event\": \"KeyboardEvent | null\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"key\": \"/** The keycode for the arrow key pressed:\\n     *  left = 'ArrowLeft', up = 'ArrowUp', right = 'ArrowRight', down = 'ArrowDown' */\",\n      \"previousCellPosition\": \"/** The cell that currently has focus */\",\n      \"nextCellPosition\": \"/** The cell the grid would normally pick as the next cell for navigation */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"PaginationNumberFormatterParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"value\": \"number\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IsGroupOpenByDefaultParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"rowNode\": \"IRowNode<TData>\",\n      \"rowGroupColumn\": \"Column\",\n      \"level\": \"number\",\n      \"field\": \"string\",\n      \"key\": \"string\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"rowNode\": \"/** The row node being considered. */\",\n      \"rowGroupColumn\": \"/** The Column for which this row is grouping. */\",\n      \"level\": \"/** Same as `rowNode.level` - what level the group is at, e.g. 0 for top level, 1 for second etc */\",\n      \"field\": \"/** Same as `rowNode.field` - the field we are grouping on, e.g. 'country' */\",\n      \"key\": \"/** Same as `rowNode.key`, the value of this group, e.g. 'Ireland' */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetServerSideGroupLevelParamsParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"level\": \"number\",\n      \"parentRowNode?\": \"IRowNode\",\n      \"rowGroupColumns\": \"Column[]\",\n      \"pivotColumns\": \"Column[]\",\n      \"pivotMode\": \"boolean\",\n      \"api\": \"GridApi<any>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"level\": \"/** The level of the store. Top level is 0. */\",\n      \"parentRowNode?\": \"/** The Row Node for the group that got expanded, or undefined if top level (ie no parent) */\",\n      \"rowGroupColumns\": \"/** Active Row Group Columns, if any. */\",\n      \"pivotColumns\": \"/** Active Pivot Columns, if any. */\",\n      \"pivotMode\": \"/** true if pivot mode is active. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetServerSideStoreParamsParams\": {\n    \"meta\": {\n      \"doc\": \"/** @deprecated use GetServerSideGroupLevelParamsParams instead */\"\n    },\n    \"type\": {\n      \"level\": \"number\",\n      \"parentRowNode?\": \"IRowNode\",\n      \"rowGroupColumns\": \"Column[]\",\n      \"pivotColumns\": \"Column[]\",\n      \"pivotMode\": \"boolean\",\n      \"api\": \"GridApi<any>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"level\": \"/** The level of the store. Top level is 0. */\",\n      \"parentRowNode?\": \"/** The Row Node for the group that got expanded, or undefined if top level (ie no parent) */\",\n      \"rowGroupColumns\": \"/** Active Row Group Columns, if any. */\",\n      \"pivotColumns\": \"/** Active Pivot Columns, if any. */\",\n      \"pivotMode\": \"/** true if pivot mode is active. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IsServerSideGroupOpenByDefaultParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"data\": \"any\",\n      \"rowNode\": \"IRowNode\",\n      \"api\": \"GridApi<any>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IsApplyServerSideTransactionParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"transaction\": \"ServerSideTransaction\",\n      \"parentNode\": \"IRowNode\",\n      \"storeInfo\": \"any\",\n      \"groupLevelInfo\": \"any\",\n      \"api\": \"GridApi<any>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"transaction\": \"/** The transaction getting applied. */\",\n      \"parentNode\": \"/** The parent RowNode, if transaction is applied to a group. */\",\n      \"storeInfo\": \"/** @deprecated use groupLevelInfo instead */\",\n      \"groupLevelInfo\": \"/** Store info, if any, as passed via the success() callback when loading data. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetRowIdParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData\",\n      \"level\": \"number\",\n      \"parentKeys?\": \"string[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"data\": \"/** The data item provided to the grid for the row in question */\",\n      \"level\": \"/** If grouping, the level, ie how many levels from the top. Used by ServerSide Row Model only */\",\n      \"parentKeys?\": \"/** If grouping, provides the keys of the parent groups. Used by ServerSide Row Model only */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ProcessRowParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"eRow\": \"HTMLElement\",\n      \"ePinnedLeftRow?\": \"HTMLElement\",\n      \"ePinnedRightRow?\": \"HTMLElement\",\n      \"rowIndex\": \"number\",\n      \"node\": \"IRowNode<TData>\",\n      \"addRenderedRowListener\": \"(eventType: string, listener: Function) => void\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"FillOperationParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"event\": \"MouseEvent\",\n      \"values\": \"any[]\",\n      \"rowNode\": \"IRowNode<TData>\",\n      \"column\": \"Column\",\n      \"initialValues\": \"any[]\",\n      \"currentIndex\": \"number\",\n      \"currentCellValue\": \"any\",\n      \"direction\": \"'up' | 'down' | 'left' | 'right'\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"event\": \"/** The mouse event for the fill operation. */\",\n      \"values\": \"/** The values that have been processed by the fill operation. */\",\n      \"rowNode\": \"/** The RowNode of the current cell being changed. */\",\n      \"column\": \"/** The Column of the current cell being changed. */\",\n      \"initialValues\": \"/** The values that were present before processing started. */\",\n      \"currentIndex\": \"/** The index of the current processed value. */\",\n      \"currentCellValue\": \"/** The value of the cell being currently processed by the Fill Operation. */\",\n      \"direction\": \"/** The direction of the Fill Operation. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"RowHeightParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"data\": \"/** The data associated with this row from rowData. Data is `undefined` for row groups. */\",\n      \"node\": \"/** The RowNode of the row in question. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IsExternalFilterPresentParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"InitialGroupOrderComparatorParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"nodeA\": \"IRowNode<TData>\",\n      \"nodeB\": \"IRowNode<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetGroupRowAggParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"nodes\": \"IRowNode<TData>[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"PostSortRowsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"nodes\": \"IRowNode<TData>[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IsFullWidthRowParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"rowNode\": \"IRowNode<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetLocaleTextParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"key\": \"string\",\n      \"defaultValue\": \"string\",\n      \"variableValues?\": \"string[]\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetGroupAggFilteringParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ICellEditor\": {\n    \"meta\": {},\n    \"type\": {\n      \"getValue()\": \"any\",\n      \"isPopup?()\": \"boolean\",\n      \"getPopupPosition?()\": \"'over' | 'under' | undefined\",\n      \"isCancelBeforeStart?()\": \"boolean\",\n      \"isCancelAfterEnd?()\": \"boolean\",\n      \"focusIn?()\": \"void\",\n      \"focusOut?()\": \"void\",\n      \"afterGuiAttached?()\": \"void\"\n    },\n    \"docs\": {\n      \"getValue()\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"isPopup?()\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"getPopupPosition?()\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"isCancelBeforeStart?()\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"isCancelAfterEnd?()\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"focusIn?()\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"focusOut?()\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"ICellEditorParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"type\": {\n      \"value\": \"TValue\",\n      \"eventKey\": \"string | null\",\n      \"charPress\": \"string | null\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData\",\n      \"rowIndex\": \"number\",\n      \"cellStartedEdit\": \"boolean\",\n      \"onKeyDown\": \"(event: KeyboardEvent) => void\",\n      \"stopEditing\": \"(suppressNavigateAfterEdit?: boolean) => void\",\n      \"eGridCell\": \"HTMLElement\",\n      \"parseValue\": \"(value: any) => any\",\n      \"formatValue\": \"(value: any) => any\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"value\": \"/** Current value of the cell */\",\n      \"eventKey\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"charPress\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"column\": \"/** Grid column */\",\n      \"colDef\": \"/** Column definition */\",\n      \"node\": \"/** Row node for the cell */\",\n      \"data\": \"/** Row data */\",\n      \"rowIndex\": \"/** Editing row index */\",\n      \"cellStartedEdit\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"onKeyDown\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"stopEditing\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"eGridCell\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"parseValue\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"formatValue\": \"/** Utility function to format a value using the column's `colDef.valueFormatter` */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ICellEditorComp\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"getValue()\": \"any\",\n      \"isPopup?()\": \"boolean\",\n      \"getPopupPosition?()\": \"'over' | 'under' | undefined\",\n      \"isCancelBeforeStart?()\": \"boolean\",\n      \"isCancelAfterEnd?()\": \"boolean\",\n      \"focusIn?()\": \"void\",\n      \"focusOut?()\": \"void\",\n      \"afterGuiAttached?()\": \"void\",\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: T)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getValue()\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"isPopup?()\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"getPopupPosition?()\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"isCancelBeforeStart?()\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"isCancelAfterEnd?()\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"focusIn?()\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"focusOut?()\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: T)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"ChartGroupsDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"columnGroup?\": \"('column' | 'stackedColumn' | 'normalizedColumn')[]\",\n      \"barGroup?\": \"('bar' | 'stackedBar' | 'normalizedBar')[]\",\n      \"pieGroup?\": \"('pie' | 'doughnut')[]\",\n      \"lineGroup?\": \"('line')[]\",\n      \"scatterGroup?\": \"('scatter' | 'bubble')[]\",\n      \"areaGroup?\": \"('area' | 'stackedArea' | 'normalizedArea')[]\",\n      \"histogramGroup?\": \"('histogram')[]\",\n      \"combinationGroup?\": \"('columnLineCombo' | 'areaColumnCombo' | 'customCombo')[]\"\n    }\n  },\n  \"ChartToolPanelName\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'settings' | 'data' | 'format'\"\n  },\n  \"ChartSettingsPanel\": {\n    \"meta\": {},\n    \"type\": { \"chartGroupsDef?\": \"ChartGroupsDef\" },\n    \"docs\": {\n      \"chartGroupsDef?\": \"/** Chart groups customisations for which charts are displayed in the settings panel */\"\n    }\n  },\n  \"ChartFormatPanelGroup\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'chart' | 'legend' | 'axis' | 'series' | 'navigator'\"\n  },\n  \"ChartDataPanelGroup\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'categories' | 'series' | 'seriesChartType'\"\n  },\n  \"ChartPanelGroupDef\": {\n    \"meta\": { \"typeParams\": [\"GroupType\"] },\n    \"type\": { \"type\": \"GroupType\", \"isOpen?\": \"boolean\" },\n    \"docs\": {\n      \"type\": \"/** The panel group type */\",\n      \"isOpen?\": \"/** Whether the panel group is open by default. If not specified, it is closed */\"\n    }\n  },\n  \"ChartFormatPanel\": {\n    \"meta\": {},\n    \"type\": { \"groups?\": \"ChartPanelGroupDef<ChartFormatPanelGroup>[]\" },\n    \"docs\": {\n      \"groups?\": \"/** The format panel group configurations, their order and whether they are shown. If not specified shows all groups */\"\n    }\n  },\n  \"ChartDataPanel\": {\n    \"meta\": {},\n    \"type\": { \"groups?\": \"ChartPanelGroupDef<ChartDataPanelGroup>[]\" },\n    \"docs\": {\n      \"groups?\": \"/** The data panel group configurations, their order and whether they are shown. If not specified shows all groups */\"\n    }\n  },\n  \"ChartToolPanelsDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"settingsPanel?\": \"ChartSettingsPanel\",\n      \"formatPanel?\": \"ChartFormatPanel\",\n      \"dataPanel?\": \"ChartDataPanel\",\n      \"panels?\": \"ChartToolPanelName[]\",\n      \"defaultToolPanel?\": \"ChartToolPanelName\"\n    },\n    \"docs\": {\n      \"settingsPanel?\": \"/** Customisations for the settings panel and chart menu items in the Context Menu. */\",\n      \"formatPanel?\": \"/** Customisations for the format panel */\",\n      \"dataPanel?\": \"/** Customisations for the data panel */\",\n      \"panels?\": \"/** The ordered list of panels to show in the chart tool panels. If none specified, all panels are shown */\",\n      \"defaultToolPanel?\": \"/** The panel to open by default when the chart loads. If none specified, the tool panel is hidden by default and the first panel is open when triggered. */\"\n    }\n  },\n  \"ChartType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'column' | 'groupedColumn' | 'stackedColumn' | 'normalizedColumn' | 'bar' | 'groupedBar' | 'stackedBar' | 'normalizedBar' | 'line' | 'scatter' | 'bubble' | 'pie' | 'doughnut' | 'area' | 'stackedArea' | 'normalizedArea' | 'histogram' | 'columnLineCombo' | 'areaColumnCombo' | 'customCombo'\"\n  },\n  \"CrossFilterChartType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'column' | 'bar' | 'line' | 'scatter' | 'bubble' | 'pie' | 'doughnut' | 'area'\"\n  },\n  \"ChartToolPanelMenuOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'chartSettings' | 'chartData' | 'chartFormat'\"\n  },\n  \"ChartToolbarMenuItemOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'chartLink' | 'chartUnlink' | 'chartDownload'\"\n  },\n  \"ChartMenuOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"ChartToolPanelMenuOptions | ChartToolbarMenuItemOptions\"\n  },\n  \"SeriesChartType\": {\n    \"meta\": {},\n    \"type\": {\n      \"colId\": \"string\",\n      \"chartType\": \"ChartType\",\n      \"secondaryAxis?\": \"boolean\"\n    }\n  },\n  \"GetChartImageDataUrlParams\": {\n    \"meta\": {},\n    \"type\": { \"chartId\": \"string\", \"fileFormat?\": \"string\" },\n    \"docs\": {\n      \"chartId\": \"/** The id of the created chart. */\",\n      \"fileFormat?\": \"/** A string indicating the image format.\\n     * The default format type is `image/png`.\\n     * Options: `image/png`, `image/jpeg`\\n     */\"\n    }\n  },\n  \"ChartDownloadParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"chartId\": \"string\",\n      \"fileName?\": \"string\",\n      \"fileFormat?\": \"string\",\n      \"dimensions?\": \"{ width: number; height: number; }\"\n    },\n    \"docs\": {\n      \"chartId\": \"/** The id of the created chart. */\",\n      \"fileName?\": \"/** Name of downloaded image file. The chart title will be used by default */\",\n      \"fileFormat?\": \"/** A string indicating the image format.\\n     * The default format type is `image/png`.\\n     * Options: `image/png`, `image/jpeg`\\n     */\",\n      \"dimensions?\": \"/** Dimensions of downloaded chart image in pixels. The current chart dimensions will be used if not specified.\\n     */\"\n    }\n  },\n  \"CloseChartToolPanelParams\": {\n    \"meta\": {},\n    \"type\": { \"chartId\": \"string\" },\n    \"docs\": { \"chartId\": \"/** The id of the created chart. */\" }\n  },\n  \"ChartModelType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'range' | 'pivot'\"\n  },\n  \"OpenChartToolPanelParams\": {\n    \"meta\": {},\n    \"type\": { \"chartId\": \"string\", \"panel?\": \"ChartToolPanelName\" },\n    \"docs\": {\n      \"chartId\": \"/** The id of the created chart. */\",\n      \"panel?\": \"/** Name of the Chart Tool Panel. The default 'Settings' Tool Panel will be used if not specified.*/\"\n    }\n  },\n  \"ChartModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"version?\": \"string\",\n      \"modelType\": \"ChartModelType\",\n      \"chartId\": \"string\",\n      \"chartType\": \"ChartType\",\n      \"cellRange\": \"CellRangeParams\",\n      \"chartThemeName?\": \"string\",\n      \"chartOptions\": \"AgChartThemeOverrides\",\n      \"chartPalette?\": \"AgChartThemePalette\",\n      \"suppressChartRanges?\": \"boolean\",\n      \"aggFunc?\": \"string | IAggFunc\",\n      \"unlinkChart?\": \"boolean\",\n      \"seriesChartTypes?\": \"SeriesChartType[]\"\n    }\n  },\n  \"IChartService\": {\n    \"meta\": {},\n    \"type\": {\n      \"getChartModels()\": \"ChartModel[]\",\n      \"getChartRef(chartId: string)\": \"ChartRef | undefined\",\n      \"createRangeChart(params: CreateRangeChartParams)\": \"ChartRef | undefined\",\n      \"createCrossFilterChart(params: CreateCrossFilterChartParams)\": \"ChartRef | undefined\",\n      \"createChartFromCurrentRange(chartType: ChartType)\": \"ChartRef | undefined\",\n      \"createPivotChart(params: CreatePivotChartParams)\": \"ChartRef | undefined\",\n      \"restoreChart(model: ChartModel, chartContainer?: HTMLElement)\": \"ChartRef | undefined\",\n      \"getChartImageDataURL(params: GetChartImageDataUrlParams)\": \"string | undefined\",\n      \"downloadChart(params: ChartDownloadParams)\": \"void\",\n      \"openChartToolPanel(params: OpenChartToolPanelParams)\": \"void\",\n      \"closeChartToolPanel(chartId: string)\": \"void\"\n    }\n  },\n  \"CreateChartParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"chartType\": \"ChartType\",\n      \"chartThemeName?\": \"string\",\n      \"chartContainer?\": \"HTMLElement\",\n      \"chartThemeOverrides?\": \"AgChartThemeOverrides\",\n      \"unlinkChart?\": \"boolean\"\n    },\n    \"docs\": {\n      \"chartType\": \"/** The type of chart to create. */\",\n      \"chartThemeName?\": \"/** The default theme to use, either a default option or your own custom theme. */\",\n      \"chartContainer?\": \"/** Provide to display the chart outside of the grid in your own container. */\",\n      \"chartThemeOverrides?\": \"/** Allows specific chart options in the current theme to be overridden. */\",\n      \"unlinkChart?\": \"/** When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart. */\"\n    }\n  },\n  \"ChartParamsCellRange\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"Partial<Omit<CellRangeParams, 'rowStartPinned' | 'rowEndPinned'>>\"\n  },\n  \"CreateRangeChartParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"cellRange\": \"ChartParamsCellRange\",\n      \"suppressChartRanges?\": \"boolean\",\n      \"aggFunc?\": \"string | IAggFunc\",\n      \"seriesChartTypes?\": \"SeriesChartType[]\",\n      \"chartType\": \"ChartType\",\n      \"chartThemeName?\": \"string\",\n      \"chartContainer?\": \"HTMLElement\",\n      \"chartThemeOverrides?\": \"AgChartThemeOverrides\",\n      \"unlinkChart?\": \"boolean\"\n    },\n    \"docs\": {\n      \"cellRange\": \"/** The range of cells to be charted. If no rows / rowIndexes are specified all rows will be included. */\",\n      \"suppressChartRanges?\": \"/** Suppress highlighting the selected range in the grid. */\",\n      \"aggFunc?\": \"/** The aggregation function that should be applied to all series data. */\",\n      \"seriesChartTypes?\": \"/** The series chart type configurations used in combination charts */\",\n      \"chartType\": \"/** The type of chart to create. */\",\n      \"chartThemeName?\": \"/** The default theme to use, either a default option or your own custom theme. */\",\n      \"chartContainer?\": \"/** Provide to display the chart outside of the grid in your own container. */\",\n      \"chartThemeOverrides?\": \"/** Allows specific chart options in the current theme to be overridden. */\",\n      \"unlinkChart?\": \"/** When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart. */\"\n    }\n  },\n  \"CreateCrossFilterChartParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"chartType\": \"CrossFilterChartType\",\n      \"cellRange\": \"ChartParamsCellRange\",\n      \"suppressChartRanges?\": \"boolean\",\n      \"aggFunc?\": \"string | IAggFunc\",\n      \"chartThemeName?\": \"string\",\n      \"chartContainer?\": \"HTMLElement\",\n      \"chartThemeOverrides?\": \"AgChartThemeOverrides\",\n      \"unlinkChart?\": \"boolean\"\n    },\n    \"docs\": {\n      \"chartType\": \"/** The type of cross-filter chart to create. */\",\n      \"cellRange\": \"/** The range of cells to be charted. If no rows / rowIndexes are specified all rows will be included. */\",\n      \"suppressChartRanges?\": \"/** Suppress highlighting the selected range in the grid. */\",\n      \"aggFunc?\": \"/** The aggregation function that should be applied to all series data. */\",\n      \"chartThemeName?\": \"/** The default theme to use, either a default option or your own custom theme. */\",\n      \"chartContainer?\": \"/** Provide to display the chart outside of the grid in your own container. */\",\n      \"chartThemeOverrides?\": \"/** Allows specific chart options in the current theme to be overridden. */\",\n      \"unlinkChart?\": \"/** When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart. */\"\n    }\n  },\n  \"CreatePivotChartParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"chartType\": \"ChartType\",\n      \"chartThemeName?\": \"string\",\n      \"chartContainer?\": \"HTMLElement\",\n      \"chartThemeOverrides?\": \"AgChartThemeOverrides\",\n      \"unlinkChart?\": \"boolean\"\n    },\n    \"docs\": {\n      \"chartType\": \"/** The type of chart to create. */\",\n      \"chartThemeName?\": \"/** The default theme to use, either a default option or your own custom theme. */\",\n      \"chartContainer?\": \"/** Provide to display the chart outside of the grid in your own container. */\",\n      \"chartThemeOverrides?\": \"/** Allows specific chart options in the current theme to be overridden. */\",\n      \"unlinkChart?\": \"/** When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart. */\"\n    }\n  },\n  \"ClientSideRowModelStep\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'everything' | 'group' | 'filter' | 'pivot' | 'aggregate' | 'sort' | 'map'\"\n  },\n  \"ClientSideRowModelSteps\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"EVERYTHING = 'group'\",\n      \"FILTER = 'filter'\",\n      \"SORT = 'sort'\",\n      \"MAP = 'map'\",\n      \"AGGREGATE = 'aggregate'\",\n      \"FILTER_AGGREGATES = 'filter_aggregates'\",\n      \"PIVOT = 'pivot'\",\n      \"NOTHING = 'nothing'\"\n    ],\n    \"docs\": [null, null, null, null, null, null, null, null]\n  },\n  \"IClientSideRowModel\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"onRowGroupOpened()\": \"void\",\n      \"updateRowData(rowDataTran: RowDataTransaction<TData>, rowNodeOrder?: { [id: string]: number; } | null)\": \"RowNodeTransaction<TData> | null\",\n      \"setRowData(rowData: any[])\": \"void\",\n      \"refreshModel(paramsOrStep: RefreshModelParams | ClientSideRowModelStep | undefined)\": \"void\",\n      \"expandOrCollapseAll(expand: boolean)\": \"void\",\n      \"forEachLeafNode(callback: (node: RowNode, index: number) => void)\": \"void\",\n      \"forEachNodeAfterFilter(callback: (node: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"void\",\n      \"forEachNodeAfterFilterAndSort(callback: (node: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"void\",\n      \"forEachPivotNode(callback: (node: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"void\",\n      \"resetRowHeights()\": \"void\",\n      \"onRowHeightChanged()\": \"void\",\n      \"onRowHeightChangedDebounced()\": \"void\",\n      \"batchUpdateRowData(rowDataTransaction: RowDataTransaction<TData>, callback?: (res: RowNodeTransaction<TData>) => void)\": \"void\",\n      \"flushAsyncTransactions()\": \"void\",\n      \"getRootNode()\": \"RowNode\",\n      \"doAggregate(changedPath?: ChangedPath)\": \"void\",\n      \"getTopLevelNodes()\": \"RowNode[] | null\",\n      \"ensureRowsAtPixel(rowNode: RowNode[], pixel: number, increment: number)\": \"boolean\",\n      \"highlightRowAtPixel(rowNode: RowNode | null, pixel?: number)\": \"void\",\n      \"getHighlightPosition(pixel: number, rowNode?: RowNode)\": \"RowHighlightPosition\",\n      \"getLastHighlightedRowNode()\": \"RowNode | null\",\n      \"getRow(index: number)\": \"RowNode | undefined\",\n      \"getRowNode(id: string)\": \"RowNode | undefined\",\n      \"getRowCount()\": \"number\",\n      \"getTopLevelRowCount()\": \"number\",\n      \"getTopLevelRowDisplayedIndex(topLevelIndex: number)\": \"number\",\n      \"getRowIndexAtPixel(pixel: number)\": \"number\",\n      \"isRowPresent(rowNode: RowNode)\": \"boolean\",\n      \"getRowBounds(index: number)\": \"RowBounds | null\",\n      \"isEmpty()\": \"boolean\",\n      \"isRowsToRender()\": \"boolean\",\n      \"getNodesInRangeForSelection(first: RowNode, last: RowNode | null)\": \"RowNode[]\",\n      \"forEachNode(callback: (rowNode: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"void\",\n      \"getType()\": \"RowModelType\",\n      \"isLastRowIndexKnown()\": \"boolean\",\n      \"ensureRowHeightsValid(startPixel: number, endPixel: number, startLimitIndex: number, endLimitIndex: number)\": \"boolean\",\n      \"start()\": \"void\"\n    },\n    \"docs\": {\n      \"getRow(index: number)\": \"/** Returns the rowNode at the given index. */\",\n      \"getRowNode(id: string)\": \"/** Returns the rowNode for given id. */\",\n      \"getRowCount()\": \"/** Returns the number of rows */\",\n      \"getRowIndexAtPixel(pixel: number)\": \"/** Returns the row index at the given pixel */\",\n      \"isRowPresent(rowNode: RowNode)\": \"/** Returns true if the provided rowNode is in the list of rows to render */\",\n      \"getRowBounds(index: number)\": \"/** Returns row top and bottom for a given row */\",\n      \"isEmpty()\": \"/** Returns true if this model has no rows, regardless of model filter. EG if rows present, but filtered\\n     * out, this still returns false. If it returns true, then the grid shows the 'no rows' overlay - but we\\n     * don't show that overlay if the rows are just filtered out. */\",\n      \"isRowsToRender()\": \"/** Returns true if no rows (either no rows at all, or the rows are filtered out). This is what the grid\\n     * uses to know if there are rows to render or not. */\",\n      \"getNodesInRangeForSelection(first: RowNode, last: RowNode | null)\": \"/** Returns all rows in range that should be selected. If there is a gap in range (non ClientSideRowModel) then\\n     *  then no rows should be returned  */\",\n      \"forEachNode(callback: (rowNode: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"/** Iterate through each node. What this does depends on the model type. For clientSide, goes through\\n     * all nodes. For serverSide, goes through what's loaded in memory. */\",\n      \"getType()\": \"/** The base class returns the type. We use this instead of 'instanceof' as the client might provide\\n     * their own implementation of the models in the future. */\",\n      \"isLastRowIndexKnown()\": \"/** It tells us if this row model knows about the last row that it can produce. This is used by the\\n     * PaginationPanel, if last row is not found, then the 'last' button is disabled and the last page is\\n     * not shown. This is always true for ClientSideRowModel. It toggles for InfiniteRowModel.\\n     */\",\n      \"ensureRowHeightsValid(startPixel: number, endPixel: number, startLimitIndex: number, endLimitIndex: number)\": \"/** Used by CSRM only - is makes sure there are now estimated row heights within the range. */\",\n      \"start()\": \"/** Gets called after grid is initialised. What happens depends on row model. Client Side will take rowData\\n     * from gridOptions, the other row models will start calling their datasources. */\"\n    }\n  },\n  \"RefreshModelParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"step\": \"ClientSideRowModelSteps\",\n      \"groupState?\": \"any\",\n      \"keepRenderedRows?\": \"boolean\",\n      \"animate?\": \"boolean\",\n      \"keepEditingRows?\": \"boolean\",\n      \"rowNodeTransactions?\": \"RowNodeTransaction<TData>[]\",\n      \"rowNodeOrder?\": \"{ [id: string]: number; }\",\n      \"newData?\": \"boolean\",\n      \"afterColumnsChanged?\": \"boolean\",\n      \"keepUndoRedoStack?\": \"boolean\"\n    }\n  },\n  \"IClipboardCopyParams\": {\n    \"meta\": {},\n    \"type\": { \"includeHeaders?\": \"boolean\", \"includeGroupHeaders?\": \"boolean\" }\n  },\n  \"IClipboardCopyRowsParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"columnKeys?\": \"(string | Column)[]\",\n      \"includeHeaders?\": \"boolean\",\n      \"includeGroupHeaders?\": \"boolean\"\n    }\n  },\n  \"IClipboardService\": {\n    \"meta\": {},\n    \"type\": {\n      \"pasteFromClipboard()\": \"void\",\n      \"copyToClipboard(params?: IClipboardCopyParams)\": \"void\",\n      \"cutToClipboard(params?: IClipboardCopyParams)\": \"void\",\n      \"copySelectedRowsToClipboard(params?: IClipboardCopyRowsParams)\": \"void\",\n      \"copySelectedRangeToClipboard(params?: IClipboardCopyParams)\": \"void\",\n      \"copyRangeDown()\": \"void\"\n    }\n  },\n  \"IColumnToolPanel\": {\n    \"meta\": {},\n    \"type\": {\n      \"expandColumnGroups(groupIds?: string[])\": \"void\",\n      \"collapseColumnGroups(groupIds?: string[])\": \"void\",\n      \"setColumnLayout(colDefs: (ColDef | ColGroupDef)[])\": \"void\",\n      \"syncLayoutWithGrid()\": \"void\",\n      \"setPivotModeSectionVisible(visible: boolean)\": \"void\",\n      \"setRowGroupsSectionVisible(visible: boolean)\": \"void\",\n      \"setValuesSectionVisible(visible: boolean)\": \"void\",\n      \"setPivotSectionVisible(visible: boolean)\": \"void\",\n      \"refresh()\": \"void\"\n    }\n  },\n  \"ColumnVO\": {\n    \"meta\": {},\n    \"type\": {\n      \"id\": \"string\",\n      \"displayName\": \"string\",\n      \"field?\": \"string\",\n      \"aggFunc?\": \"string\"\n    }\n  },\n  \"WithoutGridCommon\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"T extends AgGridCommon<any, any>\"]\n    },\n    \"type\": \"Omit<T, keyof AgGridCommon<any, any>>\"\n  },\n  \"AgGridCommon\": {\n    \"meta\": { \"typeParams\": [\"TData\", \"TContext\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IComponent\": {\n    \"meta\": {\n      \"typeParams\": [\"T\"],\n      \"doc\": \"/** This is for User Components only, do not implement this for internal components. */\"\n    },\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: T)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: T)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"IContextMenuFactory\": {\n    \"meta\": {},\n    \"type\": {\n      \"onContextMenu(mouseEvent: MouseEvent | null, touchEvent: TouchEvent | null, rowNode: RowNode | null, column: Column | null, value: any, anchorToElement: HTMLElement)\": \"void\",\n      \"hideActiveMenu()\": \"void\"\n    }\n  },\n  \"ICsvCreator\": {\n    \"meta\": {},\n    \"type\": {\n      \"getDataAsCsv(params?: CsvExportParams, skipDefaultParams?: boolean)\": \"string\",\n      \"exportDataAsCsv(params?: CsvExportParams)\": \"string\"\n    }\n  },\n  \"IDatasource\": {\n    \"meta\": {\n      \"doc\": \"/** Datasource used by both PaginationController and InfiniteRowModel */\"\n    },\n    \"type\": {\n      \"rowCount?\": \"number\",\n      \"getRows(params: IGetRowsParams)\": \"void\",\n      \"destroy?()\": \"void\"\n    },\n    \"docs\": {\n      \"rowCount?\": \"/** If you know up front how many rows are in the dataset, set it here. Otherwise leave blank. */\",\n      \"getRows(params: IGetRowsParams)\": \"/** Callback the grid calls that you implement to fetch rows from the server. */\",\n      \"destroy?()\": \"/** Optional destroy method, if your datasource has state it needs to clean up. */\"\n    }\n  },\n  \"IGetRowsParams\": {\n    \"meta\": { \"doc\": \"/** Params for the above IDatasource.getRows() */\" },\n    \"type\": {\n      \"startRow\": \"number\",\n      \"endRow\": \"number\",\n      \"successCallback(rowsThisBlock: any[], lastRow?: number)\": \"void\",\n      \"failCallback()\": \"void\",\n      \"sortModel\": \"SortModelItem[]\",\n      \"filterModel\": \"any\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"startRow\": \"/** The first row index to get. */\",\n      \"endRow\": \"/** The first row index to NOT get. */\",\n      \"successCallback(rowsThisBlock: any[], lastRow?: number)\": \"/** Callback to call for the result when successful. */\",\n      \"failCallback()\": \"/** Callback to call when the request fails. */\",\n      \"sortModel\": \"/** If doing server side sorting, contains the sort model */\",\n      \"filterModel\": \"/** If doing server side filtering, contains the filter model */\",\n      \"context\": \"/** The context as provided on `gridOptions.context` */\"\n    }\n  },\n  \"IEventEmitter\": {\n    \"meta\": {},\n    \"type\": {\n      \"addEventListener(eventType: string, listener: EventListener, async?: boolean, options?: AddEventListenerOptions)\": \"void\",\n      \"removeEventListener(eventType: string, listener: EventListener, async?: boolean, options?: AddEventListenerOptions)\": \"void\"\n    }\n  },\n  \"ExcelStyle\": {\n    \"meta\": {},\n    \"type\": {\n      \"id\": \"string\",\n      \"alignment?\": \"ExcelAlignment\",\n      \"borders?\": \"ExcelBorders\",\n      \"dataType?\": \"ExcelDataType\",\n      \"font?\": \"ExcelFont\",\n      \"interior?\": \"ExcelInterior\",\n      \"numberFormat?\": \"ExcelNumberFormat\",\n      \"protection?\": \"ExcelProtection\",\n      \"name?\": \"string\"\n    },\n    \"docs\": {\n      \"id\": \"/** The id of the Excel Style, this should match a CSS cell class. */\",\n      \"alignment?\": \"/** Use this property to customise cell alignment properties. */\",\n      \"borders?\": \"/** Use this property to customise cell borders. */\",\n      \"dataType?\": \"/** Use this property to specify the type of data being exported. */\",\n      \"font?\": \"/** Use this property to customise the font used in the cell. */\",\n      \"interior?\": \"/** Use this property to customise the cell background. */\",\n      \"numberFormat?\": \"/** Use this property to customise the cell value as a formatted number. */\",\n      \"protection?\": \"/** Use this property to setup cell protection. */\",\n      \"name?\": \"/** @deprecated Legacy property\\n     */\"\n    }\n  },\n  \"ExcelAlignment\": {\n    \"meta\": {},\n    \"type\": {\n      \"horizontal?\": \"'Automatic' | 'Left' | 'Center' | 'Right' | 'Fill' | 'Justify' | 'CenterAcrossSelection' | 'Distributed' | 'JustifyDistributed'\",\n      \"indent?\": \"number\",\n      \"readingOrder?\": \"'RightToLeft' | 'LeftToRight' | 'Context'\",\n      \"rotate?\": \"number\",\n      \"shrinkToFit?\": \"boolean\",\n      \"vertical?\": \"'Automatic' | 'Top' | 'Bottom' | 'Center' | 'Justify' | 'Distributed' | 'JustifyDistributed'\",\n      \"wrapText?\": \"boolean\",\n      \"verticalText?\": \"boolean\"\n    },\n    \"docs\": {\n      \"horizontal?\": \"/** Use this property to change the cell horizontal alignment.\\n     * Default: `Automatic`\\n     */\",\n      \"indent?\": \"/** Use this property to change the level of indentation in the cell.\\n     * Default: 0\\n     */\",\n      \"readingOrder?\": \"/** Use this property to change the cell reading order.\\n     * Default: `LeftToRight`\\n     */\",\n      \"rotate?\": \"/** The number of degrees between 0 and 359 to rotate the text.\\n     * Default: `0`\\n     */\",\n      \"shrinkToFit?\": \"/** If set to `true`, the font size of the cell will automatically change to force the text to fit within the cell.\\n     * Default: `false`\\n     */\",\n      \"vertical?\": \"/** Use this property to change the cell vertical alignment.\\n     * Default: `Automatic`\\n     */\",\n      \"wrapText?\": \"/** If set to `true`, multiline text will be displayed as multiline by Excel.\\n     * Default: `false`\\n     */\",\n      \"verticalText?\": \"/** @deprecated Legacy property\\n     */\"\n    }\n  },\n  \"ExcelBorders\": {\n    \"meta\": {},\n    \"type\": {\n      \"borderBottom?\": \"ExcelBorder\",\n      \"borderLeft?\": \"ExcelBorder\",\n      \"borderRight?\": \"ExcelBorder\",\n      \"borderTop?\": \"ExcelBorder\"\n    },\n    \"docs\": {\n      \"borderBottom?\": \"/** Use to set the cell's bottom border. */\",\n      \"borderLeft?\": \"/** Use to set the cell's left border. */\",\n      \"borderRight?\": \"/** Use to set the cell's right border. */\",\n      \"borderTop?\": \"/** Use to set the cell's top border. */\"\n    }\n  },\n  \"ExcelBorder\": {\n    \"meta\": {},\n    \"type\": {\n      \"color?\": \"string\",\n      \"lineStyle?\": \"'None' | 'Continuous' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot' | 'SlantDashDot' | 'Double'\",\n      \"weight?\": \"0 | 1 | 2 | 3\"\n    },\n    \"docs\": {\n      \"color?\": \"/** The color or the border.\\n     * Default: `black`\\n     */\",\n      \"lineStyle?\": \"/** The style of the border.\\n     * Default: `None`\\n     */\",\n      \"weight?\": \"/** The thickness of the border from 0 (thin) to 3 (thick).\\n     * Default: `0`\\n     */\"\n    }\n  },\n  \"ExcelFont\": {\n    \"meta\": {},\n    \"type\": {\n      \"bold?\": \"boolean\",\n      \"color?\": \"string\",\n      \"family?\": \"string\",\n      \"fontName?\": \"string\",\n      \"italic?\": \"boolean\",\n      \"outline?\": \"boolean\",\n      \"shadow?\": \"boolean\",\n      \"size?\": \"number\",\n      \"strikeThrough?\": \"boolean\",\n      \"underline?\": \"'Single' | 'Double'\",\n      \"verticalAlign?\": \"'Superscript' | 'Subscript'\",\n      \"charSet?\": \"number\"\n    },\n    \"docs\": {\n      \"bold?\": \"/** Set to `true` to set the cell text to bold.\\n     * Default: `false`\\n     */\",\n      \"color?\": \"/** The color of the cell font.\\n     * Default: `#000000`\\n     */\",\n      \"family?\": \"/** The family of the font to used in the cell.\\n     * Options: `Automatic`,`Roman`,`Swiss`,`Modern`,`Script`,`Decorative`,\\n     * Default: `Automatic`\\n     */\",\n      \"fontName?\": \"/** The name of the font to be used in the cell.\\n     * Default: `Calibri`\\n     */\",\n      \"italic?\": \"/** Set to `true` to display the cell font as italic.\\n     * Default: `false`\\n     */\",\n      \"outline?\": \"/** Set to `true` to add a text outline.\\n     * Default: `false`\\n     */\",\n      \"shadow?\": \"/** Set to `true` to add text shadow.\\n     * Default: `false`\\n     */\",\n      \"size?\": \"/** Set this property to used a different font size other than the default.\\n     */\",\n      \"strikeThrough?\": \"/** Set to `true` to add a strikeThrough line.\\n     * Default: `false`\\n     */\",\n      \"underline?\": \"/** Use this property to underline the cell text.     \\n     */\",\n      \"verticalAlign?\": \"/** Use this property to change the default font alignment. Note: This is different than setting cell vertical alignment. */\",\n      \"charSet?\": \"/** @deprecated Legacy property\\n     */\"\n    }\n  },\n  \"ExcelInterior\": {\n    \"meta\": {},\n    \"type\": {\n      \"pattern\": \"'None' | 'Solid' | 'Gray75' | 'Gray50' | 'Gray25' | 'Gray125' | 'Gray0625' | 'HorzStripe' | 'VertStripe' | 'ReverseDiagStripe' | 'DiagStripe' | 'DiagCross' | 'ThickDiagCross' | 'ThinHorzStripe' | 'ThinVertStripe' | 'ThinReverseDiagStripe' | 'ThinDiagStripe' | 'ThinHorzCross' | 'ThinDiagCross'\",\n      \"color?\": \"string\",\n      \"patternColor?\": \"string\"\n    },\n    \"docs\": {\n      \"pattern\": \"/** Use this property to set background color patterns. */\",\n      \"color?\": \"/** The colour to be used as a secondary colour combined with patterns. */\",\n      \"patternColor?\": \"/** The pattern color. */\"\n    }\n  },\n  \"ExcelNumberFormat\": {\n    \"meta\": {},\n    \"type\": { \"format\": \"string\" },\n    \"docs\": {\n      \"format\": \"/** Use this property to provide a pattern to format a number. (eg. 10000 could become $10,000.00). */\"\n    }\n  },\n  \"ExcelProtection\": {\n    \"meta\": {},\n    \"type\": { \"protected\": \"boolean\", \"hideFormula\": \"boolean\" },\n    \"docs\": {\n      \"protected\": \"/** Set to `false` to disable cell protection (locking)\\n     * Default: `true`\\n     */\",\n      \"hideFormula\": \"/** Set to `true` to hide formulas within protected cells.\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"ExcelWorksheet\": {\n    \"meta\": {},\n    \"type\": { \"name\": \"string\", \"table\": \"ExcelTable\" }\n  },\n  \"ExcelTable\": {\n    \"meta\": {},\n    \"type\": { \"columns\": \"ExcelColumn[]\", \"rows\": \"ExcelRow[]\" }\n  },\n  \"ExcelColumn\": {\n    \"meta\": {},\n    \"type\": {\n      \"min?\": \"number\",\n      \"max?\": \"number\",\n      \"outlineLevel?\": \"number\",\n      \"width?\": \"number\",\n      \"s?\": \"number\",\n      \"hidden?\": \"boolean\",\n      \"bestFit?\": \"boolean\"\n    }\n  },\n  \"ExcelRow\": {\n    \"meta\": {},\n    \"type\": {\n      \"collapsed?\": \"boolean\",\n      \"hidden?\": \"boolean\",\n      \"height?\": \"number\",\n      \"outlineLevel?\": \"number\",\n      \"cells\": \"ExcelCell[]\"\n    },\n    \"docs\": {\n      \"collapsed?\": \"/** Collapsed state. */\",\n      \"hidden?\": \"/** Hidden state. */\",\n      \"height?\": \"/** The height of the row. */\",\n      \"outlineLevel?\": \"/** The indentation level if the current row is part of a row group. */\",\n      \"cells\": \"/** An array of ExcelCells. */\"\n    }\n  },\n  \"ExcelCell\": {\n    \"meta\": {},\n    \"type\": {\n      \"data?\": \"ExcelData\",\n      \"ref?\": \"string\",\n      \"collapsibleRanges?\": \"number[][]\",\n      \"styleId?\": \"string | string[]\",\n      \"mergeAcross?\": \"number\"\n    },\n    \"docs\": {\n      \"data?\": \"/** The data that will be added to the cell. */\",\n      \"ref?\": \"/** Cell reference. */\",\n      \"collapsibleRanges?\": \"/** Collapsible ranges. */\",\n      \"styleId?\": \"/** The ExcelStyle id to be associated with the cell. */\",\n      \"mergeAcross?\": \"/** The number of cells to span across (1 means span 2 columns).\\n     * Default: `0`\\n     */\"\n    }\n  },\n  \"ExcelImagePosition\": {\n    \"meta\": {},\n    \"type\": {\n      \"row?\": \"number\",\n      \"rowSpan?\": \"number\",\n      \"column?\": \"number\",\n      \"colSpan?\": \"number\",\n      \"offsetX?\": \"number\",\n      \"offsetY?\": \"number\"\n    },\n    \"docs\": {\n      \"row?\": \"/** The row containing this image. This property is set automatically, don't change it unless you know what you are doing. */\",\n      \"rowSpan?\": \"/** The amount of rows this image will cover.\\n     * Default: `1`\\n     *  */\",\n      \"column?\": \"/** The column containing this image. This property is set automatically, don't change it unless you know what you are doing. */\",\n      \"colSpan?\": \"/** The amount of columns this image will cover.\\n     * Default: `1`\\n     */\",\n      \"offsetX?\": \"/** The amount in pixels the image should be offset horizontally.\\n     * Default: `0`\\n     */\",\n      \"offsetY?\": \"/** The amount in pixels the image should be offset vertically.\\n     * Default: `0`\\n     */\"\n    }\n  },\n  \"ExcelImage\": {\n    \"meta\": {},\n    \"type\": {\n      \"id\": \"string\",\n      \"base64\": \"string\",\n      \"imageType\": \"'jpg' | 'png' | 'gif'\",\n      \"altText?\": \"string\",\n      \"fitCell?\": \"boolean\",\n      \"transparency?\": \"number\",\n      \"rotation?\": \"number\",\n      \"recolor?\": \"'Grayscale' | 'Sepia' | 'Washout'\",\n      \"width?\": \"number\",\n      \"height?\": \"number\",\n      \"position?\": \"ExcelImagePosition\"\n    },\n    \"docs\": {\n      \"id\": \"/** The image `id`. This field is required so the same image doesn't get imported multiple times.\\n     */\",\n      \"base64\": \"/** A base64 string that represents the image being imported.\\n     */\",\n      \"imageType\": \"/** The type of image being exported. */\",\n      \"altText?\": \"/** Alt Text for the image. */\",\n      \"fitCell?\": \"/** If set to `true`, the image will cover the whole cell that is being imported to.\\n     * Default: `false`\\n     */\",\n      \"transparency?\": \"/** Set a value between 0 - 100 that will indicate the percentage of transparency of the image.\\n     * Default: `0`\\n     */\",\n      \"rotation?\": \"/** Set a value between 0 - 359 that will indicate the number of degrees to rotate the image clockwise.\\n     * Default: `0`\\n     */\",\n      \"recolor?\": \"/** Set this property to select a preset that changes the appearance of the image. */\",\n      \"width?\": \"/** The width of the image in pixels. If this value is not selected, `fitCell` will be automatically set to true. */\",\n      \"height?\": \"/** The height of the image in pixels. If this value is not selected, `fitCell` will be automatically set to true. */\",\n      \"position?\": \"/** Position of the image. */\"\n    }\n  },\n  \"ExcelDataType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'String' | 'Formula' | 'Number' | 'Boolean' | 'DateTime' | 'Error'\"\n  },\n  \"ExcelOOXMLDataType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'str' | 's' | 'f' | 'inlineStr' | 'n' | 'b' | 'd' | 'e' | 'empty'\"\n  },\n  \"ExcelData\": {\n    \"meta\": {},\n    \"type\": {\n      \"type\": \"ExcelDataType | ExcelOOXMLDataType\",\n      \"value\": \"string | null\"\n    },\n    \"docs\": {\n      \"type\": \"/** The type of data being in the cell. */\",\n      \"value\": \"/** The value of the cell. */\"\n    }\n  },\n  \"ExcelRelationship\": {\n    \"meta\": {},\n    \"type\": { \"Id\": \"string\", \"Type\": \"string\", \"Target\": \"string\" }\n  },\n  \"ExcelContentType\": {\n    \"meta\": {},\n    \"type\": {\n      \"name\": \"'Default' | 'Override'\",\n      \"ContentType\": \"string\",\n      \"Extension?\": \"string\",\n      \"PartName?\": \"string\"\n    }\n  },\n  \"ExcelXMLTemplate\": {\n    \"meta\": {},\n    \"type\": {\n      \"getTemplate(styleProperties?: ExcelStyle | ExcelWorksheet | ExcelColumn | ExcelRow | ExcelCell)\": \"XmlElement\"\n    }\n  },\n  \"ExcelOOXMLTemplate\": {\n    \"meta\": {},\n    \"type\": {\n      \"getTemplate(config?: any, idx?: number, currentSheet?: number)\": \"XmlElement\",\n      \"convertType?(type: string)\": \"string\"\n    }\n  },\n  \"ExcelFactoryMode\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"SINGLE_SHEET\", \"MULTI_SHEET\"],\n    \"docs\": [null, null]\n  },\n  \"ColumnWidthCallbackParams\": {\n    \"meta\": {},\n    \"type\": { \"column\": \"Column | null\", \"index\": \"number\" }\n  },\n  \"RowHeightCallbackParams\": { \"meta\": {}, \"type\": { \"rowIndex\": \"number\" } },\n  \"ExcelExportParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"author?\": \"string\",\n      \"autoConvertFormulas?\": \"boolean\",\n      \"columnWidth?\": \"number | ((params: ColumnWidthCallbackParams) => number)\",\n      \"exportMode?\": \"'xlsx' | 'xml'\",\n      \"fontSize?\": \"number\",\n      \"headerRowHeight?\": \"number | ((params: RowHeightCallbackParams) => number)\",\n      \"rowHeight?\": \"number | ((params: RowHeightCallbackParams) => number)\",\n      \"sheetName?\": \"string\",\n      \"margins?\": \"ExcelSheetMargin\",\n      \"pageSetup?\": \"ExcelSheetPageSetup\",\n      \"headerFooterConfig?\": \"ExcelHeaderFooterConfig\",\n      \"suppressTextAsCDATA?\": \"boolean\",\n      \"mimeType?\": \"string\",\n      \"addImageToCell?\": \"(rowIndex: number, column: Column, value: string) => { image: ExcelImage; value?: string; } | undefined\",\n      \"prependContent?\": \"ExcelRow[]\",\n      \"appendContent?\": \"ExcelRow[]\",\n      \"customHeader?\": \"ExcelRow[]\",\n      \"customFooter?\": \"ExcelRow[]\",\n      \"getCustomContentBelowRow?\": \"(params: ProcessRowGroupForExportParams) => ExcelRow[] | undefined\",\n      \"allColumns?\": \"boolean\",\n      \"columnKeys?\": \"(string | Column)[]\",\n      \"rowPositions?\": \"RowPosition[]\",\n      \"fileName?\": \"string\",\n      \"exportedRows?\": \"'all' | 'filteredAndSorted'\",\n      \"onlySelected?\": \"boolean\",\n      \"onlySelectedAllPages?\": \"boolean\",\n      \"skipColumnGroupHeaders?\": \"boolean\",\n      \"skipColumnHeaders?\": \"boolean\",\n      \"skipRowGroups?\": \"boolean\",\n      \"skipPinnedTop?\": \"boolean\",\n      \"skipPinnedBottom?\": \"boolean\",\n      \"shouldRowBeSkipped?(params: ShouldRowBeSkippedParams)\": \"boolean\",\n      \"processCellCallback?(params: ProcessCellForExportParams)\": \"string\",\n      \"processHeaderCallback?(params: ProcessHeaderForExportParams)\": \"string\",\n      \"processGroupHeaderCallback?(params: ProcessGroupHeaderForExportParams)\": \"string\",\n      \"processRowGroupCallback?(params: ProcessRowGroupForExportParams)\": \"string\",\n      \"columnGroups?\": \"boolean\",\n      \"skipGroups?\": \"boolean\",\n      \"skipHeader?\": \"boolean\"\n    },\n    \"docs\": {\n      \"author?\": \"/** The author of the exported file. Default: `\\\"AG Grid\\\"` */\",\n      \"autoConvertFormulas?\": \"/** If set to `true`, this will try to convert any cell that starts with `=` to a formula, instead of setting the cell value as regular string that starts with `=`.\\n     * Default: `false`\\n     */\",\n      \"columnWidth?\": \"/** Defines the default column width. If no value is present, each column will have value currently set in the application with a min value of 75px. This property can also be supplied a callback function that returns a number.\\n     */\",\n      \"exportMode?\": \"/** For backwards compatibility, this property could be set to `xml`, which will export an Excel Spreadsheet compatible with old Office versions (prior to Office 2007). Setting this to `xml` is not recommended as some features will not work in legacy mode.\\n     * Default: `xlsx`\\n     */\",\n      \"fontSize?\": \"/** The default value for the font size of the Excel document.\\n     * Default: `11`\\n     */\",\n      \"headerRowHeight?\": \"/** The height in pixels of header rows. Defaults to Excel default value. This property can also be supplied a callback function that returns a number.\\n     */\",\n      \"rowHeight?\": \"/** The height in pixels of all rows. Defaults to Excel default value. This property can also be supplied a callback function that returns a number.\\n     */\",\n      \"sheetName?\": \"/** The name of the sheet in Excel where the grid will be exported. There is a max limit of 31 characters.\\n     * Default: `ag-grid`\\n     */\",\n      \"margins?\": \"/** The Excel document page margins. Relevant for printing. */\",\n      \"pageSetup?\": \"/** Allows you to setup the page orientation and size. */\",\n      \"headerFooterConfig?\": \"/** The configuration for header and footers. */\",\n      \"suppressTextAsCDATA?\": \"/** If `true`, text content will be encoded with XML character entities like `&amp;lt;` and `&amp;gt;`. This is only relevant when `exportMode='xml'`.\\n     * Default: `false`\\n     */\",\n      \"mimeType?\": \"/** The mimeType of the Excel file. Note that this defaults to `application/vnd.ms-excel` if exportMode is `xml`.\\n     * Default: `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`\\n     */\",\n      \"addImageToCell?\": \"/** Use to export an image for the gridCell in question. */\",\n      \"prependContent?\": \"/** Content to put at the top of the exported sheet.\\n     */\",\n      \"appendContent?\": \"/** Content to put at the bottom of the exported sheet.\\n     */\",\n      \"customHeader?\": \"/** @deprecated Use prependContent\\n     */\",\n      \"customFooter?\": \"/** @deprecated Use appendContent\\n     */\",\n      \"getCustomContentBelowRow?\": \"/** A callback function to return content to be inserted below a row in the export. */\",\n      \"allColumns?\": \"/** If `true`, all columns will be exported in the order they appear in the columnDefs.\\n     * When `false` only the columns currently being displayed will be exported.\\n     * Default: `false`\\n     */\",\n      \"columnKeys?\": \"/** Provide a list (an array) of column keys or Column objects if you want to export specific columns.\\n     */\",\n      \"rowPositions?\": \"/** Row node positions. */\",\n      \"fileName?\": \"/** String to use as the file name.\\n     */\",\n      \"exportedRows?\": \"/** Determines whether rows are exported before being filtered and sorted.\\n     * Default: `filteredAndSorted`\\n     */\",\n      \"onlySelected?\": \"/** Export only selected rows.\\n     * Default: `false`\\n     */\",\n      \"onlySelectedAllPages?\": \"/** Only export selected rows including other pages (only makes sense when using pagination).\\n     * Default: `false`\\n     */\",\n      \"skipColumnGroupHeaders?\": \"/** Set to `true` to exclude header column groups.\\n     * Default: `false`\\n     */\",\n      \"skipColumnHeaders?\": \"/** Set to `true` if you don't want to export column headers.\\n     * Default: `false`\\n     */\",\n      \"skipRowGroups?\": \"/** Set to `true` to skip row group headers if grouping rows. Only relevant when grouping rows.\\n     * Default: `false`\\n     */\",\n      \"skipPinnedTop?\": \"/** Set to `true` to suppress exporting rows pinned to the top of the grid.\\n     * Default: `false`\\n     */\",\n      \"skipPinnedBottom?\": \"/** Set to `true` to suppress exporting rows pinned to the bottom of the grid.\\n     * Default: `false`\\n     */\",\n      \"shouldRowBeSkipped?(params: ShouldRowBeSkippedParams)\": \"/** A callback function that will be invoked once per row in the grid. Return true to omit the row from the export.\\n     */\",\n      \"processCellCallback?(params: ProcessCellForExportParams)\": \"/** A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. For example this is useful for formatting date values.\\n     */\",\n      \"processHeaderCallback?(params: ProcessHeaderForExportParams)\": \"/** A callback function invoked once per column. Return a string to be displayed in the column header.\\n     */\",\n      \"processGroupHeaderCallback?(params: ProcessGroupHeaderForExportParams)\": \"/** A callback function invoked once per column group. Return a `string` to be displayed in the column group header.\\n     * Note that column groups are exported by default, this option will not work with `skipColumnGroupHeaders=true`.\\n     */\",\n      \"processRowGroupCallback?(params: ProcessRowGroupForExportParams)\": \"/** A callback function invoked once per row group. Return a `string` to be displayed in the group cell.\\n     */\",\n      \"columnGroups?\": \"/** @deprecated */\",\n      \"skipGroups?\": \"/** @deprecated */\",\n      \"skipHeader?\": \"/** @deprecated */\"\n    }\n  },\n  \"ExcelExportMultipleSheetParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"author?\": \"string\",\n      \"data\": \"string[]\",\n      \"fileName?\": \"string\",\n      \"fontSize?\": \"number\",\n      \"mimeType?\": \"string\"\n    },\n    \"docs\": {\n      \"author?\": \"/** The author of the exported file.\\n     * Default: `AG Grid`\\n     */\",\n      \"data\": \"/** Array of strings containing the raw data for Excel workbook sheets.\\n     * This property is only used when exporting to multiple sheets using `api.exportMultipleSheetsAsExcel()` and the data for each sheet is obtained by calling `api.getSheetDataForExcel()`.\\n     */\",\n      \"fileName?\": \"/** String to use as the file name.\\n     * Default: `export.xlsx`\\n     */\",\n      \"fontSize?\": \"/** The default value for the font size of the Excel document.\\n     * Default: `11`\\n     */\",\n      \"mimeType?\": \"/** The mimeType of the Excel file.\\n     * Default: `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`\\n     */\"\n    }\n  },\n  \"ExcelHeaderFooterConfig\": {\n    \"meta\": {},\n    \"type\": {\n      \"all?\": \"ExcelHeaderFooter\",\n      \"first?\": \"ExcelHeaderFooter\",\n      \"even?\": \"ExcelHeaderFooter\"\n    },\n    \"docs\": {\n      \"all?\": \"/** The configuration for header and footer on every page. */\",\n      \"first?\": \"/** The configuration for header and footer on the first page only. */\",\n      \"even?\": \"/** The configuration for header and footer on even numbered pages only. */\"\n    }\n  },\n  \"ExcelHeaderFooter\": {\n    \"meta\": {},\n    \"type\": {\n      \"header?\": \"ExcelHeaderFooterContent[]\",\n      \"footer?\": \"ExcelHeaderFooterContent[]\"\n    },\n    \"docs\": {\n      \"header?\": \"/** An array of maximum 3 items (`Left`, `Center`, `Right`), containing header configurations. */\",\n      \"footer?\": \"/** An array of maximum 3 items (`Left`, `Center`, `Right`), containing footer configurations. */\"\n    }\n  },\n  \"ExcelHeaderFooterContent\": {\n    \"meta\": {},\n    \"type\": {\n      \"value\": \"string\",\n      \"position?\": \"'Left' | 'Center' | 'Right'\",\n      \"font?\": \"ExcelFont\"\n    },\n    \"docs\": {\n      \"value\": \"/** The value of the text to be included in the header. */\",\n      \"position?\": \"/** Configures where the text should be added: `Left`, `Center` or `Right`.\\n     * Default: `Left`\\n     */\",\n      \"font?\": \"/** The font style of the header/footer value. */\"\n    }\n  },\n  \"IExcelCreator\": {\n    \"meta\": {},\n    \"type\": {\n      \"exportDataAsExcel(params?: ExcelExportParams)\": \"void\",\n      \"getDataAsExcel(params?: ExcelExportParams)\": \"Blob | string | undefined\",\n      \"getSheetDataForExcel(params?: ExcelExportParams)\": \"string\",\n      \"getMultipleSheetsAsExcel(params: ExcelExportMultipleSheetParams)\": \"Blob | undefined\",\n      \"exportMultipleSheetsAsExcel(params: ExcelExportMultipleSheetParams)\": \"void\",\n      \"setFactoryMode(factoryMode: ExcelFactoryMode, exportMode: 'xml' | 'xlsx')\": \"void\",\n      \"getFactoryMode(exportMode: 'xml' | 'xlsx')\": \"ExcelFactoryMode\"\n    },\n    \"docs\": {\n      \"setFactoryMode(factoryMode: ExcelFactoryMode, exportMode: 'xml' | 'xlsx')\": \"/** private methods */\"\n    }\n  },\n  \"ExcelSheetMargin\": {\n    \"meta\": {},\n    \"type\": {\n      \"top?\": \"number\",\n      \"right?\": \"number\",\n      \"bottom?\": \"number\",\n      \"left?\": \"number\",\n      \"header?\": \"number\",\n      \"footer?\": \"number\"\n    },\n    \"docs\": {\n      \"top?\": \"/** The sheet top margin.\\n     * Default: `0.75`\\n     */\",\n      \"right?\": \"/** The sheet right margin.\\n     * Default: `0.7`\\n     */\",\n      \"bottom?\": \"/** The sheet bottom margin.\\n     * Default: `0.75`\\n     */\",\n      \"left?\": \"/** The sheet left margin.\\n     * Default: `0.7`\\n     */\",\n      \"header?\": \"/** The sheet header margin.\\n     * Default: `0.3`\\n     */\",\n      \"footer?\": \"/** The sheet footer margin.\\n     * Default: `0.3`\\n     */\"\n    }\n  },\n  \"ExcelSheetPageSetup\": {\n    \"meta\": {},\n    \"type\": {\n      \"orientation?\": \"'Portrait' | 'Landscape'\",\n      \"pageSize?\": \"'Letter' | 'Letter Small' | 'Tabloid' | 'Ledger' | 'Legal' | 'Statement' | 'Executive' | 'A3' | 'A4' | 'A4 Small' | 'A5' | 'A6' | 'B4' | 'B5' | 'Folio' | 'Envelope' | 'Envelope DL' | 'Envelope C5' | 'Envelope B5' | 'Envelope C3' | 'Envelope C4' | 'Envelope C6' | 'Envelope Monarch' | 'Japanese Postcard' | 'Japanese Double Postcard'\"\n    },\n    \"docs\": {\n      \"orientation?\": \"/** Use this property to change the print orientation.\\n     * Default: `Portrait`\\n     */\",\n      \"pageSize?\": \"/** Use this property to set the sheet size.\\n     * Default: `Letter`\\n     */\"\n    }\n  },\n  \"IFilterType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"string | { new (): IFilterComp; } | boolean\"\n  },\n  \"IFloatingFilterType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"string | { new (): IFloatingFilterComp; }\"\n  },\n  \"IFilterDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"filter?\": \"any\",\n      \"filterFramework?\": \"any\",\n      \"filterParams?\": \"any\",\n      \"floatingFilterComponent?\": \"any\",\n      \"floatingFilterComponentFramework?\": \"any\",\n      \"floatingFilterComponentParams?\": \"any\"\n    },\n    \"docs\": {\n      \"filter?\": \"/** Filter component to use for this column.\\n     * - Set to `true` to use the default filter.\\n     * - Set to the name of a provided filter: `set`, `number`, `text`, `date`.\\n     * - Set to a `IFilterComp`.\\n     */\",\n      \"filterFramework?\": \"/** @deprecated Provided a custom framework filter to use for this column. As of v27, you can use filter instead for Framework Components.  */\",\n      \"filterParams?\": \"/** Params to be passed to the filter component specified in `filter` or `filterFramework`. */\",\n      \"floatingFilterComponent?\": \"/** The custom component to be used for rendering the floating filter.\\n     * If none is specified the default AG Grid is used.\\n     */\",\n      \"floatingFilterComponentFramework?\": \"/** @deprecated Floating filter framework component to use for this column. As of v27, you can use floatingFilterComponent instead for Framework Components. */\",\n      \"floatingFilterComponentParams?\": \"/** Params to be passed to `floatingFilterComponent` or `floatingFilterComponentFramework`. */\"\n    }\n  },\n  \"IFilter\": {\n    \"meta\": {},\n    \"type\": {\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"getModel()\": \"any\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\"\n    },\n    \"docs\": {\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\"\n    }\n  },\n  \"ProvidedFilterModel\": { \"meta\": {}, \"type\": { \"filterType?\": \"string\" } },\n  \"IFilterComp\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: IFilterParams<TData>)\": \"AgPromise<void> | void\",\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"getModel()\": \"any\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: IFilterParams<TData>)\": \"/** The init(params) method is called on the component once. */\",\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\"\n    }\n  },\n  \"IDoesFilterPassParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": { \"node\": \"IRowNode<TData>\", \"data\": \"TData\" },\n    \"docs\": {\n      \"node\": \"/** The row node in question. */\",\n      \"data\": \"/** The data part of the row node in question. */\"\n    }\n  },\n  \"IFilterOptionDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"displayKey\": \"string\",\n      \"displayName\": \"string\",\n      \"predicate?\": \"(filterValues: any[], cellValue: any) => boolean\",\n      \"numberOfInputs?\": \"0 | 1 | 2\",\n      \"test?\": \"(filterValue: any, cellValue: any) => boolean\",\n      \"hideFilterInput?\": \"boolean\"\n    },\n    \"docs\": {\n      \"displayKey\": \"/** A unique key that does not clash with the built-in filter keys. */\",\n      \"displayName\": \"/** Display name for the filter. Can be replaced by a locale-specific value using a `localeTextFunc`. */\",\n      \"predicate?\": \"/** Custom filter logic that returns a boolean based on the `filterValues` and `cellValue`. */\",\n      \"numberOfInputs?\": \"/** Number of inputs to display for this option. Defaults to `1` if unspecified. */\",\n      \"test?\": \"/** @deprecated v26.2 use `predicate` instead. */\",\n      \"hideFilterInput?\": \"/** @deprecated v26.2 use `numberOfInputs: 0` instead. */\"\n    }\n  },\n  \"IFilterParams\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"TContext = any\"],\n      \"doc\": \"/** Parameters provided by the grid to the `init` method of an `IFilterComp`\\n */\"\n    },\n    \"type\": {\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"rowModel\": \"IRowModel\",\n      \"filterChangedCallback\": \"(additionalEventAttributes?: any) => void\",\n      \"filterModifiedCallback\": \"() => void\",\n      \"valueGetter\": \"ValueGetterFunc<TData>\",\n      \"doesRowPassOtherFilter\": \"(rowNode: IRowNode<TData>) => boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"column\": \"/** The column this filter is for. */\",\n      \"colDef\": \"/** The column definition for the column. */\",\n      \"rowModel\": \"/** The row model, helpful for looking up data values if needed.\\n     * If the filter needs to know which rows are\\n     * a) in the table,\\n     * b) currently visible (i.e. not already filtered),\\n     * c) which groups,\\n     * d) what order - all of this can be read from the rowModel.\\n     */\",\n      \"filterChangedCallback\": \"/** A function callback to be called when the filter changes. The\\n     * grid will then respond by filtering the grid data. The callback\\n     * takes one optional parameter which, if included, will get merged\\n     * to the FilterChangedEvent object (useful for passing additional\\n     * information to anyone listening to this event, however such extra\\n     * attributes are not used by the grid).\\n     */\",\n      \"filterModifiedCallback\": \"/** A function callback, to be optionally called, when the filter UI changes.\\n     * The grid will respond with emitting a FilterModifiedEvent.\\n     * Apart from emitting the event, the grid takes no further action.\\n     */\",\n      \"valueGetter\": \"/** A function callback for the filter to get cell values from provided row data. Called with a\\n     * `ValueGetterParams` to get the value for this filter's column for the provided row data.\\n     *\\n     * The callback takes care of selecting the right column definition and deciding whether to use\\n     * the column `valueGetter` or raw field etc.\\n     */\",\n      \"doesRowPassOtherFilter\": \"/** A function callback, call with a node to be told whether the node passes all filters except the current filter.\\n     * This is useful if you want to only present to the user values that this filter can filter given the status of the other filters.\\n     * The set filter uses this to remove from the list,\\n     * items that are no longer available due to the state of other filters (like Excel type filtering).\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IFiltersToolPanel\": {\n    \"meta\": {},\n    \"type\": {\n      \"setFilterLayout(colDefs: ColDef[])\": \"void\",\n      \"expandFilterGroups(groupIds?: string[])\": \"void\",\n      \"collapseFilterGroups(groupIds?: string[])\": \"void\",\n      \"expandFilters(colIds?: string[])\": \"void\",\n      \"collapseFilters(colIds?: string[])\": \"void\",\n      \"syncLayoutWithGrid()\": \"void\",\n      \"refresh()\": \"void\"\n    }\n  },\n  \"IFrameworkOverrides\": {\n    \"meta\": {},\n    \"type\": {\n      \"setTimeout(action: any, timeout?: any)\": \"void\",\n      \"setInterval(action: any, interval?: any)\": \"AgPromise<number>\",\n      \"addEventListener(element: HTMLElement, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions)\": \"void\",\n      \"dispatchEvent(eventType: string, listener: () => {}, global: boolean)\": \"void\",\n      \"frameworkComponent(name: string, components?: any)\": \"any\",\n      \"isFrameworkComponent(comp: any)\": \"boolean\"\n    },\n    \"docs\": {\n      \"setTimeout(action: any, timeout?: any)\": \"/** Because Angular uses Zones, you should not use setTimeout or setInterval (as it'll keep angular constantly doing dirty checks etc\\n     * So to get around this, we allow the framework to specify how to execute setTimeout. The default is to just call the browser setTimeout().\\n     */\",\n      \"addEventListener(element: HTMLElement, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions)\": \"/** Again because Angular uses Zones, we allow adding some events outside of Zone JS so that we do not kick off\\n     * the Angular change detection. We do this for some events ONLY, and not all events, just events that get fired\\n     * a lot (eg mouse move), but we need to make sure in AG Grid that we do NOT call any grid callbacks while processing\\n     * these events, as we will be outside of ZoneJS and hence Angular2 Change Detection won't work. However it's fine\\n     * for our code to result in AG Grid events (and Angular application action on these) as these go through\\n     * Event Emitter's.\\n     *\\n     * This was done by Niall and Sean. The problematic events are mouseover, mouseout, mouseenter and mouseleave.\\n     */\"\n    }\n  },\n  \"IHeaderColumn\": {\n    \"meta\": {},\n    \"type\": {\n      \"getUniqueId()\": \"string\",\n      \"getActualWidth()\": \"number\",\n      \"getMinWidth()\": \"number | null | undefined\",\n      \"getLeft()\": \"number | null\",\n      \"getOldLeft()\": \"number | null\",\n      \"getDefinition()\": \"AbstractColDef | null\",\n      \"getColumnGroupShow()\": \"ColumnGroupShowType | undefined\",\n      \"getParent()\": \"IHeaderColumn\",\n      \"isResizable()\": \"boolean\",\n      \"setParent(parent: ColumnGroup | null)\": \"void\",\n      \"isEmptyGroup()\": \"boolean\",\n      \"isMoving()\": \"boolean\",\n      \"getPinned()\": \"ColumnPinnedType\",\n      \"addEventListener(eventType: string, listener: EventListener, async?: boolean, options?: AddEventListenerOptions)\": \"void\",\n      \"removeEventListener(eventType: string, listener: EventListener, async?: boolean, options?: AddEventListenerOptions)\": \"void\"\n    }\n  },\n  \"IImmutableService\": {\n    \"meta\": {},\n    \"type\": { \"setRowData(data: any[])\": \"void\", \"isActive()\": \"boolean\" }\n  },\n  \"IInfiniteRowModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"setDatasource(datasource: IDatasource | undefined)\": \"void\",\n      \"refreshCache()\": \"void\",\n      \"purgeCache()\": \"void\",\n      \"setRowCount(rowCount: number, maxRowFound?: boolean)\": \"void\",\n      \"getRow(index: number)\": \"RowNode | undefined\",\n      \"getRowNode(id: string)\": \"RowNode | undefined\",\n      \"getRowCount()\": \"number\",\n      \"getTopLevelRowCount()\": \"number\",\n      \"getTopLevelRowDisplayedIndex(topLevelIndex: number)\": \"number\",\n      \"getRowIndexAtPixel(pixel: number)\": \"number\",\n      \"isRowPresent(rowNode: RowNode)\": \"boolean\",\n      \"getRowBounds(index: number)\": \"RowBounds | null\",\n      \"isEmpty()\": \"boolean\",\n      \"isRowsToRender()\": \"boolean\",\n      \"getNodesInRangeForSelection(first: RowNode, last: RowNode | null)\": \"RowNode[]\",\n      \"forEachNode(callback: (rowNode: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"void\",\n      \"getType()\": \"RowModelType\",\n      \"isLastRowIndexKnown()\": \"boolean\",\n      \"ensureRowHeightsValid(startPixel: number, endPixel: number, startLimitIndex: number, endLimitIndex: number)\": \"boolean\",\n      \"start()\": \"void\"\n    },\n    \"docs\": {\n      \"getRow(index: number)\": \"/** Returns the rowNode at the given index. */\",\n      \"getRowNode(id: string)\": \"/** Returns the rowNode for given id. */\",\n      \"getRowCount()\": \"/** Returns the number of rows */\",\n      \"getRowIndexAtPixel(pixel: number)\": \"/** Returns the row index at the given pixel */\",\n      \"isRowPresent(rowNode: RowNode)\": \"/** Returns true if the provided rowNode is in the list of rows to render */\",\n      \"getRowBounds(index: number)\": \"/** Returns row top and bottom for a given row */\",\n      \"isEmpty()\": \"/** Returns true if this model has no rows, regardless of model filter. EG if rows present, but filtered\\n     * out, this still returns false. If it returns true, then the grid shows the 'no rows' overlay - but we\\n     * don't show that overlay if the rows are just filtered out. */\",\n      \"isRowsToRender()\": \"/** Returns true if no rows (either no rows at all, or the rows are filtered out). This is what the grid\\n     * uses to know if there are rows to render or not. */\",\n      \"getNodesInRangeForSelection(first: RowNode, last: RowNode | null)\": \"/** Returns all rows in range that should be selected. If there is a gap in range (non ClientSideRowModel) then\\n     *  then no rows should be returned  */\",\n      \"forEachNode(callback: (rowNode: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"/** Iterate through each node. What this does depends on the model type. For clientSide, goes through\\n     * all nodes. For serverSide, goes through what's loaded in memory. */\",\n      \"getType()\": \"/** The base class returns the type. We use this instead of 'instanceof' as the client might provide\\n     * their own implementation of the models in the future. */\",\n      \"isLastRowIndexKnown()\": \"/** It tells us if this row model knows about the last row that it can produce. This is used by the\\n     * PaginationPanel, if last row is not found, then the 'last' button is disabled and the last page is\\n     * not shown. This is always true for ClientSideRowModel. It toggles for InfiniteRowModel.\\n     */\",\n      \"ensureRowHeightsValid(startPixel: number, endPixel: number, startLimitIndex: number, endLimitIndex: number)\": \"/** Used by CSRM only - is makes sure there are now estimated row heights within the range. */\",\n      \"start()\": \"/** Gets called after grid is initialised. What happens depends on row model. Client Side will take rowData\\n     * from gridOptions, the other row models will start calling their datasources. */\"\n    }\n  },\n  \"IMenuFactory\": {\n    \"meta\": {},\n    \"type\": {\n      \"showMenuAfterButtonClick(column: Column | null, eventSource: HTMLElement, containerType: ContainerType, defaultTab?: string, restrictToTabs?: string[])\": \"void\",\n      \"showMenuAfterMouseEvent(column: Column, mouseEvent: MouseEvent | Touch, defaultTab?: string, restrictToTabs?: string[])\": \"void\",\n      \"isMenuEnabled(column: Column)\": \"boolean\",\n      \"hideActiveMenu()\": \"void\"\n    }\n  },\n  \"ModuleValidationValidResult\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ isValid: true; }\"\n  },\n  \"ModuleValidationInvalidResult\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ isValid: false; message: string; }\"\n  },\n  \"ModuleValidationResult\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"ModuleValidationValidResult | ModuleValidationInvalidResult\"\n  },\n  \"Module\": {\n    \"meta\": {},\n    \"type\": {\n      \"version\": \"string\",\n      \"validate?\": \"() => ModuleValidationResult\",\n      \"moduleName\": \"string\",\n      \"beans?\": \"any[]\",\n      \"agStackComponents?\": \"ComponentMeta[]\",\n      \"controllers?\": \"ControllerMeta[]\",\n      \"userComponents?\": \"{ componentName: string; componentClass: any; }[]\",\n      \"rowModel?\": \"RowModelType\",\n      \"dependantModules?\": \"Module[]\"\n    },\n    \"docs\": {\n      \"validate?\": \"/** Validation run when registering the module\\n     * \\n     * @return Whether the module is valid or not. If not, a message explaining why it is not valid\\n     */\"\n    }\n  },\n  \"IMultiFilter\": {\n    \"meta\": {\n      \"doc\": \"/** Interface contract for the public aspects of the ProvidedFilter implementation(s). */\"\n    },\n    \"type\": {\n      \"getChildFilterInstance(index: number)\": \"IFilter | undefined\",\n      \"applyModel(source?: 'api' | 'ui' | 'rowDataUpdated')\": \"boolean\",\n      \"getModelFromUi()\": \"any\",\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"getModel()\": \"any\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\"\n    },\n    \"docs\": {\n      \"getChildFilterInstance(index: number)\": \"/** @returns the child filter instance at the given index. */\",\n      \"applyModel(source?: 'api' | 'ui' | 'rowDataUpdated')\": \"/** Applies the model shown in the UI (so that `getModel()` will now return what was in the UI\\n     * when `applyModel()` was called).\\n     * @param source The source of the method call. Default 'api'.\\n     */\",\n      \"getModelFromUi()\": \"/** Returns the filter model from the UI. If changes have been made to the UI but not yet\\n     * applied, this model will reflect those changes.\\n     */\",\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\"\n    }\n  },\n  \"IMultiFilterDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"display?\": \"'inline' | 'accordion' | 'subMenu'\",\n      \"title?\": \"string\",\n      \"filter?\": \"IFilterType\",\n      \"filterFramework?\": \"any\",\n      \"filterParams?\": \"any\",\n      \"floatingFilterComponent?\": \"IFloatingFilterType\",\n      \"floatingFilterComponentFramework?\": \"any\",\n      \"floatingFilterComponentParams?\": \"any\"\n    },\n    \"docs\": {\n      \"display?\": \"/** Configures how the filter is shown in the Multi Filter.\\n     * Default: `inline`\\n     */\",\n      \"title?\": \"/** The title to be used when a filter is displayed inside a sub-menu or accordion. */\",\n      \"filter?\": \"/** Child filter component to use inside the Multi Filter. */\",\n      \"filterFramework?\": \"/** Child filter component to use inside the Multi Filter. */\",\n      \"filterParams?\": \"/** Custom parameters to be passed to the child filter component. */\",\n      \"floatingFilterComponent?\": \"/** Floating filter component to use for the child filter. */\",\n      \"floatingFilterComponentFramework?\": \"/** Floating framework filter component to use for the child filter. */\",\n      \"floatingFilterComponentParams?\": \"/** Custom parameters to be passed to the floating filter component. */\"\n    }\n  },\n  \"MultiFilterParams\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": \"IMultiFilterParams & IFilterParams<TData>\"\n  },\n  \"IMultiFilterParams\": {\n    \"meta\": {\n      \"doc\": \"/** Parameters used in `colDef.filterParams` to configure a Multi Filter (`agMultiColumnFilter`).\\n */\"\n    },\n    \"type\": { \"filters?\": \"IMultiFilterDef[]\", \"readOnly?\": \"boolean\" },\n    \"docs\": {\n      \"filters?\": \"/** An array of filter definition objects. */\",\n      \"readOnly?\": \"/** If true, all UI inputs managed by this filter are for display only, and the filter can only\\n     * be affected by API calls. Does NOT affect child filters, they need to be individually\\n     * configured with `readOnly` where applicable.\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"IMultiFilterModel\": {\n    \"meta\": {},\n    \"type\": { \"filterType?\": \"'multi'\", \"filterModels\": \"any[] | null\" },\n    \"docs\": {\n      \"filterType?\": \"/** Multi filter type.  */\",\n      \"filterModels\": \"/** Child filter models in the same order as the filters are specified in `filterParams`.\\n     */\"\n    }\n  },\n  \"IMultiFilterComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"isFilterActive()\": \"boolean\",\n      \"getModel()\": \"ProvidedFilterModel | null\",\n      \"setModel(model: IMultiFilterModel | null)\": \"void | AgPromise<void>\",\n      \"getChildFilterInstance(index: number)\": \"IFilterComp | undefined\"\n    },\n    \"docs\": {\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is not active. */\",\n      \"setModel(model: IMultiFilterModel | null)\": \"/** Sets the state of the child filters using the supplied models. Providing `null` will\\n     * de-activate all child filters.\\n     * \\n     * **Note:** if you are providing values asynchronously to a child Set Filter,\\n     * you need to wait for these changes to be applied before performing any further actions by\\n     * waiting on the returned grid promise, e.g.\\n     * `filter.setModel([null, { values: ['a', 'b'] }]).then(function() { gridApi.onFilterChanged(); });`\\n     */\",\n      \"getChildFilterInstance(index: number)\": \"/** Returns the child filter instance at the specified index or `undefined` for an invalid index.  */\"\n    }\n  },\n  \"IPopupComponent\": {\n    \"meta\": { \"typeParams\": [\"T\"] },\n    \"type\": {\n      \"isPopup?()\": \"boolean\",\n      \"focusIn?()\": \"void\",\n      \"focusOut?()\": \"void\",\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: T)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"isPopup?()\": \"/** Gets called once after initialised. If you return true, the component will appear in a popup, and it will be\\n     *  constrained to the boundaries of the popupParent. This is great if you want to, for example, provide you own\\n     * custom dropdown list for selection. Default is false (ie if you don't provide the method). */\",\n      \"focusIn?()\": \"/** Called when focus is within the component */\",\n      \"focusOut?()\": \"/** Called when focus is leaving the component */\",\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: T)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"IProvidedColumn\": {\n    \"meta\": {},\n    \"type\": {\n      \"isVisible()\": \"boolean\",\n      \"getInstanceId()\": \"number\",\n      \"getColumnGroupShow()\": \"ColumnGroupShowType | undefined\",\n      \"getId()\": \"string\",\n      \"setOriginalParent(originalParent: ProvidedColumnGroup | null)\": \"void\"\n    }\n  },\n  \"IRangeService\": {\n    \"meta\": {},\n    \"type\": {\n      \"isEmpty()\": \"boolean\",\n      \"removeAllCellRanges(silent?: boolean)\": \"void\",\n      \"getCellRangeCount(cell: CellPosition)\": \"number\",\n      \"isCellInAnyRange(cell: CellPosition)\": \"boolean\",\n      \"isCellInSpecificRange(cell: CellPosition, range: CellRange)\": \"boolean\",\n      \"isBottomRightCell(cellRange: CellRange, cell: CellPosition)\": \"boolean\",\n      \"isContiguousRange(cellRange: CellRange)\": \"boolean\",\n      \"isMoreThanOneCell()\": \"boolean\",\n      \"areAllRangesAbleToMerge()\": \"boolean\",\n      \"onDragStart(mouseEvent: MouseEvent)\": \"void\",\n      \"onDragStop()\": \"void\",\n      \"onDragging(mouseEvent: MouseEvent)\": \"void\",\n      \"getCellRanges()\": \"CellRange[]\",\n      \"setRangeToCell(cell: CellPosition, appendRange?: boolean)\": \"void\",\n      \"intersectLastRange(fromMouseClick?: boolean)\": \"void\",\n      \"setCellRange(params: CellRangeParams)\": \"void\",\n      \"addCellRange(params: CellRangeParams)\": \"void\",\n      \"extendLatestRangeInDirection(event: KeyboardEvent)\": \"CellPosition | undefined\",\n      \"extendLatestRangeToCell(cell: CellPosition)\": \"void\",\n      \"updateRangeEnd(cellRange: CellRange, cellPosition: CellPosition, silent?: boolean)\": \"void\",\n      \"getRangeStartRow(cellRange: CellRange)\": \"RowPosition\",\n      \"getRangeEndRow(cellRange: CellRange)\": \"RowPosition\",\n      \"createCellRangeFromCellRangeParams(params: CellRangeParams)\": \"CellRange | undefined\",\n      \"setCellRanges(cellRanges: CellRange[])\": \"void\",\n      \"clearCellRangeCellValues(cellRanges?: CellRange[], source?: string)\": \"void\"\n    }\n  },\n  \"ISelectionHandle\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"getType()\": \"SelectionHandleType\",\n      \"refresh(cellCtrl: CellCtrl)\": \"void\"\n    }\n  },\n  \"ISelectionHandleFactory\": {\n    \"meta\": {},\n    \"type\": {\n      \"createSelectionHandle(type: SelectionHandleType)\": \"ISelectionHandle\"\n    }\n  },\n  \"SelectionHandleType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"FILL\", \"RANGE\"],\n    \"docs\": [null, null]\n  },\n  \"CellRangeType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"VALUE\", \"DIMENSION\"],\n    \"docs\": [null, null]\n  },\n  \"CellRange\": {\n    \"meta\": {},\n    \"type\": {\n      \"id?\": \"string\",\n      \"type?\": \"CellRangeType\",\n      \"startRow?\": \"RowPosition\",\n      \"endRow?\": \"RowPosition\",\n      \"columns\": \"Column[]\",\n      \"startColumn\": \"Column\"\n    },\n    \"docs\": {\n      \"startRow?\": \"/** The start row of the range */\",\n      \"endRow?\": \"/** The end row of the range */\",\n      \"columns\": \"/** The columns in the range */\",\n      \"startColumn\": \"/** The start column for the range */\"\n    }\n  },\n  \"CellRangeParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowStartIndex\": \"number | null\",\n      \"rowStartPinned?\": \"RowPinnedType\",\n      \"rowEndIndex\": \"number | null\",\n      \"rowEndPinned?\": \"RowPinnedType\",\n      \"columnStart?\": \"string | Column\",\n      \"columnEnd?\": \"string | Column\",\n      \"columns?\": \"(string | Column)[]\"\n    },\n    \"docs\": {\n      \"rowStartIndex\": \"/** Start row index */\",\n      \"rowStartPinned?\": \"/** Pinned state of start row. Either 'top', 'bottom' or null */\",\n      \"rowEndIndex\": \"/** End row index */\",\n      \"rowEndPinned?\": \"/** Pinned state of end row. Either 'top', 'bottom' or null */\",\n      \"columnStart?\": \"/** Starting column for range */\",\n      \"columnEnd?\": \"/** End column for range */\",\n      \"columns?\": \"/** Specify Columns to include instead of using `columnStart` and `columnEnd` */\"\n    }\n  },\n  \"RangeSelection\": {\n    \"meta\": { \"doc\": \"/** @deprecated */\" },\n    \"type\": {\n      \"start\": \"CellPosition\",\n      \"end\": \"CellPosition\",\n      \"columns\": \"Column[] | null\"\n    }\n  },\n  \"AddRangeSelectionParams\": {\n    \"meta\": { \"doc\": \"/** @deprecated */\" },\n    \"type\": {\n      \"rowStart\": \"number\",\n      \"floatingStart\": \"string\",\n      \"rowEnd\": \"number\",\n      \"floatingEnd\": \"string\",\n      \"columnStart\": \"string | Column\",\n      \"columnEnd\": \"string | Column\"\n    }\n  },\n  \"CellValue\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"object | string | number\"\n  },\n  \"IRichCellEditorParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"values\": \"CellValue[]\",\n      \"cellHeight\": \"number\",\n      \"cellRenderer\": \"any\",\n      \"searchDebounceDelay?\": \"number\",\n      \"formatValue\": \"(value: any) => any\",\n      \"value\": \"TValue\",\n      \"eventKey\": \"string | null\",\n      \"charPress\": \"string | null\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData\",\n      \"rowIndex\": \"number\",\n      \"cellStartedEdit\": \"boolean\",\n      \"onKeyDown\": \"(event: KeyboardEvent) => void\",\n      \"stopEditing\": \"(suppressNavigateAfterEdit?: boolean) => void\",\n      \"eGridCell\": \"HTMLElement\",\n      \"parseValue\": \"(value: any) => any\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"values\": \"/** The list of values to be selected from. */\",\n      \"cellHeight\": \"/** The row height, in pixels, of each value. */\",\n      \"cellRenderer\": \"/** The cell renderer to use to render each value. Cell renderers are useful for rendering rich HTML values, or when processing complex data. */\",\n      \"searchDebounceDelay?\": \"/** The value in `ms` for the fuzzy search debounce delay. Default: `300` */\",\n      \"formatValue\": \"/** A callback function that allows you to change the displayed value for simple data. */\",\n      \"value\": \"/** Current value of the cell */\",\n      \"eventKey\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"charPress\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"column\": \"/** Grid column */\",\n      \"colDef\": \"/** Column definition */\",\n      \"node\": \"/** Row node for the cell */\",\n      \"data\": \"/** Row data */\",\n      \"rowIndex\": \"/** Editing row index */\",\n      \"cellStartedEdit\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"onKeyDown\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"stopEditing\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"eGridCell\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"parseValue\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"RowBounds\": {\n    \"meta\": {},\n    \"type\": { \"rowTop\": \"number\", \"rowHeight\": \"number\", \"rowIndex?\": \"number\" }\n  },\n  \"RowModelType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'infinite' | 'viewport' | 'clientSide' | 'serverSide'\"\n  },\n  \"IRowModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"getRow(index: number)\": \"RowNode | undefined\",\n      \"getRowNode(id: string)\": \"RowNode | undefined\",\n      \"getRowCount()\": \"number\",\n      \"getTopLevelRowCount()\": \"number\",\n      \"getTopLevelRowDisplayedIndex(topLevelIndex: number)\": \"number\",\n      \"getRowIndexAtPixel(pixel: number)\": \"number\",\n      \"isRowPresent(rowNode: RowNode)\": \"boolean\",\n      \"getRowBounds(index: number)\": \"RowBounds | null\",\n      \"isEmpty()\": \"boolean\",\n      \"isRowsToRender()\": \"boolean\",\n      \"getNodesInRangeForSelection(first: RowNode, last: RowNode | null)\": \"RowNode[]\",\n      \"forEachNode(callback: (rowNode: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"void\",\n      \"getType()\": \"RowModelType\",\n      \"isLastRowIndexKnown()\": \"boolean\",\n      \"ensureRowHeightsValid(startPixel: number, endPixel: number, startLimitIndex: number, endLimitIndex: number)\": \"boolean\",\n      \"start()\": \"void\"\n    },\n    \"docs\": {\n      \"getRow(index: number)\": \"/** Returns the rowNode at the given index. */\",\n      \"getRowNode(id: string)\": \"/** Returns the rowNode for given id. */\",\n      \"getRowCount()\": \"/** Returns the number of rows */\",\n      \"getRowIndexAtPixel(pixel: number)\": \"/** Returns the row index at the given pixel */\",\n      \"isRowPresent(rowNode: RowNode)\": \"/** Returns true if the provided rowNode is in the list of rows to render */\",\n      \"getRowBounds(index: number)\": \"/** Returns row top and bottom for a given row */\",\n      \"isEmpty()\": \"/** Returns true if this model has no rows, regardless of model filter. EG if rows present, but filtered\\n     * out, this still returns false. If it returns true, then the grid shows the 'no rows' overlay - but we\\n     * don't show that overlay if the rows are just filtered out. */\",\n      \"isRowsToRender()\": \"/** Returns true if no rows (either no rows at all, or the rows are filtered out). This is what the grid\\n     * uses to know if there are rows to render or not. */\",\n      \"getNodesInRangeForSelection(first: RowNode, last: RowNode | null)\": \"/** Returns all rows in range that should be selected. If there is a gap in range (non ClientSideRowModel) then\\n     *  then no rows should be returned  */\",\n      \"forEachNode(callback: (rowNode: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"/** Iterate through each node. What this does depends on the model type. For clientSide, goes through\\n     * all nodes. For serverSide, goes through what's loaded in memory. */\",\n      \"getType()\": \"/** The base class returns the type. We use this instead of 'instanceof' as the client might provide\\n     * their own implementation of the models in the future. */\",\n      \"isLastRowIndexKnown()\": \"/** It tells us if this row model knows about the last row that it can produce. This is used by the\\n     * PaginationPanel, if last row is not found, then the 'last' button is disabled and the last page is\\n     * not shown. This is always true for ClientSideRowModel. It toggles for InfiniteRowModel.\\n     */\",\n      \"ensureRowHeightsValid(startPixel: number, endPixel: number, startLimitIndex: number, endLimitIndex: number)\": \"/** Used by CSRM only - is makes sure there are now estimated row heights within the range. */\",\n      \"start()\": \"/** Gets called after grid is initialised. What happens depends on row model. Client Side will take rowData\\n     * from gridOptions, the other row models will start calling their datasources. */\"\n    }\n  },\n  \"RowNodeEventType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'rowSelected' | 'selectableChanged' | 'displayedChanged' | 'dataChanged' | 'cellChanged' | 'masterChanged' | 'heightChanged' | 'topChanged' | 'groupChanged' | 'allChildrenCountChanged' | 'firstChildChanged' | 'lastChildChanged' | 'childIndexChanged' | 'rowIndexChanged' | 'expandedChanged' | 'hasChildrenChanged' | 'uiLevelChanged' | 'rowHighlightChanged' | 'mouseEnter' | 'mouseLeave' | 'draggingChanged'\"\n  },\n  \"SetSelectedParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"newValue\": \"boolean\",\n      \"clearSelection?\": \"boolean\",\n      \"suppressFinishActions?\": \"boolean\",\n      \"rangeSelect?\": \"boolean\",\n      \"groupSelectsFiltered?\": \"boolean\",\n      \"source\": \"SelectionEventSourceType\"\n    }\n  },\n  \"RowNodeEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": { \"type\": \"RowNodeEventType\", \"node\": \"IRowNode<TData>\" },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"DataChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"oldData\": \"TData | undefined\",\n      \"newData\": \"TData | undefined\",\n      \"update\": \"boolean\",\n      \"type\": \"RowNodeEventType\",\n      \"node\": \"IRowNode<TData>\"\n    },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"CellChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"column\": \"Column\",\n      \"newValue\": \"TData | undefined\",\n      \"oldValue\": \"TData | undefined\",\n      \"type\": \"RowNodeEventType\",\n      \"node\": \"IRowNode<TData>\"\n    },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"RowHighlightPosition\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Above\", \"Below\"],\n    \"docs\": [null, null]\n  },\n  \"RowPinnedType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'top' | 'bottom' | null | undefined\"\n  },\n  \"BaseRowNode\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"id\": \"string | undefined\",\n      \"data\": \"TData | undefined\",\n      \"displayed\": \"boolean\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"selectable\": \"boolean\",\n      \"rowHeight\": \"number | null | undefined\",\n      \"rowTop\": \"number | null\",\n      \"group\": \"boolean | undefined\",\n      \"firstChild\": \"boolean\",\n      \"lastChild\": \"boolean\",\n      \"childIndex\": \"number\",\n      \"level\": \"number\",\n      \"uiLevel\": \"number\",\n      \"parent\": \"IRowNode<TData> | null\",\n      \"stub\": \"boolean\",\n      \"failedLoad\": \"boolean\",\n      \"rowIndex\": \"number | null\",\n      \"quickFilterAggregateText\": \"string | null\",\n      \"master\": \"boolean\",\n      \"detail\": \"boolean\"\n    },\n    \"docs\": {\n      \"id\": \"/** Unique ID for the node. Either provided by the application, or generated by the grid if not. */\",\n      \"data\": \"/** The data as provided by the application.\\n     * Can be `undefined` when using row grouping or during grid initialisation.\\n     */\",\n      \"displayed\": \"/** This will be `true` if it has a rowIndex assigned, otherwise `false`.\\n     */\",\n      \"rowPinned\": \"/** Either `'top'` or `'bottom'` if row pinned, otherwise `undefined` or `null`. */\",\n      \"selectable\": \"/** Is this row selectable. */\",\n      \"rowHeight\": \"/** The height, in pixels, of this row. */\",\n      \"rowTop\": \"/** The row top position in pixels. */\",\n      \"group\": \"/** `true` if this node is a group node (i.e. it has children) */\",\n      \"firstChild\": \"/** `true` if this is the first child in this group. Changes when data is sorted. */\",\n      \"lastChild\": \"/** `true` if this is the last child in this group. Changes when data is sorted. */\",\n      \"childIndex\": \"/** Index of this row with respect to its parent when grouping. Changes when data is sorted. */\",\n      \"level\": \"/** How many levels this node is from the top when grouping. */\",\n      \"uiLevel\": \"/** How many levels this node is from the top when grouping in the UI (only different to `parent` when `groupRemoveSingleChildren=true`).*/\",\n      \"parent\": \"/** The parent node to this node, or empty if top level. */\",\n      \"stub\": \"/** Used by server-side row model. `true` if this row node is a stub. A stub is a placeholder row with loading icon while waiting from row to be loaded. */\",\n      \"failedLoad\": \"/** Used by server side row model, `true` if this row node failed a load. */\",\n      \"rowIndex\": \"/** The current row index. If the row is filtered out or in a collapsed group, this value will be `null`. */\",\n      \"quickFilterAggregateText\": \"/** If using quick filter, stores a string representation of the row for searching against. */\",\n      \"master\": \"/** `true` if this row is a master row, part of master / detail (ie row can be expanded to show detail). */\",\n      \"detail\": \"/** `true` if this row is a detail row, part of master / detail (ie child row of an expanded master row). */\"\n    }\n  },\n  \"GroupRowNode\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"field\": \"string | null\",\n      \"key\": \"string | null\",\n      \"groupData\": \"{ [key: string]: any | null; } | null\",\n      \"aggData\": \"any\",\n      \"rowGroupColumn\": \"Column | null\",\n      \"rowGroupIndex\": \"number | null\",\n      \"expanded\": \"boolean\",\n      \"leafGroup\": \"boolean\",\n      \"allLeafChildren\": \"IRowNode<TData>[]\",\n      \"allChildrenCount\": \"number | null\",\n      \"childrenAfterGroup\": \"IRowNode<TData>[] | null\",\n      \"childrenAfterSort\": \"IRowNode<TData>[] | null\",\n      \"childrenAfterFilter\": \"IRowNode<TData>[] | null\",\n      \"footer\": \"boolean\",\n      \"sibling\": \"IRowNode<TData>\"\n    },\n    \"docs\": {\n      \"field\": \"/** The field we are grouping on from our row data. */\",\n      \"key\": \"/** The key value for this group. */\",\n      \"groupData\": \"/** If using row grouping, contains the group values for this group. */\",\n      \"aggData\": \"/** If using row grouping and aggregation, contains the aggregation data. */\",\n      \"rowGroupColumn\": \"/** The row group column used for this group. */\",\n      \"rowGroupIndex\": \"/** If doing in-memory (client-side) grouping, this is the index of the group column this cell is for.\\n     * This will always be the same as the level, unless we are collapsing groups, i.e. `groupRemoveSingleChildren=true`.\\n    */\",\n      \"expanded\": \"/** `true` if group is expanded, otherwise `false`. */\",\n      \"leafGroup\": \"/** `true` if this node is a group and the group is the bottom level in the tree. */\",\n      \"allLeafChildren\": \"/** All lowest level nodes beneath this node, no groups. */\",\n      \"allChildrenCount\": \"/** Number of children and grand children. */\",\n      \"childrenAfterGroup\": \"/** Children of this group. If multi levels of grouping, shows only immediate children. */\",\n      \"childrenAfterSort\": \"/** Sorted children of this group. */\",\n      \"childrenAfterFilter\": \"/** Filtered children of this group. */\",\n      \"footer\": \"/** `true` if row is a footer. Footers have `group = true` and `footer = true`. */\",\n      \"sibling\": \"/** If using footers, reference to the footer node for this group. */\"\n    }\n  },\n  \"IRowNode\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"setSelected(newValue: boolean, clearSelection?: boolean, suppressFinishActions?: boolean, source?: SelectionEventSourceType)\": \"void\",\n      \"isSelected()\": \"boolean | undefined\",\n      \"isRowPinned()\": \"boolean\",\n      \"isExpandable()\": \"boolean\",\n      \"setExpanded(expanded: boolean, e?: MouseEvent | KeyboardEvent)\": \"void\",\n      \"isFullWidthCell()\": \"boolean\",\n      \"isHovered()\": \"boolean\",\n      \"addEventListener(eventType: RowNodeEventType, listener: Function)\": \"void\",\n      \"removeEventListener(eventType: RowNodeEventType, listener: Function)\": \"void\",\n      \"resetQuickFilterAggregateText()\": \"void\",\n      \"depthFirstSearch(callback: (rowNode: IRowNode<TData>) => void)\": \"void\",\n      \"setRowHeight(rowHeight: number | undefined | null, estimated?: boolean)\": \"void\",\n      \"setData(data: TData)\": \"void\",\n      \"updateData(data: TData)\": \"void\",\n      \"setDataValue(colKey: string | Column, newValue: any, eventSource?: string)\": \"boolean\",\n      \"getRoute()\": \"string[] | undefined\",\n      \"id\": \"string | undefined\",\n      \"data\": \"TData | undefined\",\n      \"displayed\": \"boolean\",\n      \"rowPinned\": \"RowPinnedType\",\n      \"selectable\": \"boolean\",\n      \"rowHeight\": \"number | null | undefined\",\n      \"rowTop\": \"number | null\",\n      \"group\": \"boolean | undefined\",\n      \"firstChild\": \"boolean\",\n      \"lastChild\": \"boolean\",\n      \"childIndex\": \"number\",\n      \"level\": \"number\",\n      \"uiLevel\": \"number\",\n      \"parent\": \"IRowNode<TData> | null\",\n      \"stub\": \"boolean\",\n      \"failedLoad\": \"boolean\",\n      \"rowIndex\": \"number | null\",\n      \"quickFilterAggregateText\": \"string | null\",\n      \"master\": \"boolean\",\n      \"detail\": \"boolean\",\n      \"field\": \"string | null\",\n      \"key\": \"string | null\",\n      \"groupData\": \"{ [key: string]: any | null; } | null\",\n      \"aggData\": \"any\",\n      \"rowGroupColumn\": \"Column | null\",\n      \"rowGroupIndex\": \"number | null\",\n      \"expanded\": \"boolean\",\n      \"leafGroup\": \"boolean\",\n      \"allLeafChildren\": \"IRowNode<TData>[]\",\n      \"allChildrenCount\": \"number | null\",\n      \"childrenAfterGroup\": \"IRowNode<TData>[] | null\",\n      \"childrenAfterSort\": \"IRowNode<TData>[] | null\",\n      \"childrenAfterFilter\": \"IRowNode<TData>[] | null\",\n      \"footer\": \"boolean\",\n      \"sibling\": \"IRowNode<TData>\"\n    },\n    \"docs\": {\n      \"setSelected(newValue: boolean, clearSelection?: boolean, suppressFinishActions?: boolean, source?: SelectionEventSourceType)\": \"/** Select (or deselect) the node.\\n     * @param newValue -`true` for selection, `false` for deselection.\\n     * @param clearSelection - If selecting, then passing `true` will select the node exclusively (i.e. NOT do multi select). If doing deselection, `clearSelection` has no impact. Default: `false`\\n     * @param suppressFinishActions - Pass `true` to prevent the `selectionChanged` from being fired. Note that the `rowSelected` event will still be fired. Default: `false`\\n     * @param source - Source property that will appear in the `selectionChanged` event. Default: `'api'`\\n     */\",\n      \"isSelected()\": \"/** Returns:\\n     * - `true` if node is selected.\\n     * - `false` if the node isn't selected.\\n     * - `undefined` if it's partially selected (group where not all children are selected). \\n     */\",\n      \"isRowPinned()\": \"/** Returns:\\n     * - `true` if node is either pinned to the `top` or `bottom`.\\n     * - `false` if the node isn't pinned.\\n     */\",\n      \"isExpandable()\": \"/** Returns:\\n    * - `true` if the node can be expanded, i.e it is a group or master row.\\n    * - `false` if the node cannot be expanded.\\n    */\",\n      \"setExpanded(expanded: boolean, e?: MouseEvent | KeyboardEvent)\": \"/** Set the expanded state of this rowNode. Pass `true` to expand and `false` to collapse.\\n     */\",\n      \"isFullWidthCell()\": \"/** Returns:\\n     * - `true` if the node is a full width cell.\\n     * - `false` if the node is not a full width cell.\\n     */\",\n      \"isHovered()\": \"/** Returns:\\n     * - `true` if the node is currently hovered.\\n     * - `false` if the node is not hovered.\\n     */\",\n      \"addEventListener(eventType: RowNodeEventType, listener: Function)\": \"/** Add an event listener. */\",\n      \"removeEventListener(eventType: RowNodeEventType, listener: Function)\": \"/** Remove event listener. */\",\n      \"resetQuickFilterAggregateText()\": \"/** The first time `quickFilter` runs, the grid creates a one-off string representation of the row.\\n     * This string is then used for the quick filter instead of hitting each column separately.\\n     * When you edit, using grid editing, this string gets cleared down.\\n     * However if you edit without using grid editing, you will need to clear this string down for the row to be updated with the new values.\\n     * Otherwise new values will not work with the `quickFilter`.\\n     */\",\n      \"depthFirstSearch(callback: (rowNode: IRowNode<TData>) => void)\": \"/** Perform a depth-first search of this node and its children. */\",\n      \"setRowHeight(rowHeight: number | undefined | null, estimated?: boolean)\": \"/** Sets the row height.\\n     * Call if you want to change the height initially assigned to the row.\\n     * After calling, you must call `api.onRowHeightChanged()` so the grid knows it needs to work out the placement of the rows.\\n     * @param rowHeight - new height of the row\\n     * @param estimated - is this an estimated height. Default: `false`\\n     */\",\n      \"setData(data: TData)\": \"/** Replaces the data on the `rowNode`. When this method is called, the grid will refresh the entire rendered row if it is displayed.\\n     */\",\n      \"updateData(data: TData)\": \"/** Updates the data on the `rowNode`. When this method is called, the grid will refresh the entire rendered row if it is displayed.\\n     */\",\n      \"setDataValue(colKey: string | Column, newValue: any, eventSource?: string)\": \"/** Replaces the value on the `rowNode` for the specified column. When complete,\\n     * the grid will refresh the rendered cell on the required row only.\\n     * **Note**: This method on fires `onCellEditRequest` when the Grid is on **Read Only** mode.\\n     *\\n     * @param colKey The column where the value should be updated\\n     * @param newValue The new value\\n     * @param eventSource The source of the event\\n     * @returns `True` if the value was changed, otherwise `False`.\\n     */\",\n      \"getRoute()\": \"/** Returns the route of the row node. If the Row Node is a group, it returns the route to that Row Node.\\n     * If the Row Node is not a group, it returns `undefined`.\\n     */\",\n      \"id\": \"/** Unique ID for the node. Either provided by the application, or generated by the grid if not. */\",\n      \"data\": \"/** The data as provided by the application.\\n     * Can be `undefined` when using row grouping or during grid initialisation.\\n     */\",\n      \"displayed\": \"/** This will be `true` if it has a rowIndex assigned, otherwise `false`.\\n     */\",\n      \"rowPinned\": \"/** Either `'top'` or `'bottom'` if row pinned, otherwise `undefined` or `null`. */\",\n      \"selectable\": \"/** Is this row selectable. */\",\n      \"rowHeight\": \"/** The height, in pixels, of this row. */\",\n      \"rowTop\": \"/** The row top position in pixels. */\",\n      \"group\": \"/** `true` if this node is a group node (i.e. it has children) */\",\n      \"firstChild\": \"/** `true` if this is the first child in this group. Changes when data is sorted. */\",\n      \"lastChild\": \"/** `true` if this is the last child in this group. Changes when data is sorted. */\",\n      \"childIndex\": \"/** Index of this row with respect to its parent when grouping. Changes when data is sorted. */\",\n      \"level\": \"/** How many levels this node is from the top when grouping. */\",\n      \"uiLevel\": \"/** How many levels this node is from the top when grouping in the UI (only different to `parent` when `groupRemoveSingleChildren=true`).*/\",\n      \"parent\": \"/** The parent node to this node, or empty if top level. */\",\n      \"stub\": \"/** Used by server-side row model. `true` if this row node is a stub. A stub is a placeholder row with loading icon while waiting from row to be loaded. */\",\n      \"failedLoad\": \"/** Used by server side row model, `true` if this row node failed a load. */\",\n      \"rowIndex\": \"/** The current row index. If the row is filtered out or in a collapsed group, this value will be `null`. */\",\n      \"quickFilterAggregateText\": \"/** If using quick filter, stores a string representation of the row for searching against. */\",\n      \"master\": \"/** `true` if this row is a master row, part of master / detail (ie row can be expanded to show detail). */\",\n      \"detail\": \"/** `true` if this row is a detail row, part of master / detail (ie child row of an expanded master row). */\",\n      \"field\": \"/** The field we are grouping on from our row data. */\",\n      \"key\": \"/** The key value for this group. */\",\n      \"groupData\": \"/** If using row grouping, contains the group values for this group. */\",\n      \"aggData\": \"/** If using row grouping and aggregation, contains the aggregation data. */\",\n      \"rowGroupColumn\": \"/** The row group column used for this group. */\",\n      \"rowGroupIndex\": \"/** If doing in-memory (client-side) grouping, this is the index of the group column this cell is for.\\n     * This will always be the same as the level, unless we are collapsing groups, i.e. `groupRemoveSingleChildren=true`.\\n    */\",\n      \"expanded\": \"/** `true` if group is expanded, otherwise `false`. */\",\n      \"leafGroup\": \"/** `true` if this node is a group and the group is the bottom level in the tree. */\",\n      \"allLeafChildren\": \"/** All lowest level nodes beneath this node, no groups. */\",\n      \"allChildrenCount\": \"/** Number of children and grand children. */\",\n      \"childrenAfterGroup\": \"/** Children of this group. If multi levels of grouping, shows only immediate children. */\",\n      \"childrenAfterSort\": \"/** Sorted children of this group. */\",\n      \"childrenAfterFilter\": \"/** Filtered children of this group. */\",\n      \"footer\": \"/** `true` if row is a footer. Footers have `group = true` and `footer = true`. */\",\n      \"sibling\": \"/** If using footers, reference to the footer node for this group. */\"\n    }\n  },\n  \"StageExecuteParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"rowNode\": \"RowNode<TData>\",\n      \"rowNodeTransaction?\": \"RowNodeTransaction<TData> | null\",\n      \"rowNodeTransactions?\": \"RowNodeTransaction<TData>[] | null\",\n      \"rowNodeOrder?\": \"{ [id: string]: number; }\",\n      \"changedPath?\": \"ChangedPath\",\n      \"afterColumnsChanged?\": \"boolean\"\n    }\n  },\n  \"IRowNodeStage\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": { \"execute(params: StageExecuteParams<TData>)\": \"any\" }\n  },\n  \"ISelectionService\": {\n    \"meta\": {},\n    \"type\": {\n      \"getServerSideSelectionState()\": \"IServerSideSelectionState | IServerSideGroupSelectionState | null\",\n      \"setServerSideSelectionState(state: IServerSideSelectionState | IServerSideGroupSelectionState)\": \"void\",\n      \"getSelectedNodes()\": \"RowNode<any>[]\",\n      \"getSelectedRows()\": \"any[]\",\n      \"getSelectionCount()\": \"number\",\n      \"setNodeSelected(params: ISetNodeSelectedParams)\": \"number\",\n      \"filterFromSelection(predicate: (node: RowNode) => boolean)\": \"void\",\n      \"updateGroupsFromChildrenSelections(source: SelectionEventSourceType, changedPath?: ChangedPath)\": \"boolean\",\n      \"syncInRowNode(rowNode: RowNode, oldNode: RowNode | null)\": \"void\",\n      \"reset()\": \"void\",\n      \"getBestCostNodeSelection()\": \"RowNode[] | undefined\",\n      \"isEmpty()\": \"boolean\",\n      \"getSelectAllState(justFiltered?: boolean, justCurrentPage?: boolean)\": \"boolean | null\",\n      \"selectAllRowNodes(params: { source: SelectionEventSourceType; justFiltered?: boolean; justCurrentPage?: boolean; })\": \"void\",\n      \"deselectAllRowNodes(params: { source: SelectionEventSourceType; justFiltered?: boolean; justCurrentPage?: boolean; })\": \"void\"\n    },\n    \"docs\": {\n      \"getSelectAllState(justFiltered?: boolean, justCurrentPage?: boolean)\": \"/** @param justFiltered whether to just include nodes which have passed the filter\\n     * @param justCurrentPage whether to just include nodes on the current page\\n     * @returns all nodes including unselectable nodes which are the target of this selection attempt\\n     */\"\n    }\n  },\n  \"ISetNodeSelectedParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"node\": \"RowNode\",\n      \"newValue\": \"boolean\",\n      \"clearSelection?\": \"boolean\",\n      \"suppressFinishActions?\": \"boolean\",\n      \"rangeSelect?\": \"boolean\",\n      \"groupSelectsFiltered?\": \"boolean\",\n      \"source\": \"SelectionEventSourceType\",\n      \"event?\": \"Event\"\n    }\n  },\n  \"IServerSideGetRowsRequest\": {\n    \"meta\": {},\n    \"type\": {\n      \"startRow\": \"number | undefined\",\n      \"endRow\": \"number | undefined\",\n      \"rowGroupCols\": \"ColumnVO[]\",\n      \"valueCols\": \"ColumnVO[]\",\n      \"pivotCols\": \"ColumnVO[]\",\n      \"pivotMode\": \"boolean\",\n      \"groupKeys\": \"string[]\",\n      \"filterModel\": \"any\",\n      \"sortModel\": \"SortModelItem[]\"\n    },\n    \"docs\": {\n      \"startRow\": \"/** First row requested or undefined for all rows. */\",\n      \"endRow\": \"/** Index after the last row required row or undefined for all rows. */\",\n      \"rowGroupCols\": \"/** Columns that are currently row grouped.  */\",\n      \"valueCols\": \"/** Columns that have aggregations on them.  */\",\n      \"pivotCols\": \"/** Columns that have pivot on them.  */\",\n      \"pivotMode\": \"/** Defines if pivot mode is on or off.  */\",\n      \"groupKeys\": \"/** What groups the user is viewing.  */\",\n      \"filterModel\": \"/** If filtering, what the filter model is.  */\",\n      \"sortModel\": \"/** If sorting, what the sort model is.  */\"\n    }\n  },\n  \"IServerSideGetRowsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"request\": \"IServerSideGetRowsRequest\",\n      \"parentNode\": \"IRowNode\",\n      \"successCallback(rowsThisPage: any[], lastRow: number)\": \"void\",\n      \"success(params: LoadSuccessParams)\": \"void\",\n      \"failCallback()\": \"void\",\n      \"fail()\": \"void\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"request\": \"/** Details for the request. A simple object that can be converted to JSON.\\n     */\",\n      \"parentNode\": \"/** The parent row node. The RootNode (level -1) if request is top level.\\n     * This is NOT part fo the request as it cannot be serialised to JSON (a rowNode has methods).\\n     */\",\n      \"successCallback(rowsThisPage: any[], lastRow: number)\": \"/** @deprecated Use `success` method instead and return result as a `LoadSuccessParams` object.\\n     */\",\n      \"success(params: LoadSuccessParams)\": \"/** Success callback, pass the rows back to the grid that were requested.\\n     */\",\n      \"failCallback()\": \"/** @deprecated Use `fail` instead.\\n     */\",\n      \"fail()\": \"/** Fail callback, tell the grid the call failed so it can adjust it's state.\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IServerSideDatasource\": {\n    \"meta\": {},\n    \"type\": {\n      \"getRows(params: IServerSideGetRowsParams)\": \"void\",\n      \"destroy?()\": \"void\"\n    },\n    \"docs\": {\n      \"getRows(params: IServerSideGetRowsParams)\": \"/** Grid calls `getRows` when it requires more rows as specified in the params.\\n     * Params object contains callbacks for responding to the request.\\n     */\",\n      \"destroy?()\": \"/** Optional method, if your datasource has state it needs to clean up. */\"\n    }\n  },\n  \"IServerSideRowModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"refreshStore(params?: RefreshServerSideParams)\": \"void\",\n      \"onRowHeightChanged()\": \"void\",\n      \"onRowHeightChangedDebounced()\": \"void\",\n      \"getStoreState()\": \"ServerSideGroupLevelState[]\",\n      \"retryLoads()\": \"void\",\n      \"expandAll(value: boolean)\": \"void\",\n      \"setDatasource(datasource: IServerSideDatasource)\": \"void\",\n      \"forEachNodeAfterFilterAndSort(callback: (node: IRowNode, index: number) => void)\": \"void\",\n      \"resetRootStore()\": \"void\",\n      \"getBlockStates()\": \"void\",\n      \"setRowCount(rowCount: number, isLastRowIndexKnown?: boolean)\": \"void\",\n      \"getRow(index: number)\": \"RowNode | undefined\",\n      \"getRowNode(id: string)\": \"RowNode | undefined\",\n      \"getRowCount()\": \"number\",\n      \"getTopLevelRowCount()\": \"number\",\n      \"getTopLevelRowDisplayedIndex(topLevelIndex: number)\": \"number\",\n      \"getRowIndexAtPixel(pixel: number)\": \"number\",\n      \"isRowPresent(rowNode: RowNode)\": \"boolean\",\n      \"getRowBounds(index: number)\": \"RowBounds | null\",\n      \"isEmpty()\": \"boolean\",\n      \"isRowsToRender()\": \"boolean\",\n      \"getNodesInRangeForSelection(first: RowNode, last: RowNode | null)\": \"RowNode[]\",\n      \"forEachNode(callback: (rowNode: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"void\",\n      \"getType()\": \"RowModelType\",\n      \"isLastRowIndexKnown()\": \"boolean\",\n      \"ensureRowHeightsValid(startPixel: number, endPixel: number, startLimitIndex: number, endLimitIndex: number)\": \"boolean\",\n      \"start()\": \"void\"\n    },\n    \"docs\": {\n      \"getRow(index: number)\": \"/** Returns the rowNode at the given index. */\",\n      \"getRowNode(id: string)\": \"/** Returns the rowNode for given id. */\",\n      \"getRowCount()\": \"/** Returns the number of rows */\",\n      \"getRowIndexAtPixel(pixel: number)\": \"/** Returns the row index at the given pixel */\",\n      \"isRowPresent(rowNode: RowNode)\": \"/** Returns true if the provided rowNode is in the list of rows to render */\",\n      \"getRowBounds(index: number)\": \"/** Returns row top and bottom for a given row */\",\n      \"isEmpty()\": \"/** Returns true if this model has no rows, regardless of model filter. EG if rows present, but filtered\\n     * out, this still returns false. If it returns true, then the grid shows the 'no rows' overlay - but we\\n     * don't show that overlay if the rows are just filtered out. */\",\n      \"isRowsToRender()\": \"/** Returns true if no rows (either no rows at all, or the rows are filtered out). This is what the grid\\n     * uses to know if there are rows to render or not. */\",\n      \"getNodesInRangeForSelection(first: RowNode, last: RowNode | null)\": \"/** Returns all rows in range that should be selected. If there is a gap in range (non ClientSideRowModel) then\\n     *  then no rows should be returned  */\",\n      \"forEachNode(callback: (rowNode: RowNode, index: number) => void, includeFooterNodes?: boolean)\": \"/** Iterate through each node. What this does depends on the model type. For clientSide, goes through\\n     * all nodes. For serverSide, goes through what's loaded in memory. */\",\n      \"getType()\": \"/** The base class returns the type. We use this instead of 'instanceof' as the client might provide\\n     * their own implementation of the models in the future. */\",\n      \"isLastRowIndexKnown()\": \"/** It tells us if this row model knows about the last row that it can produce. This is used by the\\n     * PaginationPanel, if last row is not found, then the 'last' button is disabled and the last page is\\n     * not shown. This is always true for ClientSideRowModel. It toggles for InfiniteRowModel.\\n     */\",\n      \"ensureRowHeightsValid(startPixel: number, endPixel: number, startLimitIndex: number, endLimitIndex: number)\": \"/** Used by CSRM only - is makes sure there are now estimated row heights within the range. */\",\n      \"start()\": \"/** Gets called after grid is initialised. What happens depends on row model. Client Side will take rowData\\n     * from gridOptions, the other row models will start calling their datasources. */\"\n    }\n  },\n  \"IServerSideTransactionManager\": {\n    \"meta\": {},\n    \"type\": {\n      \"applyTransaction(transaction: ServerSideTransaction)\": \"ServerSideTransactionResult | undefined\",\n      \"applyTransactionAsync(transaction: ServerSideTransaction, callback?: (res: ServerSideTransactionResult) => void)\": \"void\",\n      \"flushAsyncTransactions()\": \"void\"\n    }\n  },\n  \"RefreshServerSideParams\": {\n    \"meta\": {},\n    \"type\": { \"route?\": \"string[]\", \"purge?\": \"boolean\" },\n    \"docs\": {\n      \"route?\": \"/** List of group keys, pointing to the level to refresh.\\n     * For example, to purge two levels down under 'Canada'and then '2002', pass in the string array ['Canada','2002'].\\n     * If no route is passed, or an empty array, then the top level is refreshed.\\n     */\",\n      \"purge?\": \"/** If true, then all rows at the level getting refreshed are immediately destroyed and 'loading' rows will appear.\\n     * If false, then all rows at the level getting refreshed are kept until rows are loaded (no 'loading' rows appear).\\n     */\"\n    }\n  },\n  \"RefreshStoreParams\": {\n    \"meta\": {\n      \"doc\": \"/** @deprecated use RefreshServerSideParams instead  */\"\n    },\n    \"type\": { \"route?\": \"string[]\", \"purge?\": \"boolean\" },\n    \"docs\": {\n      \"route?\": \"/** List of group keys, pointing to the level to refresh.\\n     * For example, to purge two levels down under 'Canada'and then '2002', pass in the string array ['Canada','2002'].\\n     * If no route is passed, or an empty array, then the top level is refreshed.\\n     */\",\n      \"purge?\": \"/** If true, then all rows at the level getting refreshed are immediately destroyed and 'loading' rows will appear.\\n     * If false, then all rows at the level getting refreshed are kept until rows are loaded (no 'loading' rows appear).\\n     */\"\n    }\n  },\n  \"IServerSideSelectionState\": {\n    \"meta\": {},\n    \"type\": { \"selectAll\": \"boolean\", \"toggledNodes\": \"string[]\" }\n  },\n  \"IServerSideGroupSelectionState\": {\n    \"meta\": {},\n    \"type\": {\n      \"nodeId?\": \"string\",\n      \"selectAllChildren?\": \"boolean\",\n      \"toggledNodes?\": \"IServerSideGroupSelectionState[]\"\n    }\n  },\n  \"IServerSideStore\": {\n    \"meta\": {},\n    \"type\": {\n      \"clearDisplayIndexes()\": \"void\",\n      \"getDisplayIndexEnd()\": \"number | undefined\",\n      \"isDisplayIndexInStore(displayIndex: number)\": \"boolean\",\n      \"setDisplayIndexes(displayIndexSeq: NumberSequence, nextRowTop: { value: number; })\": \"void\",\n      \"forEachStoreDeep(callback: (rowNode: IServerSideStore, index: number) => void, sequence?: NumberSequence)\": \"void\",\n      \"forEachNodeDeep(callback: (rowNode: IRowNode, index: number) => void, sequence?: NumberSequence)\": \"void\",\n      \"forEachNodeDeepAfterFilterAndSort(callback: (rowNode: IRowNode, index: number) => void, sequence?: NumberSequence)\": \"void\",\n      \"retryLoads()\": \"void\",\n      \"getRowUsingDisplayIndex(displayRowIndex: number, dontCreateBlock?: boolean)\": \"IRowNode | undefined\",\n      \"getRowBounds(index: number)\": \"RowBounds | null\",\n      \"isPixelInRange(pixel: number)\": \"boolean\",\n      \"getRowIndexAtPixel(pixel: number)\": \"number | null\",\n      \"getChildStore(keys: string[])\": \"IServerSideStore | null\",\n      \"refreshAfterSort(params: StoreRefreshAfterParams)\": \"void\",\n      \"refreshAfterFilter(params: StoreRefreshAfterParams)\": \"void\",\n      \"applyTransaction(transaction: ServerSideTransaction)\": \"ServerSideTransactionResult\",\n      \"refreshStore(purge: boolean)\": \"void\",\n      \"getRowCount()\": \"number\",\n      \"getTopLevelRowDisplayedIndex(topLevelIndex: number)\": \"number\",\n      \"isLastRowIndexKnown()\": \"boolean\",\n      \"getRowNodesInRange(firstInRange: IRowNode, lastInRange: IRowNode)\": \"IRowNode[]\",\n      \"addStoreStates(result: ServerSideGroupLevelState[])\": \"void\",\n      \"getStoreBounds()\": \"{ topPx: number; heightPx: number; }\"\n    }\n  },\n  \"StoreRefreshAfterParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"valueColChanged\": \"boolean\",\n      \"secondaryColChanged\": \"boolean\",\n      \"changedColumns\": \"string[]\"\n    }\n  },\n  \"ServerSideGroupLevelState\": {\n    \"meta\": {},\n    \"type\": {\n      \"suppressInfiniteScroll\": \"boolean\",\n      \"route\": \"string[]\",\n      \"rowCount\": \"number\",\n      \"lastRowIndexKnown?\": \"boolean\",\n      \"info?\": \"any\",\n      \"maxBlocksInCache?\": \"number\",\n      \"cacheBlockSize?\": \"number\"\n    },\n    \"docs\": {\n      \"suppressInfiniteScroll\": \"/** True if suppressing infinite scrolling and loading all the data at the current level */\",\n      \"route\": \"/** The route that identifies this level. */\",\n      \"rowCount\": \"/** How many rows the level has. This includes 'loading rows'. */\",\n      \"lastRowIndexKnown?\": \"/** Infinite Scroll only.\\n     * Whether the last row index is know.\\n     * */\",\n      \"info?\": \"/** Any extra info provided to the level, when data was loaded. */\",\n      \"maxBlocksInCache?\": \"/**Infinite Scroll only.\\n     * Max blocks allowed in the infinite cache.\\n     */\",\n      \"cacheBlockSize?\": \"/** Infinite Scroll only.\\n     * The size (number of rows) of each infinite cache block.\\n     */\"\n    }\n  },\n  \"ServerSideGroupState\": {\n    \"meta\": {\n      \"doc\": \"/** @deprecated use ServerSideGroupLevelState instead  */\"\n    },\n    \"type\": {\n      \"suppressInfiniteScroll\": \"boolean\",\n      \"route\": \"string[]\",\n      \"rowCount\": \"number\",\n      \"lastRowIndexKnown?\": \"boolean\",\n      \"info?\": \"any\",\n      \"maxBlocksInCache?\": \"number\",\n      \"cacheBlockSize?\": \"number\"\n    },\n    \"docs\": {\n      \"suppressInfiniteScroll\": \"/** True if suppressing infinite scrolling and loading all the data at the current level */\",\n      \"route\": \"/** The route that identifies this level. */\",\n      \"rowCount\": \"/** How many rows the level has. This includes 'loading rows'. */\",\n      \"lastRowIndexKnown?\": \"/** Infinite Scroll only.\\n     * Whether the last row index is know.\\n     * */\",\n      \"info?\": \"/** Any extra info provided to the level, when data was loaded. */\",\n      \"maxBlocksInCache?\": \"/**Infinite Scroll only.\\n     * Max blocks allowed in the infinite cache.\\n     */\",\n      \"cacheBlockSize?\": \"/** Infinite Scroll only.\\n     * The size (number of rows) of each infinite cache block.\\n     */\"\n    }\n  },\n  \"SetFilterModelValue\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(string | null)[]\"\n  },\n  \"SetFilterModel\": {\n    \"meta\": {},\n    \"type\": { \"filterType?\": \"'set'\", \"values\": \"SetFilterModelValue\" }\n  },\n  \"ISetFilter\": {\n    \"meta\": {\n      \"typeParams\": [\"V = string\"],\n      \"doc\": \"/** Interface contract for the public aspects of the SetFilter implementation. \\n * @param V type of value in the Set Filter\\n*/\"\n    },\n    \"type\": {\n      \"getModel()\": \"SetFilterModel | null\",\n      \"setModel(model: SetFilterModel | null)\": \"void | AgPromise<void>\",\n      \"getValues()\": \"SetFilterModelValue\",\n      \"getFilterKeys()\": \"SetFilterModelValue\",\n      \"getFilterValues()\": \"(V | null)[]\",\n      \"setFilterValues(values: (V | null)[])\": \"void\",\n      \"refreshFilterValues()\": \"void\",\n      \"resetFilterValues()\": \"void\",\n      \"getMiniFilter()\": \"string | null\",\n      \"setMiniFilter(newMiniFilter: string | null)\": \"void\",\n      \"getModelFromUi()\": \"SetFilterModel | null\",\n      \"applyModel(source?: 'api' | 'ui' | 'rowDataUpdated')\": \"boolean\",\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\"\n    },\n    \"docs\": {\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active.\\n     */\",\n      \"setModel(model: SetFilterModel | null)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     * \\n     * **Note:** if you are [providing values asynchronously](/filter-set-filter-list/#asynchronous-values)\\n     * to the Set Filter, you need to wait for these changes to be applied before performing any further\\n     * actions by waiting on the returned grid promise, e.g. \\n     * `filter.setModel({ values: ['a', 'b'] }).then(function() { gridApi.onFilterChanged(); });`\\n     */\",\n      \"getValues()\": \"/** @deprecated As of v29 use `getFilterValues` to get the values in the Set Filter\\n     * (e.g. complex objects if provided), or `getFilterKeys` to get the string keys\\n     * \\n     * Returns the full list of unique keys used by the Set Filter.\\n     */\",\n      \"getFilterKeys()\": \"/** Returns the full list of unique keys used by the Set Filter. */\",\n      \"getFilterValues()\": \"/** Returns the full list of unique values used by the Set Filter. */\",\n      \"setFilterValues(values: (V | null)[])\": \"/** Sets the values used in the Set Filter on the fly. */\",\n      \"refreshFilterValues()\": \"/** Refreshes the values shown in the filter from the original source. For example, if a\\n     * callback was provided, the callback will be executed again and the filter will refresh using\\n     * the values returned.\\n     */\",\n      \"resetFilterValues()\": \"/** Resets the Set Filter to use values from the grid, rather than any values that have been\\n     * provided directly.\\n     */\",\n      \"getMiniFilter()\": \"/** Returns the current mini-filter text. */\",\n      \"setMiniFilter(newMiniFilter: string | null)\": \"/** Sets the text in the Mini Filter at the top of the filter (the 'quick search' in the popup). */\",\n      \"getModelFromUi()\": \"/** Returns the current UI state (potentially un-applied). */\",\n      \"applyModel(source?: 'api' | 'ui' | 'rowDataUpdated')\": \"/** Applies the model shown in the UI (so that `getModel()` will now return what was in the UI\\n     * when `applyModel()` was called).\\n     * @param source The source of the method call. Default 'api'.\\n     */\",\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\"\n    }\n  },\n  \"SetFilterValuesFuncParams\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"V = string\"],\n      \"doc\": \"/** \\n * @param TData type of data row\\n * @param V type of value in the Set Filter\\n */\"\n    },\n    \"type\": {\n      \"success\": \"(values: (V | null)[]) => void\",\n      \"colDef\": \"ColDef<TData>\",\n      \"column\": \"Column\",\n      \"columnApi\": \"ColumnApi\",\n      \"api\": \"GridApi<TData>\",\n      \"context\": \"any\"\n    },\n    \"docs\": {\n      \"success\": \"/** The function to call with the values to load into the filter once they are ready. */\",\n      \"colDef\": \"/** The column definition from which the set filter is invoked. */\",\n      \"column\": \"/** Column from which the set filter is invoked. */\",\n      \"context\": \"/** The context as provided on `gridOptions.context` */\"\n    }\n  },\n  \"SetFilterValuesFunc\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"TData = any\", \"V = string\"]\n    },\n    \"type\": \"(params: SetFilterValuesFuncParams<TData, V>) => void\"\n  },\n  \"SetFilterValues\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"TData = any\", \"V = string\"]\n    },\n    \"type\": \"SetFilterValuesFunc<TData, V> | (V | null)[]\"\n  },\n  \"SetFilterParams\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"TData = any\", \"V = string\"]\n    },\n    \"type\": \"ISetFilterParams<TData, V> & IFilterParams<TData>\"\n  },\n  \"ISetFilterParams\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"V = string\"],\n      \"doc\": \"/** \\n * Parameters used in `colDef.filterParams` to configure a Set Filter (`agSetColumnFilter`).\\n * @param TData type of data row\\n * @param V type of value in the Set Filter\\n */\"\n    },\n    \"type\": {\n      \"values?\": \"SetFilterValues<TData, V>\",\n      \"refreshValuesOnOpen?\": \"boolean\",\n      \"cellHeight?\": \"number\",\n      \"suppressSorting?\": \"boolean\",\n      \"cellRenderer?\": \"any\",\n      \"cellRendererFramework?\": \"any\",\n      \"suppressMiniFilter?\": \"boolean\",\n      \"applyMiniFilterWhileTyping?\": \"boolean\",\n      \"suppressSelectAll?\": \"boolean\",\n      \"defaultToNothingSelected?\": \"boolean\",\n      \"comparator?\": \"(a: V | null, b: V | null) => number\",\n      \"textFormatter?\": \"(from: string) => string\",\n      \"valueFormatter?\": \"(params: ValueFormatterParams) => string\",\n      \"keyCreator?\": \"(params: KeyCreatorParams<TData>) => string\",\n      \"showTooltips?\": \"boolean\",\n      \"caseSensitive?\": \"boolean\",\n      \"excelMode?\": \"'mac' | 'windows'\",\n      \"convertValuesToStrings?\": \"boolean\",\n      \"treeList?\": \"boolean\",\n      \"treeListPathGetter?\": \"(value: V | null) => string[] | null\",\n      \"treeListFormatter?\": \"(pathKey: string | null, level: number, parentPathKeys: (string | null)[]) => string\",\n      \"buttons?\": \"FilterButtonType[]\",\n      \"closeOnApply?\": \"boolean\",\n      \"debounceMs?\": \"number\",\n      \"readOnly?\": \"boolean\"\n    },\n    \"docs\": {\n      \"values?\": \"/** The values to display in the Filter List. If this is not set, the filter will takes its\\n     * values from what is loaded in the table.\\n     */\",\n      \"refreshValuesOnOpen?\": \"/** Refresh the values every time the Set filter is opened.\\n     */\",\n      \"cellHeight?\": \"/** The height of values in the Filter List in pixels. */\",\n      \"suppressSorting?\": \"/** If `true`, the Set Filter values will not be sorted. Use this if you are providing your own\\n     * values and don't want them sorted as you are providing in the order you want.\\n     * \\n     * Default: `false`\\n     */\",\n      \"cellRenderer?\": \"/** Similar to the Cell Renderer for the grid. Setting it separately here allows for the value to\\n     * be rendered differently in the filter.\\n     */\",\n      \"cellRendererFramework?\": \"/** @deprecated as of v27, use cellRenderer for Framework components also\\n     * Similar to the Cell Renderer Comp for the grid. Setting it separately here allows for the value to\\n     * be rendered differently in the filter.\\n     */\",\n      \"suppressMiniFilter?\": \"/** Set to `true` to hide the Mini Filter.\\n     * \\n     * Default: `false`\\n     */\",\n      \"applyMiniFilterWhileTyping?\": \"/** Set to `true` to apply the Set Filter immediately when the user is typing in the Mini Filter.\\n     * \\n     * Default: `false`\\n     */\",\n      \"suppressSelectAll?\": \"/** Set to `true` to remove the Select All checkbox.\\n     * Default: `false`\\n     */\",\n      \"defaultToNothingSelected?\": \"/** By default, when the Set Filter is opened all values are shown selected. Set this to `true`\\n     * to instead show all values as de-selected by default.\\n     * \\n     * This does not work when `excelMode` is enabled.\\n     */\",\n      \"comparator?\": \"/** Comparator for sorting. If not provided, the Column Definition comparator is used. If Column\\n     * Definition comparator is also not provided, the default (grid provided) comparator is used.\\n     */\",\n      \"textFormatter?\": \"/** If specified, this formats the text before applying the Mini Filter compare logic, useful for\\n     * instance to substitute accented characters.\\n     */\",\n      \"valueFormatter?\": \"/** If specified, this formats the value before it is displayed in the Filter List.\\n     * If a Key Creator is provided (see `keyCreator`), this must also be provided,\\n     * unless `convertValuesToStrings` is `true`\\n     */\",\n      \"keyCreator?\": \"/** Function to return a string key for a value. This is required when the filter values are complex objects,\\n     * or when `treeList = true` and the column is a group column with Tree Data or Grouping enabled.\\n     * If not provided, the Column Definition Key Creator is used.\\n     */\",\n      \"showTooltips?\": \"/** If `true`, hovering over a value in the Set Filter will show a tooltip containing the full,\\n     * untruncated value.\\n     * \\n     * Default: `false`\\n     */\",\n      \"caseSensitive?\": \"/** If `true`, enables case-sensitivity in the SetFilter Mini-Filter and Filter List.\\n     * Default: `false`.\\n     */\",\n      \"excelMode?\": \"/** Changes the behaviour of the Set Filter to match that of Excel's AutoFilter.\\n     */\",\n      \"convertValuesToStrings?\": \"/** @deprecated As of v29 the Filter Model and Filter List will accept and return complex objects,\\n     * as well as maintaining the type of primitives (e.g. number, boolean) when not used as keys.\\n     * \\n     * If this option is set to `true`, values will instead be converted to strings within the Filter Model and Filter List.\\n     * Complex objects will be converted via the Key Creator, and primitive types will be converted directly to strings.\\n     */\",\n      \"treeList?\": \"/** If `true`, the Set Filter List will be displayed in a tree format. If enabled, one of the following must be true:\\n     * \\n     * - A `treeListPathGetter` is provided to get the tree path for the column values.\\n     * - The column values are of type `Date`, in which case the tree will be year -> month -> day.\\n     * - Tree Data mode is enabled and the column is the group column. The Filter List will match the tree structure. A Key Creator must be supplied.\\n     * - Grouping is enabled and the column is the group column. The Filter List will match the group structure. A Key Creator must be supplied.\\n     */\",\n      \"treeListPathGetter?\": \"/** Requires `treeList = true`. If provided, this gets the tree path to display in the Set Filter List based on the column values.\\n     */\",\n      \"treeListFormatter?\": \"/** Requires `treeList = true`. If specified, this formats the tree values before they are displayed in the Filter List.\\n     * @param pathKey - The key for the current node in the tree.\\n     * @param level - The level of the current node in the tree (starting at 0).\\n     * @param parentPathKeys - The keys of the parent nodes up until the current node (exclusive).\\n     * This will be an empty array if the node is at the root level.\\n     */\",\n      \"buttons?\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"closeOnApply?\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"debounceMs?\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"readOnly?\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\"\n    }\n  },\n  \"ISetFilterTreeListTooltipParams\": {\n    \"meta\": {\n      \"doc\": \"/** Tooltip params used with the Set Filter Tree List.\\n */\"\n    },\n    \"type\": {\n      \"level\": \"number\",\n      \"location\": \"string\",\n      \"value?\": \"TValue\",\n      \"valueFormatted?\": \"string | null\",\n      \"colDef?\": \"ColDef<TData> | ColGroupDef<TData> | null\",\n      \"column?\": \"Column | ColumnGroup\",\n      \"rowIndex?\": \"number\",\n      \"node?\": \"IRowNode<TData>\",\n      \"data?\": \"TData\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"level\": \"/** Level of the tree (starting at 0). */\",\n      \"location\": \"/** What part of the application is showing the tooltip, e.g. 'cell', 'header', 'menuItem' etc */\",\n      \"value?\": \"/** The value to be rendered by the tooltip. */\",\n      \"valueFormatted?\": \"/** The formatted value to be rendered by the tooltip. */\",\n      \"colDef?\": \"/** Column / ColumnGroup definition. */\",\n      \"column?\": \"/** Column / ColumnGroup */\",\n      \"rowIndex?\": \"/** The index of the row containing the cell rendering the tooltip. */\",\n      \"node?\": \"/** The row node. */\",\n      \"data?\": \"/** Data for the row node in question. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ISideBar\": {\n    \"meta\": {},\n    \"type\": {\n      \"refresh()\": \"void\",\n      \"setDisplayed(show: boolean)\": \"void\",\n      \"setSideBarPosition(position?: 'left' | 'right')\": \"void\",\n      \"isToolPanelShowing()\": \"boolean\",\n      \"openToolPanel(key: string, source?: 'sideBarButtonClicked' | 'sideBarInitializing' | 'api')\": \"void\",\n      \"getToolPanelInstance(key: string)\": \"IToolPanel | undefined\",\n      \"close(source?: 'sideBarButtonClicked' | 'sideBarInitializing' | 'api')\": \"void\",\n      \"openedItem()\": \"string | null\",\n      \"isDisplayed()\": \"boolean\",\n      \"getDef()\": \"SideBarDef | undefined\"\n    }\n  },\n  \"ToolPanelDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"id\": \"string\",\n      \"labelKey\": \"string\",\n      \"labelDefault\": \"string\",\n      \"minWidth?\": \"number\",\n      \"maxWidth?\": \"number\",\n      \"width?\": \"number\",\n      \"iconKey\": \"string\",\n      \"toolPanel?\": \"any\",\n      \"toolPanelFramework?\": \"any\",\n      \"toolPanelParams?\": \"any\"\n    },\n    \"docs\": {\n      \"id\": \"/** The unique ID for this panel. Used in the API and elsewhere to refer to the panel. */\",\n      \"labelKey\": \"/** The key used for localisation for displaying the label. The label is displayed in the tab button. */\",\n      \"labelDefault\": \"/** The default label if `labelKey` is missing or does not map to valid text through localisation. */\",\n      \"minWidth?\": \"/** The min width of the tool panel. Default: `100` */\",\n      \"maxWidth?\": \"/** The max width of the tool panel. Default: `undefined` */\",\n      \"width?\": \"/** The initial width of the tool panel. Default: `$side-bar-panel-width (theme variable)` */\",\n      \"iconKey\": \"/** The key of the icon to be used as a graphical aid beside the label in the side bar. */\",\n      \"toolPanel?\": \"/** The tool panel component to use as the panel.\\n     * The provided panels use components `agColumnsToolPanel` and `agFiltersToolPanel`.\\n     * To provide your own custom panel component, you reference it here.\\n     */\",\n      \"toolPanelFramework?\": \"/** @deprecated Same as `toolPanel` but for framework specific components. As of v27, use toolPanel instead for Framework components */\",\n      \"toolPanelParams?\": \"/** Customise the parameters provided to the `toolPanel` component. */\"\n    }\n  },\n  \"SideBarDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"toolPanels?\": \"(ToolPanelDef | string)[]\",\n      \"defaultToolPanel?\": \"string\",\n      \"hiddenByDefault?\": \"boolean\",\n      \"position?\": \"'left' | 'right'\"\n    },\n    \"docs\": {\n      \"toolPanels?\": \"/** A list of all the panels to place in the side bar. The panels will be displayed in the provided order from top to bottom.\\n     */\",\n      \"defaultToolPanel?\": \"/** The panel (identified by ID) to open by default. If none specified, the side bar is initially displayed closed. */\",\n      \"hiddenByDefault?\": \"/** To hide the side bar by default, set this to `true`. If left undefined the side bar will be shown. */\",\n      \"position?\": \"/** Sets the side bar position relative to the grid. */\"\n    }\n  },\n  \"ISparklineCellRendererParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"sparklineOptions?\": \"SparklineOptions\",\n      \"value\": \"TValue\",\n      \"valueFormatted\": \"string | null | undefined\",\n      \"fullWidth?\": \"boolean\",\n      \"pinned?\": \"\\\"left\\\" | \\\"right\\\" | null\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number\",\n      \"colDef?\": \"ColDef\",\n      \"column?\": \"Column\",\n      \"eGridCell\": \"HTMLElement\",\n      \"eParentOfValue\": \"HTMLElement\",\n      \"getValue?\": \"() => any\",\n      \"setValue?\": \"(value: any) => void\",\n      \"formatValue?\": \"(value: any) => any\",\n      \"refreshCell?\": \"() => void\",\n      \"registerRowDragger\": \"(rowDraggerElement: HTMLElement, dragStartPixels?: number, value?: string, suppressVisibilityChange?: boolean) => void\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"value\": \"/** Value to be rendered. */\",\n      \"valueFormatted\": \"/** Formatted value to be rendered. */\",\n      \"fullWidth?\": \"/** True if this is a full width row. */\",\n      \"pinned?\": \"/** Pinned state of the cell. */\",\n      \"data\": \"/** The row's data. Data property can be `undefined` when row grouping or loading infinite row models. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The current index of the row (this changes after filter and sort). */\",\n      \"colDef?\": \"/** The cell's column definition. */\",\n      \"column?\": \"/** The cell's column. */\",\n      \"eGridCell\": \"/** The grid's cell, a DOM div element. */\",\n      \"eParentOfValue\": \"/** The parent DOM item for the cell renderer, same as eGridCell unless using checkbox selection. */\",\n      \"getValue?\": \"/** Convenience function to get most recent up to date value. */\",\n      \"setValue?\": \"/** Convenience function to set the value. */\",\n      \"formatValue?\": \"/** Convenience function to format a value using the column's formatter. */\",\n      \"refreshCell?\": \"/** Convenience function to refresh the cell. */\",\n      \"registerRowDragger\": \"/** registerRowDragger:\\n     * @param rowDraggerElement The HTMLElement to be used as Row Dragger\\n     * @param dragStartPixels The amount of pixels required to start the drag (Default: 4)\\n     * @param value The value to be displayed while dragging. Note: Only relevant with Full Width Rows.\\n     * @param suppressVisibilityChange Set to `true` to prevent the Grid from hiding the Row Dragger when it is disabled.\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"SparklineOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"LineSparklineOptions | AreaSparklineOptions | ColumnSparklineOptions | BarSparklineOptions\"\n  },\n  \"BaseSparklineOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"padding?\": \"PaddingOptions\",\n      \"axis?\": \"SparklineAxisOptions\",\n      \"highlightStyle?\": \"HighlightStyleOptions\",\n      \"tooltip?\": \"SparklineTooltipOptions\"\n    },\n    \"docs\": {\n      \"xKey?\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"yKey?\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"padding?\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"axis?\": \"/** The options for the axis line in the sparklines. */\",\n      \"highlightStyle?\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"tooltip?\": \"/** Configuration for the tooltips. */\"\n    }\n  },\n  \"LineSparklineOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type?\": \"'line'\",\n      \"line?\": \"SparklineLineOptions\",\n      \"marker?\": \"SparklineMarkerOptions\",\n      \"crosshairs?\": \"SparklineCrosshairsOptions\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"padding?\": \"PaddingOptions\",\n      \"axis?\": \"SparklineAxisOptions\",\n      \"highlightStyle?\": \"HighlightStyleOptions\",\n      \"tooltip?\": \"SparklineTooltipOptions\"\n    },\n    \"docs\": {\n      \"type?\": \"/** The type of sparklines to create, in this case it would be `'line'`. */\",\n      \"line?\": \"/** The configuration for the line. */\",\n      \"marker?\": \"/** The configuration for the marker styles. */\",\n      \"crosshairs?\": \"/** The configuration for the crosshairs. */\",\n      \"xKey?\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"yKey?\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"padding?\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"axis?\": \"/** The options for the axis line in the sparklines. */\",\n      \"highlightStyle?\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"tooltip?\": \"/** Configuration for the tooltips. */\"\n    }\n  },\n  \"AreaSparklineOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type?\": \"'area'\",\n      \"fill?\": \"string\",\n      \"line?\": \"SparklineLineOptions\",\n      \"marker?\": \"SparklineMarkerOptions\",\n      \"crosshairs?\": \"SparklineCrosshairsOptions\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"padding?\": \"PaddingOptions\",\n      \"axis?\": \"SparklineAxisOptions\",\n      \"highlightStyle?\": \"HighlightStyleOptions\",\n      \"tooltip?\": \"SparklineTooltipOptions\"\n    },\n    \"docs\": {\n      \"type?\": \"/** The type of sparklines to create, in this case it would be `'area'`. */\",\n      \"fill?\": \"/** The CSS colour value for the fill of the area.\\n     * Default: `'rgba(124, 181, 236, 0.25)'`\\n     */\",\n      \"line?\": \"/** The configuration for the line. */\",\n      \"marker?\": \"/** The configuration for the marker styles. */\",\n      \"crosshairs?\": \"/** The configuration for the crosshairs. */\",\n      \"xKey?\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"yKey?\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"padding?\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"axis?\": \"/** The options for the axis line in the sparklines. */\",\n      \"highlightStyle?\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"tooltip?\": \"/** Configuration for the tooltips. */\"\n    }\n  },\n  \"ColumnSparklineOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type?\": \"'column'\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\",\n      \"paddingInner?\": \"number\",\n      \"paddingOuter?\": \"number\",\n      \"valueAxisDomain?\": \"[ number, number ]\",\n      \"formatter?\": \"SparklineColumnFormatter\",\n      \"label?\": \"SparklineLabelOptions\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"padding?\": \"PaddingOptions\",\n      \"axis?\": \"SparklineAxisOptions\",\n      \"highlightStyle?\": \"HighlightStyleOptions\",\n      \"tooltip?\": \"SparklineTooltipOptions\"\n    },\n    \"docs\": {\n      \"type?\": \"/** The type of sparklines to create, in this case it would be `'column'`. */\",\n      \"fill?\": \"/** The CSS colour value for the fill of the columns.\\n     * Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the columns.\\n     * Default: `'silver'`\\n     */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the columns.\\n     * Default: `0`\\n     */\",\n      \"paddingInner?\": \"/** The size of the gap between the columns as a proportion, between 0 and 1. This value is a fraction of the “step”, which is the interval between the start of a band and the start of the next band.\\n     * Default: `0.1`\\n     */\",\n      \"paddingOuter?\": \"/** The padding on the outside i.e. left and right of the first and last columns, to leave some room for the axis. In association with `paddingInner`, this value can be between 0 and 1.\\n     * Default: `0.2`\\n     */\",\n      \"valueAxisDomain?\": \"/** User override for the automatically determined domain (based on data min and max values). Only applied to `number` axes.\\n     * Used to interpolate the numeric pixel values corresponding to each data value.\\n     */\",\n      \"formatter?\": \"/** A callback function to return format styles of type ColumnFormat, based on the data represented by individual columns. */\",\n      \"label?\": \"/** Configuration for the labels. */\",\n      \"xKey?\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"yKey?\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"padding?\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"axis?\": \"/** The options for the axis line in the sparklines. */\",\n      \"highlightStyle?\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"tooltip?\": \"/** Configuration for the tooltips. */\"\n    }\n  },\n  \"BarSparklineOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type?\": \"'bar'\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\",\n      \"paddingInner?\": \"number\",\n      \"paddingOuter?\": \"number\",\n      \"valueAxisDomain?\": \"[ number, number ]\",\n      \"formatter?\": \"SparklineBarFormatter\",\n      \"label?\": \"SparklineLabelOptions\",\n      \"xKey?\": \"string\",\n      \"yKey?\": \"string\",\n      \"padding?\": \"PaddingOptions\",\n      \"axis?\": \"SparklineAxisOptions\",\n      \"highlightStyle?\": \"HighlightStyleOptions\",\n      \"tooltip?\": \"SparklineTooltipOptions\"\n    },\n    \"docs\": {\n      \"type?\": \"/** The type of sparklines to create, in this case it would be `'bar'`. */\",\n      \"fill?\": \"/** The CSS colour value for the fill of the bars.\\n     * Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the bars.\\n     * Default `'silver'`\\n     */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the bars.\\n     * Default: `0`\\n     */\",\n      \"paddingInner?\": \"/** The size of the gap between the bars as a proportion, between 0 and 1. This value is a fraction of the “step”, which is the interval between the start of a band and the start of the next band.\\n     * Default: `0.1`\\n     */\",\n      \"paddingOuter?\": \"/** The padding on the outside i.e. left and right of the first and last bars, to leave some room for the axis. In association with `paddingInner`, this value can be between 0 and 1.\\n     * Default: `0.2`\\n     */\",\n      \"valueAxisDomain?\": \"/** User override for the automatically determined domain (based on data min and max values). Only applied to `number` axes.\\n     * Used to interpolate the numeric pixel values corresponding to each data value.\\n     */\",\n      \"formatter?\": \"/** A callback function to return format styles of type BarFormat, based on the data represented by individual bars. */\",\n      \"label?\": \"/** Configuration for the labels. */\",\n      \"xKey?\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"yKey?\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"padding?\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"axis?\": \"/** The options for the axis line in the sparklines. */\",\n      \"highlightStyle?\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"tooltip?\": \"/** Configuration for the tooltips. */\"\n    }\n  },\n  \"SparklineLabelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"fontSize?\": \"number\",\n      \"fontFamily?\": \"string\",\n      \"fontStyle?\": \"'normal' | 'italic' | 'oblique'\",\n      \"fontWeight?\": \"'normal' | 'bold' | 'bolder' | 'lighter' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'\",\n      \"color?\": \"string\",\n      \"formatter?\": \"(params: LabelFormatterParams) => string\",\n      \"placement?\": \"BarColumnLabelPlacement\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Set to true to enable labels.\\n     * Default: `false`\\n     */\",\n      \"fontSize?\": \"/** Set size of the font.\\n     * Default: `8`\\n     */\",\n      \"fontFamily?\": \"/** Specify the font for the label text.\\n     * Default: `Verdana, sans-serif`\\n     */\",\n      \"fontStyle?\": \"/** Specify the font style for the label text. */\",\n      \"fontWeight?\": \"/** Set how thick or thin characters in label text should be displayed. */\",\n      \"color?\": \"/** Set the color of the label text. The color can be specified by a color name, a HEX or an RGB value.\\n     * Default: `rgba(70, 70, 70, 1)`\\n     */\",\n      \"formatter?\": \"/** A callback function to return the text to be displayed as the label, based on the value represented by the column or bar.\\n     * By default the values are simply stringified. */\",\n      \"placement?\": \"/** Where to render labels relative to the segments.\\n    * Default: `insideEnd`\\n    * */\"\n    }\n  },\n  \"LabelFormatterParams\": {\n    \"meta\": {},\n    \"type\": { \"value\": \"number | undefined\" },\n    \"docs\": { \"value\": \"/** The Y value of the data point. */\" }\n  },\n  \"BarColumnLabelPlacement\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"InsideBase = 'insideBase'\",\n      \"InsideEnd = 'insideEnd'\",\n      \"Center = 'center'\",\n      \"OutsideEnd = 'outsideEnd'\"\n    ],\n    \"docs\": [null, null, null, null]\n  },\n  \"PaddingOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"top?\": \"number\",\n      \"right?\": \"number\",\n      \"bottom?\": \"number\",\n      \"left?\": \"number\"\n    },\n    \"docs\": {\n      \"top?\": \"/** The number of pixels of padding at the top of the sparkline area.\\n     * Default: `3`\\n     */\",\n      \"right?\": \"/** The number of pixels of padding at the right of the sparkline area.\\n     * Default: `3`\\n     */\",\n      \"bottom?\": \"/** The number of pixels of padding at the bottom of the sparkline area.\\n     * Default: `3`\\n     */\",\n      \"left?\": \"/** The number of pixels of padding at the left of the sparkline area.\\n     * Default: `3`\\n     */\"\n    }\n  },\n  \"SparklineAxisOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"type?\": \"AxisType\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\"\n    },\n    \"docs\": {\n      \"type?\": \"/** The type of axis used to plot the data.\\n     * Default: `'category'`\\n     */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the axis line.\\n     * Default: `'rgb(204, 214, 235)'`\\n     */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the axis line.\\n     * Default: `1`\\n     */\"\n    }\n  },\n  \"AxisType\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'number' | 'category' | 'time'\"\n  },\n  \"SparklineTooltipOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"container?\": \"HTMLElement\",\n      \"xOffset?\": \"number\",\n      \"yOffset?\": \"number\",\n      \"renderer?\": \"SparklineTooltipRenderer\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Set to false to disable tooltips. */\",\n      \"container?\": \"/** The element to place the tooltip into. This can be used to confine the tooltip to a specific area which may be outside of the sparkline grid cell. */\",\n      \"xOffset?\": \"/** The horizontal distance in pixels between the cursor and the top left corner of the tooltip.\\n     * Default: `10`\\n     */\",\n      \"yOffset?\": \"/** The vertical distance in pixels between the cursor and the top left corner of the tooltip.\\n     * Default: `0`\\n     */\",\n      \"renderer?\": \"/** A callback function used to create the content for the tooltips. This function should return an object or a HTML string used to render the tooltip. */\"\n    }\n  },\n  \"SparklineTooltipRenderer\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(params: TooltipRendererParams) => TooltipRendererResult\"\n  },\n  \"TooltipRendererResult\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"content?\": \"string\",\n      \"title?\": \"string\",\n      \"color?\": \"string\",\n      \"backgroundColor?\": \"string\",\n      \"opacity?\": \"number\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Set to false to disable individual tooltip. */\",\n      \"content?\": \"/** The content to display in each tooltip. */\",\n      \"title?\": \"/** The title of the tooltip. */\",\n      \"color?\": \"/** The CSS color for the title text. */\",\n      \"backgroundColor?\": \"/** The CSS color for the background of the tooltip title. */\",\n      \"opacity?\": \"/** The opacity of the background for the tooltip title. */\"\n    }\n  },\n  \"TooltipRendererParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"context?\": \"any\",\n      \"datum\": \"any\",\n      \"xValue\": \"any\",\n      \"yValue\": \"any\"\n    },\n    \"docs\": {\n      \"context?\": \"/** The grid context, includes row data, giving access to data from other columns in the same row. */\",\n      \"datum\": \"/** The raw datum associated with the point. */\",\n      \"xValue\": \"/** The X value of the data point. */\",\n      \"yValue\": \"/** The Y value of the data point. */\"\n    }\n  },\n  \"SparklineLineOptions\": {\n    \"meta\": {},\n    \"type\": { \"stroke?\": \"string\", \"strokeWidth?\": \"number\" },\n    \"docs\": {\n      \"stroke?\": \"/** The CSS colour value for the line.\\n     *  Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the line.\\n     * Default: `1`\\n     */\"\n    }\n  },\n  \"HighlightStyleOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"size?\": \"number\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\"\n    },\n    \"docs\": {\n      \"size?\": \"/** The width in pixels of the markers when hovered over. This is only for the Line and Area sparklines as Column and Bar sparklines do not have markers.\\n     * Default: `6`\\n     */\",\n      \"fill?\": \"/** The fill colour of the markers, columns or bars when hovered over. Use `undefined` for no highlight fill.\\n     * Default: `'yellow'`\\n     */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the markers, columns or bars when hovered over. Use `undefined` for no highlight stroke.\\n     * Default: `'silver'`\\n     */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the markers, columns or bars when hovered over.\\n     * Default: `1`\\n     */\"\n    }\n  },\n  \"SparklineCrosshairsOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"xLine?\": \"CrosshairLineOptions\",\n      \"yLine?\": \"CrosshairLineOptions\"\n    }\n  },\n  \"CrosshairLineOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\",\n      \"lineDash?\": \"'dash' | 'dashDot' | 'dashDotDot' | 'dot' | 'longDash' | 'longDashDot' | 'longDashDotDot' | 'shortDash' | 'shortDashDot' | 'shortDashDotDot' | 'shortDot' | 'solid'\",\n      \"lineCap?\": \"'round' | 'square' | 'butt'\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Set to true to show crosshair line.\\n     * Default: false\\n     */\",\n      \"stroke?\": \"/** The CSS colour value for the crosshair line.\\n     * Default: `rgba(0,0,0, 0.54)`\\n     */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the crosshair line.\\n     * Default: 1\\n     */\",\n      \"lineDash?\": \"/** Defines how the crosshair stroke is rendered. This can be one of the lineDash style options.\\n     * The default is `solid`, this renders a solid stroke with no gaps.\\n     */\",\n      \"lineCap?\": \"/** The shape used to draw the end points of the crosshair line.\\n     * The options include `butt` (the ends of the line are squared off at the endpoints), `round` (the ends of the line are rounded) and `square` (the ends of the line are squared off by adding a box with width equal to the line's strokeWidth and height equal to half the line's strokeWidth).\\n     * Default: `butt`\\n     */\"\n    }\n  },\n  \"SparklineColumnFormatter\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(params: ColumnFormatterParams) => ColumnFormat\"\n  },\n  \"SparklineBarFormatter\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(params: BarFormatterParams) => BarFormat\"\n  },\n  \"ColumnFormatterParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"datum\": \"any\",\n      \"xValue\": \"any\",\n      \"yValue\": \"any\",\n      \"width\": \"number\",\n      \"height\": \"number\",\n      \"min?\": \"boolean\",\n      \"max?\": \"boolean\",\n      \"first?\": \"boolean\",\n      \"last?\": \"boolean\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth\": \"number\",\n      \"highlighted\": \"boolean\"\n    },\n    \"docs\": {\n      \"datum\": \"/** The raw data associated with the specific column. */\",\n      \"xValue\": \"/** The X value of the data point. */\",\n      \"yValue\": \"/** The Y value of the data point. */\",\n      \"width\": \"/** The width of the column in pixels. */\",\n      \"height\": \"/** The height of the column in pixels. */\",\n      \"min?\": \"/** Whether or not the column is a minimum point. */\",\n      \"max?\": \"/** Whether or not the column is a maximum point. */\",\n      \"first?\": \"/** Whether or not the column represents the first data point. */\",\n      \"last?\": \"/** Whether or not the column represents the last data point. */\",\n      \"fill?\": \"/** The CSS colour value for the fill of the individual column. */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the individual column. */\",\n      \"strokeWidth\": \"/** The thickness in pixels for the stroke of the individual column. */\",\n      \"highlighted\": \"/** Whether or not the column is highlighted. */\"\n    }\n  },\n  \"ColumnFormat\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\"\n    },\n    \"docs\": {\n      \"fill?\": \"/** The CSS colour value for the fill of the individual column. */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the individual column. */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the individual column.*/\"\n    }\n  },\n  \"BarFormatterParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"datum\": \"any\",\n      \"xValue\": \"any\",\n      \"yValue\": \"any\",\n      \"width\": \"number\",\n      \"height\": \"number\",\n      \"min?\": \"boolean\",\n      \"max?\": \"boolean\",\n      \"first?\": \"boolean\",\n      \"last?\": \"boolean\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth\": \"number\",\n      \"highlighted\": \"boolean\"\n    },\n    \"docs\": {\n      \"datum\": \"/** The raw data associated with the specific bar. */\",\n      \"xValue\": \"/** The X value of the data point. */\",\n      \"yValue\": \"/** The Y value of the data point. */\",\n      \"width\": \"/** The width of the bar in pixels. */\",\n      \"height\": \"/** The height of the bar in pixels. */\",\n      \"min?\": \"/** Whether or not the bar is a minimum point. */\",\n      \"max?\": \"/** Whether or not the bar is a maximum point. */\",\n      \"first?\": \"/** Whether or not the bar represents the first data point. */\",\n      \"last?\": \"/** Whether or not the bar represents the last data point. */\",\n      \"fill?\": \"/** The CSS colour value for the fill of the individual bar. */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the individual bar. */\",\n      \"strokeWidth\": \"/** The thickness in pixels for the stroke of the individual bar. */\",\n      \"highlighted\": \"/** Whether or not the bar is highlighted. */\"\n    }\n  },\n  \"BarFormat\": {\n    \"meta\": {},\n    \"type\": {\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\"\n    },\n    \"docs\": {\n      \"fill?\": \"/** The CSS colour value for the fill of the individual bar. */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the individual bar. */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the individual bar.*/\"\n    }\n  },\n  \"SparklineMarkerOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"shape?\": \"string\",\n      \"size?\": \"number\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\",\n      \"formatter?\": \"SparklineMarkerFormatter\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** By default this is set to `true` whilst marker size is set to `0`, which means the markers are present but not visible.\\n     * Default: `true`\\n     */\",\n      \"shape?\": \"/** The shape of the markers.\\n     * Default: `'circle'`\\n     */\",\n      \"size?\": \"/** The width in pixels of markers. By default this is `0`, increase the size to make markers visible.\\n     * Default: `0`\\n     */\",\n      \"fill?\": \"/** The CSS colour value for the fill of the markers.\\n     * Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the markers.\\n     * Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the markers.\\n     * Default: `1`\\n     */\",\n      \"formatter?\": \"/** A callback function to return format styles for individual markers. */\"\n    }\n  },\n  \"SparklineMarkerFormatter\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(params: MarkerFormatterParams) => MarkerFormat\"\n  },\n  \"MarkerFormatterParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"datum\": \"any\",\n      \"xValue\": \"any\",\n      \"yValue\": \"any\",\n      \"min?\": \"boolean\",\n      \"max?\": \"boolean\",\n      \"first?\": \"boolean\",\n      \"last?\": \"boolean\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth\": \"number\",\n      \"size\": \"number\",\n      \"highlighted\": \"boolean\"\n    },\n    \"docs\": {\n      \"datum\": \"/** The raw data associated with the specific marker. */\",\n      \"xValue\": \"/** The X value of the data point. */\",\n      \"yValue\": \"/** The Y value of the data point. */\",\n      \"min?\": \"/** Whether or not the marker is a minimum point. */\",\n      \"max?\": \"/** Whether or not the marker is a maximum point. */\",\n      \"first?\": \"/** Whether or not the marker represents the first data point. */\",\n      \"last?\": \"/** Whether or not the marker represents the last data point. */\",\n      \"fill?\": \"/** The CSS colour value for the fill of the individual marker. */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the individual marker. */\",\n      \"strokeWidth\": \"/** The thickness in pixels for the stroke of the individual marker. */\",\n      \"size\": \"/** The width in pixels of the individual marker. */\",\n      \"highlighted\": \"/** Whether or not the marker is highlighted. */\"\n    }\n  },\n  \"MarkerFormat\": {\n    \"meta\": {},\n    \"type\": {\n      \"enabled?\": \"boolean\",\n      \"size?\": \"number\",\n      \"fill?\": \"string\",\n      \"stroke?\": \"string\",\n      \"strokeWidth?\": \"number\"\n    },\n    \"docs\": {\n      \"enabled?\": \"/** Set to false to make marker invisible. */\",\n      \"size?\": \"/** The width in pixels of the individual marker. */\",\n      \"fill?\": \"/** The CSS colour value for the fill of the individual marker. */\",\n      \"stroke?\": \"/** The CSS colour value for the outline of the individual marker. */\",\n      \"strokeWidth?\": \"/** The thickness in pixels for the stroke of the individual marker.*/\"\n    }\n  },\n  \"IStatusBarService\": {\n    \"meta\": {},\n    \"type\": {\n      \"registerStatusPanel(key: string, component: IStatusPanelComp)\": \"void\",\n      \"getStatusPanel(key: string)\": \"IStatusPanelComp\"\n    }\n  },\n  \"StatusPanelDef\": {\n    \"meta\": {},\n    \"type\": {\n      \"statusPanel?\": \"any\",\n      \"statusPanelFramework?\": \"any\",\n      \"align?\": \"string\",\n      \"key?\": \"string\",\n      \"statusPanelParams?\": \"any\"\n    },\n    \"docs\": {\n      \"statusPanelFramework?\": \"/** @deprecated As of v27, you can use statusPanel instead for Framework Components.  */\"\n    }\n  },\n  \"IStatusPanelParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IStatusPanel\": { \"meta\": {}, \"type\": {} },\n  \"IStatusPanelComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: IStatusPanelParams)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: IStatusPanelParams)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"IToolPanelParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IToolPanel\": { \"meta\": {}, \"type\": { \"refresh()\": \"void\" } },\n  \"IToolPanelComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"refresh()\": \"void\",\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: IToolPanelParams)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: IToolPanelParams)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"ToolPanelColumnCompParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"suppressColumnMove\": \"boolean\",\n      \"suppressRowGroups\": \"boolean\",\n      \"suppressValues\": \"boolean\",\n      \"suppressPivots\": \"boolean\",\n      \"suppressPivotMode\": \"boolean\",\n      \"suppressColumnFilter\": \"boolean\",\n      \"suppressColumnSelectAll\": \"boolean\",\n      \"suppressColumnExpandAll\": \"boolean\",\n      \"contractColumnSelection\": \"boolean\",\n      \"suppressSyncLayoutWithGrid\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"suppressColumnMove\": \"/** Suppress Column Move */\",\n      \"suppressRowGroups\": \"/** Suppress Row Groups section */\",\n      \"suppressValues\": \"/** Suppress Values section */\",\n      \"suppressPivots\": \"/** Suppress Column Labels (Pivot) section */\",\n      \"suppressPivotMode\": \"/** Suppress Pivot Mode selection */\",\n      \"suppressColumnFilter\": \"/** Suppress Column Filter section */\",\n      \"suppressColumnSelectAll\": \"/** Suppress Select / Un-select all widget */\",\n      \"suppressColumnExpandAll\": \"/** Suppress Expand / Collapse all widget */\",\n      \"contractColumnSelection\": \"/** By default, column groups start expanded. Pass `true` to default to contracted groups */\",\n      \"suppressSyncLayoutWithGrid\": \"/** Suppress updating the layout of columns as they are rearranged in the grid */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IPrimaryColsPanel\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"init(allowDragging: boolean, params: ToolPanelColumnCompParams, eventType: ColumnEventType)\": \"void\",\n      \"onExpandAll()\": \"void\",\n      \"onCollapseAll()\": \"void\",\n      \"expandGroups(groupIds?: string[])\": \"void\",\n      \"collapseGroups(groupIds?: string[])\": \"void\",\n      \"setColumnLayout(colDefs: (ColDef | ColGroupDef)[])\": \"void\",\n      \"syncLayoutWithGrid()\": \"void\"\n    }\n  },\n  \"IViewportDatasource\": {\n    \"meta\": {},\n    \"type\": {\n      \"init(params: IViewportDatasourceParams)\": \"void\",\n      \"setViewportRange(firstRow: number, lastRow: number)\": \"void\",\n      \"destroy?()\": \"void\"\n    },\n    \"docs\": {\n      \"init(params: IViewportDatasourceParams)\": \"/** Gets called exactly once before viewPort is used. Passes methods to be used to tell viewPort of data loads / changes. */\",\n      \"setViewportRange(firstRow: number, lastRow: number)\": \"/** Tell the viewport what the scroll position of the grid is, so it knows what rows it has to get. */\",\n      \"destroy?()\": \"/** Gets called once when viewPort is no longer used. If you need to do any cleanup, do it here. */\"\n    }\n  },\n  \"IViewportDatasourceParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"setRowCount\": \"(count: number, keepRenderedRows?: boolean) => void\",\n      \"setRowData\": \"(rowData: { [key: number]: any; }) => void\",\n      \"getRow\": \"(rowIndex: number) => IRowNode\"\n    },\n    \"docs\": {\n      \"setRowCount\": \"/** Datasource calls this method when the total row count changes. This in turn sets the height of the grids vertical scroll. */\",\n      \"setRowData\": \"/** Datasource calls this when new data arrives. The grid then updates the provided rows. The rows are mapped [rowIndex]=>rowData].*/\",\n      \"getRow\": \"/** Datasource calls this when it wants a row node - typically used when it wants to update the row node. */\"\n    }\n  },\n  \"XmlElement\": {\n    \"meta\": {},\n    \"type\": {\n      \"name\": \"string\",\n      \"properties?\": \"XmlAttributes\",\n      \"children?\": \"XmlElement[]\",\n      \"textNode?\": \"string | null\"\n    }\n  },\n  \"HeaderElement\": {\n    \"meta\": {},\n    \"type\": {\n      \"[key: string]\": \"string | undefined\",\n      \"version?\": \"string\",\n      \"standalone?\": \"string\",\n      \"encoding?\": \"string\"\n    }\n  },\n  \"XmlAttributes\": {\n    \"meta\": {},\n    \"type\": {\n      \"prefixedAttributes?\": \"PrefixedXmlAttributes[]\",\n      \"rawMap?\": \"any\"\n    }\n  },\n  \"PrefixedXmlAttributes\": {\n    \"meta\": {},\n    \"type\": { \"prefix\": \"string\", \"map\": \"any\" }\n  },\n  \"IDetailCellRenderer\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"addOrRemoveCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"addOrRemoveDetailGridCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"setDetailGrid(gridOptions: GridOptions<TData>)\": \"void\",\n      \"setRowData(rowData: TData[])\": \"void\",\n      \"getGui()\": \"HTMLElement\"\n    }\n  },\n  \"IDetailCellRendererParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TDetail = any\"] },\n    \"type\": {\n      \"detailGridOptions\": \"GridOptions<TDetail>\",\n      \"getDetailRowData\": \"GetDetailRowData<TData, TDetail>\",\n      \"refreshStrategy\": \"'rows' | 'everything' | 'nothing'\",\n      \"template\": \"string | TemplateFunc<TData>\",\n      \"agGridReact\": \"any\",\n      \"frameworkComponentWrapper\": \"any\",\n      \"pinned\": \"\\\"left\\\" | \\\"right\\\" | null | undefined\",\n      \"value\": \"TValue\",\n      \"valueFormatted\": \"string | null | undefined\",\n      \"fullWidth?\": \"boolean\",\n      \"pinned?\": \"\\\"left\\\" | \\\"right\\\" | null\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number\",\n      \"colDef?\": \"ColDef\",\n      \"column?\": \"Column\",\n      \"eGridCell\": \"HTMLElement\",\n      \"eParentOfValue\": \"HTMLElement\",\n      \"getValue?\": \"() => any\",\n      \"setValue?\": \"(value: any) => void\",\n      \"formatValue?\": \"(value: any) => any\",\n      \"refreshCell?\": \"() => void\",\n      \"registerRowDragger\": \"(rowDraggerElement: HTMLElement, dragStartPixels?: number, value?: string, suppressVisibilityChange?: boolean) => void\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"detailGridOptions\": \"/** Provide Grid Options to use for the Detail Grid.\\n     */\",\n      \"getDetailRowData\": \"/** A function that provides what rows to display in the Detail Grid. */\",\n      \"refreshStrategy\": \"/** Defines how to refresh the Detail Grids as data is changing in the Master Grid. */\",\n      \"template\": \"/** Allows changing the template used around the Detail Grid. */\",\n      \"value\": \"/** Value to be rendered. */\",\n      \"valueFormatted\": \"/** Formatted value to be rendered. */\",\n      \"fullWidth?\": \"/** True if this is a full width row. */\",\n      \"pinned?\": \"/** Pinned state of the cell. */\",\n      \"data\": \"/** The row's data. Data property can be `undefined` when row grouping or loading infinite row models. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The current index of the row (this changes after filter and sort). */\",\n      \"colDef?\": \"/** The cell's column definition. */\",\n      \"column?\": \"/** The cell's column. */\",\n      \"eGridCell\": \"/** The grid's cell, a DOM div element. */\",\n      \"eParentOfValue\": \"/** The parent DOM item for the cell renderer, same as eGridCell unless using checkbox selection. */\",\n      \"getValue?\": \"/** Convenience function to get most recent up to date value. */\",\n      \"setValue?\": \"/** Convenience function to set the value. */\",\n      \"formatValue?\": \"/** Convenience function to format a value using the column's formatter. */\",\n      \"refreshCell?\": \"/** Convenience function to refresh the cell. */\",\n      \"registerRowDragger\": \"/** registerRowDragger:\\n     * @param rowDraggerElement The HTMLElement to be used as Row Dragger\\n     * @param dragStartPixels The amount of pixels required to start the drag (Default: 4)\\n     * @param value The value to be displayed while dragging. Note: Only relevant with Full Width Rows.\\n     * @param suppressVisibilityChange Set to `true` to prevent the Grid from hiding the Row Dragger when it is disabled.\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"GetDetailRowData\": {\n    \"meta\": {\n      \"isCallSignature\": true,\n      \"typeParams\": [\"TData = any\", \"TDetail = any\"]\n    },\n    \"type\": {\n      \"arguments\": { \"params\": \"GetDetailRowDataParams<TData, TDetail>\" },\n      \"returnType\": \"void\"\n    }\n  },\n  \"GetDetailRowDataParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TDetail = any\"] },\n    \"type\": {\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData\",\n      \"successCallback(rowData: TDetail[])\": \"void\"\n    },\n    \"docs\": {\n      \"node\": \"/** Row node for the details request. */\",\n      \"data\": \"/** Data for the current row. */\",\n      \"successCallback(rowData: TDetail[])\": \"/** Success callback: pass the rows back for the grid request.  */\"\n    }\n  },\n  \"TemplateFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n      \"returnType\": \"string\"\n    }\n  },\n  \"IDetailCellRendererCtrl\": {\n    \"meta\": {},\n    \"type\": {\n      \"init(comp: IDetailCellRenderer, params: IDetailCellRendererParams)\": \"void\",\n      \"registerDetailWithMaster(api: GridApi, columnApi: ColumnApi)\": \"void\",\n      \"refresh()\": \"boolean\"\n    }\n  },\n  \"RowDataTransaction\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"addIndex?\": \"number | null\",\n      \"add?\": \"TData[] | null\",\n      \"remove?\": \"TData[] | null\",\n      \"update?\": \"TData[] | null\"\n    },\n    \"docs\": {\n      \"addIndex?\": \"/** Index to add rows */\",\n      \"add?\": \"/** Rows to add */\",\n      \"remove?\": \"/** Rows to remove */\",\n      \"update?\": \"/** Rows to update */\"\n    }\n  },\n  \"RowNodeTransaction\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"add\": \"IRowNode<TData>[]\",\n      \"remove\": \"IRowNode<TData>[]\",\n      \"update\": \"IRowNode<TData>[]\"\n    },\n    \"docs\": {\n      \"add\": \"/** Row nodes added */\",\n      \"remove\": \"/** Row nodes removed */\",\n      \"update\": \"/** Row nodes updated */\"\n    }\n  },\n  \"ServerSideTransaction\": {\n    \"meta\": {},\n    \"type\": {\n      \"route?\": \"string[]\",\n      \"addIndex?\": \"number\",\n      \"add?\": \"any[]\",\n      \"remove?\": \"any[]\",\n      \"update?\": \"any[]\"\n    },\n    \"docs\": {\n      \"route?\": \"/** The Row Store to apply the transaction to, ie what group level.\\n     * eg ['Ireland','2002'] to update the child store found after expanding Ireland and 2002 groups.\\n     * Passing in blank to empty applies the transaction to the top level.\\n     */\",\n      \"addIndex?\": \"/** Index position to add at. If missing, rows will be added to the end. */\",\n      \"add?\": \"/** Rows to add */\",\n      \"remove?\": \"/** Rows to remove */\",\n      \"update?\": \"/** Rows to update */\"\n    }\n  },\n  \"ServerSideTransactionResult\": {\n    \"meta\": {},\n    \"type\": {\n      \"status\": \"ServerSideTransactionResultStatus\",\n      \"add?\": \"IRowNode[]\",\n      \"remove?\": \"IRowNode[]\",\n      \"update?\": \"IRowNode[]\"\n    },\n    \"docs\": {\n      \"status\": \"/** The status of applying the transaction. */\",\n      \"add?\": \"/** If rows were added, the newly created Row Nodes for those rows. */\",\n      \"remove?\": \"/** If rows were removed, the deleted Row Nodes. */\",\n      \"update?\": \"/** If rows were updated, the updated Row Nodes. */\"\n    }\n  },\n  \"ServerSideTransactionResultStatus\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"Applied = 'Applied'\",\n      \"StoreNotFound = 'StoreNotFound'\",\n      \"StoreLoading = 'StoreLoading'\",\n      \"StoreWaitingToLoad = 'StoreWaitingToLoad'\",\n      \"StoreLoadingFailed = 'StoreLoadingFailed'\",\n      \"StoreWrongType = 'StoreWrongType'\",\n      \"Cancelled = 'Cancelled'\"\n    ],\n    \"docs\": [\n      \"/** Transaction was successfully applied */\",\n      \"/** Store was not found, transaction not applied.\\n     * Either invalid route, or the parent row has not yet been expanded.\\n     */\",\n      \"/** Store is loading, transaction not applied.\\n     */\",\n      \"/** Store is loading (as max loads exceeded), transaction not applied.\\n     */\",\n      \"/** Store load attempt failed, transaction not applied.\\n     */\",\n      \"/** Store is type Partial, which doesn't accept transactions\\n     */\",\n      \"/** Transaction was cancelled, due to grid.\\n     * Callback isApplyServerSideTransaction() returning false\\n     */\"\n    ]\n  },\n  \"TabbedLayoutParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"items\": \"TabbedItem[]\",\n      \"cssClass?\": \"string\",\n      \"keepScrollPosition?\": \"boolean\",\n      \"onItemClicked?\": \"Function\",\n      \"onActiveItemClicked?\": \"Function\"\n    }\n  },\n  \"TabbedItem\": {\n    \"meta\": {},\n    \"type\": {\n      \"title\": \"Element\",\n      \"titleLabel\": \"string\",\n      \"bodyPromise\": \"AgPromise<HTMLElement>\",\n      \"name\": \"string\",\n      \"getScrollableContainer?\": \"() => HTMLElement\",\n      \"afterAttachedCallback?\": \"(params: IAfterGuiAttachedParams) => void\",\n      \"afterDetachedCallback?\": \"() => void\"\n    }\n  },\n  \"TabbedItemWrapper\": {\n    \"meta\": {},\n    \"type\": { \"tabbedItem\": \"TabbedItem\", \"eHeaderButton\": \"HTMLElement\" }\n  },\n  \"TaskItem\": {\n    \"meta\": {},\n    \"type\": { \"task\": \"() => void\", \"index\": \"number\", \"createOrder\": \"number\" }\n  },\n  \"TaskList\": {\n    \"meta\": {},\n    \"type\": { \"list\": \"TaskItem[]\", \"sorted\": \"boolean\" }\n  },\n  \"SimpleHttpRequestParams\": { \"meta\": {}, \"type\": { \"url\": \"string\" } },\n  \"ModuleNames\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"CommunityCoreModule = \\\"@ag-grid-community/core\\\"\",\n      \"InfiniteRowModelModule = \\\"@ag-grid-community/infinite-row-model\\\"\",\n      \"ClientSideRowModelModule = \\\"@ag-grid-community/client-side-row-model\\\"\",\n      \"CsvExportModule = \\\"@ag-grid-community/csv-export\\\"\",\n      \"EnterpriseCoreModule = \\\"@ag-grid-enterprise/core\\\"\",\n      \"RowGroupingModule = \\\"@ag-grid-enterprise/row-grouping\\\"\",\n      \"ColumnsToolPanelModule = \\\"@ag-grid-enterprise/column-tool-panel\\\"\",\n      \"FiltersToolPanelModule = \\\"@ag-grid-enterprise/filter-tool-panel\\\"\",\n      \"MenuModule = \\\"@ag-grid-enterprise/menu\\\"\",\n      \"SetFilterModule = \\\"@ag-grid-enterprise/set-filter\\\"\",\n      \"MultiFilterModule = \\\"@ag-grid-enterprise/multi-filter\\\"\",\n      \"StatusBarModule = \\\"@ag-grid-enterprise/status-bar\\\"\",\n      \"SideBarModule = \\\"@ag-grid-enterprise/side-bar\\\"\",\n      \"RangeSelectionModule = \\\"@ag-grid-enterprise/range-selection\\\"\",\n      \"MasterDetailModule = \\\"@ag-grid-enterprise/master-detail\\\"\",\n      \"RichSelectModule = \\\"@ag-grid-enterprise/rich-select\\\"\",\n      \"GridChartsModule = \\\"@ag-grid-enterprise/charts\\\"\",\n      \"ViewportRowModelModule = \\\"@ag-grid-enterprise/viewport-row-model\\\"\",\n      \"ServerSideRowModelModule = \\\"@ag-grid-enterprise/server-side-row-model\\\"\",\n      \"ExcelExportModule = \\\"@ag-grid-enterprise/excel-export\\\"\",\n      \"ClipboardModule = \\\"@ag-grid-enterprise/clipboard\\\"\",\n      \"SparklinesModule = \\\"@ag-grid-enterprise/sparklines\\\"\",\n      \"AngularModule = \\\"@ag-grid-community/angular\\\"\",\n      \"ReactModule = \\\"@ag-grid-community/react\\\"\",\n      \"VueModule = \\\"@ag-grid-community/vue\\\"\"\n    ],\n    \"docs\": [\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null,\n      null\n    ]\n  },\n  \"GridOptionKey\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"keyof GridOptions\"\n  },\n  \"AnyGridOptions\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{ [K in keyof GridOptions]: GridOptions[K] extends 'NO_MATCH' ? K : never; }[keyof GridOptions]\"\n  },\n  \"KeysLike\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"U\"] },\n    \"type\": \"Exclude<GetKeys<GridOptions, U>, undefined>\"\n  },\n  \"CallbackKeys\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"KeysOfType<(any: AgGridCommon<any, any>) => any>\"\n  },\n  \"FunctionKeys\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"Exclude<KeysLike<Function>, CallbackKeys>\"\n  },\n  \"ICellComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"addOrRemoveCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"setUserStyles(styles: CellStyle)\": \"void\",\n      \"getFocusableElement()\": \"HTMLElement\",\n      \"setTabIndex(tabIndex: number)\": \"void\",\n      \"setRole(role: string)\": \"void\",\n      \"setColId(colId: string)\": \"void\",\n      \"setTitle(title: string | undefined)\": \"void\",\n      \"setIncludeSelection(include: boolean)\": \"void\",\n      \"setIncludeRowDrag(include: boolean)\": \"void\",\n      \"setIncludeDndSource(include: boolean)\": \"void\",\n      \"getCellEditor()\": \"ICellEditor | null\",\n      \"getCellRenderer()\": \"ICellRenderer | null\",\n      \"getParentOfValue()\": \"HTMLElement | null\",\n      \"setRenderDetails(compDetails: UserCompDetails | undefined, valueToDisplay: any, forceNewCellRendererInstance: boolean)\": \"void\",\n      \"setEditDetails(compDetails?: UserCompDetails, popup?: boolean, position?: 'over' | 'under')\": \"void\"\n    }\n  },\n  \"ILargeTextEditorParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"maxLength\": \"number\",\n      \"rows\": \"number\",\n      \"cols\": \"number\",\n      \"value\": \"TValue\",\n      \"eventKey\": \"string | null\",\n      \"charPress\": \"string | null\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData\",\n      \"rowIndex\": \"number\",\n      \"cellStartedEdit\": \"boolean\",\n      \"onKeyDown\": \"(event: KeyboardEvent) => void\",\n      \"stopEditing\": \"(suppressNavigateAfterEdit?: boolean) => void\",\n      \"eGridCell\": \"HTMLElement\",\n      \"parseValue\": \"(value: any) => any\",\n      \"formatValue\": \"(value: any) => any\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"maxLength\": \"/** Max number of characters to allow. Default: `200` */\",\n      \"rows\": \"/** Number of character rows to display. Default: `10` */\",\n      \"cols\": \"/** Number of character columns to display. Default: `60` */\",\n      \"value\": \"/** Current value of the cell */\",\n      \"eventKey\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"charPress\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"column\": \"/** Grid column */\",\n      \"colDef\": \"/** Column definition */\",\n      \"node\": \"/** Row node for the cell */\",\n      \"data\": \"/** Row data */\",\n      \"rowIndex\": \"/** Editing row index */\",\n      \"cellStartedEdit\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"onKeyDown\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"stopEditing\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"eGridCell\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"parseValue\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"formatValue\": \"/** Utility function to format a value using the column's `colDef.valueFormatter` */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ISelectCellEditorParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"values\": \"any[]\",\n      \"value\": \"TValue\",\n      \"eventKey\": \"string | null\",\n      \"charPress\": \"string | null\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData\",\n      \"rowIndex\": \"number\",\n      \"cellStartedEdit\": \"boolean\",\n      \"onKeyDown\": \"(event: KeyboardEvent) => void\",\n      \"stopEditing\": \"(suppressNavigateAfterEdit?: boolean) => void\",\n      \"eGridCell\": \"HTMLElement\",\n      \"parseValue\": \"(value: any) => any\",\n      \"formatValue\": \"(value: any) => any\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"values\": \"/** List of values to display */\",\n      \"value\": \"/** Current value of the cell */\",\n      \"eventKey\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"charPress\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"column\": \"/** Grid column */\",\n      \"colDef\": \"/** Column definition */\",\n      \"node\": \"/** Row node for the cell */\",\n      \"data\": \"/** Row data */\",\n      \"rowIndex\": \"/** Editing row index */\",\n      \"cellStartedEdit\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"onKeyDown\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"stopEditing\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"eGridCell\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"parseValue\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"formatValue\": \"/** Utility function to format a value using the column's `colDef.valueFormatter` */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ITextCellEditorParams\": {\n    \"meta\": {\n      \"doc\": \"/** useFormatter: used when the cell value needs formatting prior to editing, such as when using reference data and you\\n *               want to display text rather than code.\\n*/\"\n    },\n    \"type\": {\n      \"useFormatter\": \"boolean\",\n      \"maxLength?\": \"number\",\n      \"value\": \"TValue\",\n      \"eventKey\": \"string | null\",\n      \"charPress\": \"string | null\",\n      \"column\": \"Column\",\n      \"colDef\": \"ColDef<TData>\",\n      \"node\": \"IRowNode<TData>\",\n      \"data\": \"TData\",\n      \"rowIndex\": \"number\",\n      \"cellStartedEdit\": \"boolean\",\n      \"onKeyDown\": \"(event: KeyboardEvent) => void\",\n      \"stopEditing\": \"(suppressNavigateAfterEdit?: boolean) => void\",\n      \"eGridCell\": \"HTMLElement\",\n      \"parseValue\": \"(value: any) => any\",\n      \"formatValue\": \"(value: any) => any\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"useFormatter\": \"/** If `true`, the editor will use the provided `colDef.valueFormatter` to format the value displayed in the editor. */\",\n      \"maxLength?\": \"/** Max number of characters to allow. Default: `524288` */\",\n      \"value\": \"/** Current value of the cell */\",\n      \"eventKey\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"charPress\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"column\": \"/** Grid column */\",\n      \"colDef\": \"/** Column definition */\",\n      \"node\": \"/** Row node for the cell */\",\n      \"data\": \"/** Row data */\",\n      \"rowIndex\": \"/** Editing row index */\",\n      \"cellStartedEdit\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"onKeyDown\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"stopEditing\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"eGridCell\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"parseValue\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"formatValue\": \"/** Utility function to format a value using the column's `colDef.valueFormatter` */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IGroupCellRenderer\": {\n    \"meta\": {},\n    \"type\": {\n      \"setInnerRenderer(compDetails: UserCompDetails | undefined, valueToDisplay: any)\": \"void\",\n      \"setChildCount(count: string)\": \"void\",\n      \"setCheckboxVisible(value: boolean)\": \"void\",\n      \"setExpandedDisplayed(value: boolean)\": \"void\",\n      \"setContractedDisplayed(value: boolean)\": \"void\",\n      \"addOrRemoveCssClass(cssClassName: string, on: boolean)\": \"void\"\n    }\n  },\n  \"FooterValueGetterFunc\": {\n    \"meta\": { \"isCallSignature\": true },\n    \"type\": {\n      \"arguments\": { \"params\": \"GroupCellRendererParams\" },\n      \"returnType\": \"any\"\n    }\n  },\n  \"GroupCheckboxSelectionCallbackParams\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"TData = any\", \"TValue = any\"]\n    },\n    \"type\": \"ColumnFunctionCallbackParams<TData> & GroupCellRendererParams<TData, TValue>\"\n  },\n  \"GroupCheckboxSelectionCallback\": {\n    \"meta\": {\n      \"isCallSignature\": true,\n      \"typeParams\": [\"TData = any\", \"TValue = any\"]\n    },\n    \"type\": {\n      \"arguments\": {\n        \"params\": \"GroupCheckboxSelectionCallbackParams<TData, TValue>\"\n      },\n      \"returnType\": \"boolean\"\n    }\n  },\n  \"IGroupCellRendererParams\": {\n    \"meta\": {\n      \"typeParams\": [\"TData = any\", \"TValue = any\"],\n      \"doc\": \"/** Parameters used in `colDef.cellRendererParams` to configure a  Group Cell Renderer (`agGroupCellRenderer`).\\n */\"\n    },\n    \"type\": {\n      \"suppressPadding?\": \"boolean\",\n      \"suppressDoubleClickExpand?\": \"boolean\",\n      \"suppressEnterExpand?\": \"boolean\",\n      \"footerValueGetter?\": \"string | FooterValueGetterFunc\",\n      \"suppressCount?\": \"boolean\",\n      \"checkbox?\": \"boolean | GroupCheckboxSelectionCallback<TData, TValue>\",\n      \"innerRenderer?\": \"any\",\n      \"innerRendererFramework?\": \"any\",\n      \"innerRendererParams?\": \"any\",\n      \"innerRendererSelector?\": \"CellRendererSelectorFunc\"\n    },\n    \"docs\": {\n      \"suppressPadding?\": \"/** Set to `true` to not include any padding (indentation) in the child rows. */\",\n      \"suppressDoubleClickExpand?\": \"/** Set to `true` to suppress expand on double click. */\",\n      \"suppressEnterExpand?\": \"/** Set to `true` to suppress expand on <kbd>Enter</kbd> */\",\n      \"footerValueGetter?\": \"/** The value getter for the footer text. Can be a function or expression. */\",\n      \"suppressCount?\": \"/** If `true`, count is not displayed beside the name. */\",\n      \"checkbox?\": \"/** \\n     * Set to `true`, or a function that returns `true`, if a checkbox should be included.\\n     */\",\n      \"innerRenderer?\": \"/** The renderer to use for inside the cell (after grouping functions are added) */\",\n      \"innerRendererFramework?\": \"/** @deprecated as of v27, use innerRenderer for Framework components\\n     * Same as `innerRenderer` but for a framework component. */\",\n      \"innerRendererParams?\": \"/** Additional params to customise to the `innerRenderer`. */\",\n      \"innerRendererSelector?\": \"/** Callback to enable different innerRenderers to be used based of value of params. */\"\n    }\n  },\n  \"IGroupCellRendererFullRowParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"pinned?\": \"\\\"left\\\" | \\\"right\\\" | null\",\n      \"fullWidth\": \"boolean\",\n      \"rowDrag?\": \"boolean\"\n    },\n    \"docs\": {\n      \"pinned?\": \"/** Only when in fullWidth, this gives whether the comp is pinned or not.\\n     * If not doing fullWidth, then this is not provided, as pinned can be got from the column.\\n     */\",\n      \"fullWidth\": \"/** 'true' if comp is showing full width. */\"\n    }\n  },\n  \"GroupCellRendererParams\": {\n    \"meta\": {\n      \"isTypeAlias\": true,\n      \"typeParams\": [\"TData = any\", \"TValue = any\"]\n    },\n    \"type\": \"IGroupCellRendererParams & ICellRendererParams<TData, TValue> & IGroupCellRendererFullRowParams\"\n  },\n  \"ICellRendererParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"type\": {\n      \"value\": \"TValue\",\n      \"valueFormatted\": \"string | null | undefined\",\n      \"fullWidth?\": \"boolean\",\n      \"pinned?\": \"\\\"left\\\" | \\\"right\\\" | null\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number\",\n      \"colDef?\": \"ColDef\",\n      \"column?\": \"Column\",\n      \"eGridCell\": \"HTMLElement\",\n      \"eParentOfValue\": \"HTMLElement\",\n      \"getValue?\": \"() => any\",\n      \"setValue?\": \"(value: any) => void\",\n      \"formatValue?\": \"(value: any) => any\",\n      \"refreshCell?\": \"() => void\",\n      \"registerRowDragger\": \"(rowDraggerElement: HTMLElement, dragStartPixels?: number, value?: string, suppressVisibilityChange?: boolean) => void\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"value\": \"/** Value to be rendered. */\",\n      \"valueFormatted\": \"/** Formatted value to be rendered. */\",\n      \"fullWidth?\": \"/** True if this is a full width row. */\",\n      \"pinned?\": \"/** Pinned state of the cell. */\",\n      \"data\": \"/** The row's data. Data property can be `undefined` when row grouping or loading infinite row models. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The current index of the row (this changes after filter and sort). */\",\n      \"colDef?\": \"/** The cell's column definition. */\",\n      \"column?\": \"/** The cell's column. */\",\n      \"eGridCell\": \"/** The grid's cell, a DOM div element. */\",\n      \"eParentOfValue\": \"/** The parent DOM item for the cell renderer, same as eGridCell unless using checkbox selection. */\",\n      \"getValue?\": \"/** Convenience function to get most recent up to date value. */\",\n      \"setValue?\": \"/** Convenience function to set the value. */\",\n      \"formatValue?\": \"/** Convenience function to format a value using the column's formatter. */\",\n      \"refreshCell?\": \"/** Convenience function to refresh the cell. */\",\n      \"registerRowDragger\": \"/** registerRowDragger:\\n     * @param rowDraggerElement The HTMLElement to be used as Row Dragger\\n     * @param dragStartPixels The amount of pixels required to start the drag (Default: 4)\\n     * @param value The value to be displayed while dragging. Note: Only relevant with Full Width Rows.\\n     * @param suppressVisibilityChange Set to `true` to prevent the Grid from hiding the Row Dragger when it is disabled.\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ISetFilterCellRendererParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"value\": \"any\",\n      \"valueFormatted\": \"string | null | undefined\",\n      \"colDef?\": \"ColDef\",\n      \"column?\": \"Column\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"colDef?\": \"/** The cell's column definition. */\",\n      \"column?\": \"/** The cell's column. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ICellRenderer\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": { \"refresh(params: ICellRendererParams<TData>)\": \"boolean\" },\n    \"docs\": {\n      \"refresh(params: ICellRendererParams<TData>)\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\"\n    }\n  },\n  \"ICellRendererComp\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: ICellRendererParams<TData>)\": \"AgPromise<void> | void\",\n      \"refresh(params: ICellRendererParams<TData>)\": \"boolean\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: ICellRendererParams<TData>)\": \"/** The init(params) method is called on the component once. */\",\n      \"refresh(params: ICellRendererParams<TData>)\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\"\n    }\n  },\n  \"ICellRendererFunc\": {\n    \"meta\": { \"isCallSignature\": true, \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n      \"returnType\": \"HTMLElement | string\"\n    }\n  },\n  \"ILoadingCellRendererParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"value\": \"TValue\",\n      \"valueFormatted\": \"string | null | undefined\",\n      \"fullWidth?\": \"boolean\",\n      \"pinned?\": \"\\\"left\\\" | \\\"right\\\" | null\",\n      \"data\": \"TData | undefined\",\n      \"node\": \"IRowNode<TData>\",\n      \"rowIndex\": \"number\",\n      \"colDef?\": \"ColDef\",\n      \"column?\": \"Column\",\n      \"eGridCell\": \"HTMLElement\",\n      \"eParentOfValue\": \"HTMLElement\",\n      \"getValue?\": \"() => any\",\n      \"setValue?\": \"(value: any) => void\",\n      \"formatValue?\": \"(value: any) => any\",\n      \"refreshCell?\": \"() => void\",\n      \"registerRowDragger\": \"(rowDraggerElement: HTMLElement, dragStartPixels?: number, value?: string, suppressVisibilityChange?: boolean) => void\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"value\": \"/** Value to be rendered. */\",\n      \"valueFormatted\": \"/** Formatted value to be rendered. */\",\n      \"fullWidth?\": \"/** True if this is a full width row. */\",\n      \"pinned?\": \"/** Pinned state of the cell. */\",\n      \"data\": \"/** The row's data. Data property can be `undefined` when row grouping or loading infinite row models. */\",\n      \"node\": \"/** The row node. */\",\n      \"rowIndex\": \"/** The current index of the row (this changes after filter and sort). */\",\n      \"colDef?\": \"/** The cell's column definition. */\",\n      \"column?\": \"/** The cell's column. */\",\n      \"eGridCell\": \"/** The grid's cell, a DOM div element. */\",\n      \"eParentOfValue\": \"/** The parent DOM item for the cell renderer, same as eGridCell unless using checkbox selection. */\",\n      \"getValue?\": \"/** Convenience function to get most recent up to date value. */\",\n      \"setValue?\": \"/** Convenience function to set the value. */\",\n      \"formatValue?\": \"/** Convenience function to format a value using the column's formatter. */\",\n      \"refreshCell?\": \"/** Convenience function to refresh the cell. */\",\n      \"registerRowDragger\": \"/** registerRowDragger:\\n     * @param rowDraggerElement The HTMLElement to be used as Row Dragger\\n     * @param dragStartPixels The amount of pixels required to start the drag (Default: 4)\\n     * @param value The value to be displayed while dragging. Note: Only relevant with Full Width Rows.\\n     * @param suppressVisibilityChange Set to `true` to prevent the Grid from hiding the Row Dragger when it is disabled.\\n     */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ILoadingCellRenderer\": { \"meta\": {}, \"type\": {} },\n  \"ILoadingCellRendererComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: ILoadingCellRendererParams)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: ILoadingCellRendererParams)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"IDate\": {\n    \"meta\": {},\n    \"type\": {\n      \"getDate()\": \"Date | null\",\n      \"setDate(date: Date | null)\": \"void\",\n      \"setDisabled?(disabled: boolean)\": \"void\",\n      \"setInputPlaceholder?(placeholder: string)\": \"void\",\n      \"setInputAriaLabel?(placeholder: string)\": \"void\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\"\n    },\n    \"docs\": {\n      \"getDate()\": \"/** Returns the current date represented by this component */\",\n      \"setDate(date: Date | null)\": \"/** Sets the date represented by this component */\",\n      \"setDisabled?(disabled: boolean)\": \"/** Optional: Sets the disabled state of this component */\",\n      \"setInputPlaceholder?(placeholder: string)\": \"/** Optional: Sets the current input placeholder */\",\n      \"setInputAriaLabel?(placeholder: string)\": \"/** Optional: Sets the current input aria label */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** Optional: A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"IDateParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"onDateChanged\": \"() => void\",\n      \"filterParams\": \"DateFilterParams\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"onDateChanged\": \"/** Method for component to tell AG Grid that the date has changed. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"IDateComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: IDateParams)\": \"AgPromise<void> | void\",\n      \"getDate()\": \"Date | null\",\n      \"setDate(date: Date | null)\": \"void\",\n      \"setDisabled?(disabled: boolean)\": \"void\",\n      \"setInputPlaceholder?(placeholder: string)\": \"void\",\n      \"setInputAriaLabel?(placeholder: string)\": \"void\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: IDateParams)\": \"/** The init(params) method is called on the component once. */\",\n      \"getDate()\": \"/** Returns the current date represented by this component */\",\n      \"setDate(date: Date | null)\": \"/** Sets the date represented by this component */\",\n      \"setDisabled?(disabled: boolean)\": \"/** Optional: Sets the disabled state of this component */\",\n      \"setInputPlaceholder?(placeholder: string)\": \"/** Optional: Sets the current input placeholder */\",\n      \"setInputAriaLabel?(placeholder: string)\": \"/** Optional: Sets the current input aria label */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** Optional: A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"PositionableOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"popup?\": \"boolean\",\n      \"minWidth?\": \"number | null\",\n      \"width?\": \"number | string | null\",\n      \"minHeight?\": \"number | null\",\n      \"height?\": \"number | string | null\",\n      \"centered?\": \"boolean | null\",\n      \"calculateTopBuffer?\": \"() => number\",\n      \"forcePopupParentAsOffsetParent?\": \"boolean\",\n      \"x?\": \"number | null\",\n      \"y?\": \"number | null\"\n    },\n    \"docs\": {\n      \"forcePopupParentAsOffsetParent?\": \"/** Used for when a popup needs to be resized by an element within itself\\n     * In that case, the feature will configured as `popup=false` but the offsetParent\\n     * needs to be the popupParent.\\n     */\"\n    }\n  },\n  \"ResizableSides\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'topLeft' | 'top' | 'topRight' | 'right' | 'bottomRight' | 'bottom' | 'bottomLeft' | 'left'\"\n  },\n  \"ResizableStructure\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"{[key in ResizableSides]?: boolean}\"\n  },\n  \"MappedResizer\": {\n    \"meta\": {},\n    \"type\": { \"element\": \"HTMLElement\", \"dragSource?\": \"DragListenerParams\" }\n  },\n  \"ILoadingOverlayParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ILoadingOverlayComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: ILoadingOverlayParams)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: ILoadingOverlayParams)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"INoRowsOverlayParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"INoRowsOverlayComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: INoRowsOverlayParams)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: INoRowsOverlayParams)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"LoadingType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"Loading\", \"NoRows\"],\n    \"docs\": [null, null]\n  },\n  \"RowCssClassCalculatorParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowNode\": \"RowNode\",\n      \"rowIsEven\": \"boolean\",\n      \"rowLevel\": \"number\",\n      \"fullWidthRow?\": \"boolean\",\n      \"firstRowOnPage\": \"boolean\",\n      \"lastRowOnPage\": \"boolean\",\n      \"printLayout\": \"boolean\",\n      \"expandable\": \"boolean\",\n      \"pinned\": \"ColumnPinnedType\",\n      \"extraCssClass?\": \"string\",\n      \"rowFocused?\": \"boolean\",\n      \"fadeRowIn?\": \"boolean\"\n    }\n  },\n  \"RowType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"Normal = 'Normal'\",\n      \"FullWidth = 'FullWidth'\",\n      \"FullWidthLoading = 'FullWidthLoading'\",\n      \"FullWidthGroup = 'FullWidthGroup'\",\n      \"FullWidthDetail = 'FullWidthDetail'\"\n    ],\n    \"docs\": [null, null, null, null, null]\n  },\n  \"IRowComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"setDomOrder(domOrder: boolean)\": \"void\",\n      \"addOrRemoveCssClass(cssClassName: string, on: boolean)\": \"void\",\n      \"setCellCtrls(cellCtrls: CellCtrl[])\": \"void\",\n      \"showFullWidth(compDetails: UserCompDetails)\": \"void\",\n      \"getFullWidthCellRenderer()\": \"ICellRenderer | null | undefined\",\n      \"setTop(top: string)\": \"void\",\n      \"setTransform(transform: string)\": \"void\",\n      \"setRowIndex(rowIndex: string)\": \"void\",\n      \"setRowId(rowId: string)\": \"void\",\n      \"setRowBusinessKey(businessKey: string)\": \"void\",\n      \"setTabIndex(tabIndex: number)\": \"void\",\n      \"setUserStyles(styles: RowStyle)\": \"void\",\n      \"setRole(role: string)\": \"void\"\n    }\n  },\n  \"RowGui\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowComp\": \"IRowComp\",\n      \"element\": \"HTMLElement\",\n      \"containerType\": \"RowContainerType\"\n    }\n  },\n  \"CellCtrlListAndMap\": {\n    \"meta\": {},\n    \"type\": { \"list\": \"CellCtrl[]\", \"map\": \"{ [key: string]: CellCtrl; }\" }\n  },\n  \"IRowDragItem\": {\n    \"meta\": {},\n    \"type\": {\n      \"defaultTextValue\": \"string\",\n      \"rowNode?\": \"IRowNode\",\n      \"rowNodes?\": \"IRowNode[]\",\n      \"columns?\": \"Column[]\",\n      \"visibleState?\": \"{ [key: string]: boolean; }\"\n    },\n    \"docs\": {\n      \"defaultTextValue\": \"/** The default text that would be applied to this Drag Element */\",\n      \"rowNode?\": \"/** When dragging a row, this contains the row node being dragged\\n     * When dragging multiple rows, this contains the row that started the drag.\\n     */\",\n      \"rowNodes?\": \"/** When dragging multiple rows, this contains all rows being dragged */\",\n      \"columns?\": \"/** When dragging columns, this contains the columns being dragged */\",\n      \"visibleState?\": \"/** When dragging columns, this contains the visible state of the columns */\"\n    }\n  },\n  \"RowCtrlMap\": { \"meta\": {}, \"type\": { \"[key: string]\": \"RowCtrl\" } },\n  \"RowNodeMap\": { \"meta\": {}, \"type\": { \"[id: string]\": \"IRowNode\" } },\n  \"GetCellsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"rowNodes?\": \"IRowNode<TData>[]\",\n      \"columns?\": \"(string | Column)[]\"\n    },\n    \"docs\": {\n      \"rowNodes?\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"columns?\": \"/** Optional list of columns to restrict operation to */\"\n    }\n  },\n  \"RefreshCellsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"force?\": \"boolean\",\n      \"suppressFlash?\": \"boolean\",\n      \"rowNodes?\": \"IRowNode<TData>[]\",\n      \"columns?\": \"(string | Column)[]\"\n    },\n    \"docs\": {\n      \"force?\": \"/** Skip change detection, refresh everything. */\",\n      \"suppressFlash?\": \"/** Skip cell flashing, if cell flashing is enabled. */\",\n      \"rowNodes?\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"columns?\": \"/** Optional list of columns to restrict operation to */\"\n    }\n  },\n  \"FlashCellsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"flashDelay?\": \"number\",\n      \"fadeDelay?\": \"number\",\n      \"rowNodes?\": \"IRowNode<TData>[]\",\n      \"columns?\": \"(string | Column)[]\"\n    },\n    \"docs\": {\n      \"rowNodes?\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"columns?\": \"/** Optional list of columns to restrict operation to */\"\n    }\n  },\n  \"GetCellRendererInstancesParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"rowNodes?\": \"IRowNode<TData>[]\",\n      \"columns?\": \"(string | Column)[]\"\n    },\n    \"docs\": {\n      \"rowNodes?\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"columns?\": \"/** Optional list of columns to restrict operation to */\"\n    }\n  },\n  \"GetCellEditorInstancesParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"rowNodes?\": \"IRowNode<TData>[]\",\n      \"columns?\": \"(string | Column)[]\"\n    },\n    \"docs\": {\n      \"rowNodes?\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"columns?\": \"/** Optional list of columns to restrict operation to */\"\n    }\n  },\n  \"RedrawRowsParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": { \"rowNodes?\": \"IRowNode<TData>[]\" },\n    \"docs\": { \"rowNodes?\": \"/** Row nodes to redraw */\" }\n  },\n  \"RefreshViewParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"recycleRows?\": \"boolean\",\n      \"animate?\": \"boolean\",\n      \"suppressKeepFocus?\": \"boolean\",\n      \"onlyBody?\": \"boolean\",\n      \"newData?\": \"boolean\",\n      \"newPage?\": \"boolean\",\n      \"domLayoutChanged?\": \"boolean\"\n    }\n  },\n  \"ITooltipParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"type\": {\n      \"location\": \"string\",\n      \"value?\": \"TValue\",\n      \"valueFormatted?\": \"string | null\",\n      \"colDef?\": \"ColDef<TData> | ColGroupDef<TData> | null\",\n      \"column?\": \"Column | ColumnGroup\",\n      \"rowIndex?\": \"number\",\n      \"node?\": \"IRowNode<TData>\",\n      \"data?\": \"TData\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"location\": \"/** What part of the application is showing the tooltip, e.g. 'cell', 'header', 'menuItem' etc */\",\n      \"value?\": \"/** The value to be rendered by the tooltip. */\",\n      \"valueFormatted?\": \"/** The formatted value to be rendered by the tooltip. */\",\n      \"colDef?\": \"/** Column / ColumnGroup definition. */\",\n      \"column?\": \"/** Column / ColumnGroup */\",\n      \"rowIndex?\": \"/** The index of the row containing the cell rendering the tooltip. */\",\n      \"node?\": \"/** The row node. */\",\n      \"data?\": \"/** Data for the row node in question. */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"ITooltipComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getGui()\": \"HTMLElement\",\n      \"destroy?()\": \"void\",\n      \"init?(params: ITooltipParams)\": \"AgPromise<void> | void\"\n    },\n    \"docs\": {\n      \"getGui()\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"destroy?()\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"init?(params: ITooltipParams)\": \"/** The init(params) method is called on the component once. */\"\n    }\n  },\n  \"LoadCompleteEvent\": {\n    \"meta\": {},\n    \"type\": { \"success\": \"boolean\", \"block\": \"RowNodeBlock\", \"type\": \"string\" },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"LoadSuccessParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowData\": \"any[]\",\n      \"rowCount?\": \"number\",\n      \"storeInfo?\": \"any\",\n      \"groupLevelInfo?\": \"any\"\n    },\n    \"docs\": {\n      \"rowData\": \"/** Data retrieved from the server as requested by the grid.\\n     */\",\n      \"rowCount?\": \"/** The last row, if known, to help Infinite Scroll.\\n     */\",\n      \"storeInfo?\": \"/** @deprecated use groupLevelInfo instead\\n     */\",\n      \"groupLevelInfo?\": \"/** Any extra information for the grid to associate with this load.\\n     */\"\n    }\n  },\n  \"SortOption\": {\n    \"meta\": {},\n    \"type\": { \"sort\": \"'asc' | 'desc'\", \"column\": \"Column\" }\n  },\n  \"SortedRowNode\": {\n    \"meta\": {},\n    \"type\": { \"currentPos\": \"number\", \"rowNode\": \"RowNode\" }\n  },\n  \"SortModelItem\": {\n    \"meta\": {},\n    \"type\": { \"colId\": \"string\", \"sort\": \"'asc' | 'desc'\" },\n    \"docs\": {\n      \"colId\": \"/** Column Id to apply the sort to. */\",\n      \"sort\": \"/** Sort direction */\"\n    }\n  },\n  \"LayoutView\": {\n    \"meta\": {},\n    \"type\": {\n      \"updateLayoutClasses(layoutClass: string, params: UpdateLayoutClassesParams)\": \"void\"\n    }\n  },\n  \"LayoutCssClasses\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"AUTO_HEIGHT = 'ag-layout-auto-height'\",\n      \"NORMAL = 'ag-layout-normal'\",\n      \"PRINT = 'ag-layout-print'\"\n    ],\n    \"docs\": [null, null, null]\n  },\n  \"UpdateLayoutClassesParams\": {\n    \"meta\": {},\n    \"type\": { \"autoHeight\": \"boolean\", \"normal\": \"boolean\", \"print\": \"boolean\" }\n  },\n  \"GenericFunction\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"(...args: any[]) => any\"\n  },\n  \"PickByTypeKeyFilter\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\", \"C\"] },\n    \"type\": \"{[K in keyof T]: T[K] extends C ? K : never}\"\n  },\n  \"KeysByType\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\", \"C\"] },\n    \"type\": \"PickByTypeKeyFilter<T, C>[keyof T]\"\n  },\n  \"ValuesByType\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\", \"C\"] },\n    \"type\": \"{[K in keyof T]: T[K] extends C ? T[K] : never}\"\n  },\n  \"PickByType\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\", \"C\"] },\n    \"type\": \"Pick<ValuesByType<T, C>, KeysByType<T, C>>\"\n  },\n  \"MethodsOf\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"KeysByType<Required<T>, GenericFunction>\"\n  },\n  \"InterfaceOf\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"PickByType<T, GenericFunction>\"\n  },\n  \"PartiallyMockedInterfaceOf\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"{[K in MethodsOf<T>]?: jest.Mock<InterfaceOf<T>[K]>}\"\n  },\n  \"CellValueChange\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowPinned\": \"RowPinnedType\",\n      \"rowIndex\": \"number\",\n      \"columnId\": \"string\",\n      \"oldValue\": \"any\",\n      \"newValue\": \"any\"\n    }\n  },\n  \"LastFocusedCell\": {\n    \"meta\": {},\n    \"type\": {\n      \"rowPinned\": \"RowPinnedType\",\n      \"rowIndex\": \"number\",\n      \"columnId\": \"string\"\n    }\n  },\n  \"ColumnSortState\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'ascending' | 'descending' | 'other' | 'none'\"\n  },\n  \"PathItem\": {\n    \"meta\": {},\n    \"type\": { \"rowNode\": \"RowNode\", \"children\": \"PathItem[] | null\" }\n  },\n  \"ResolveAndRejectCallback\": {\n    \"meta\": { \"isTypeAlias\": true, \"typeParams\": [\"T\"] },\n    \"type\": \"(resolve: (value: T | null) => void, reject: (params: any) => void) => void\"\n  },\n  \"AgPromiseStatus\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"IN_PROGRESS\", \"RESOLVED\"],\n    \"docs\": [null, null]\n  },\n  \"FieldElement\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\"\n  },\n  \"IInputField\": {\n    \"meta\": {},\n    \"type\": {\n      \"value?\": \"any\",\n      \"width?\": \"number\",\n      \"label?\": \"HTMLElement | string\",\n      \"labelWidth?\": \"number | 'flex'\",\n      \"labelSeparator?\": \"string\",\n      \"labelAlignment?\": \"LabelAlignment\"\n    }\n  },\n  \"LabelAlignment\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'left' | 'right' | 'top'\"\n  },\n  \"IAgLabel\": {\n    \"meta\": {},\n    \"type\": {\n      \"label?\": \"HTMLElement | string\",\n      \"labelWidth?\": \"number | 'flex'\",\n      \"labelSeparator?\": \"string\",\n      \"labelAlignment?\": \"LabelAlignment\"\n    }\n  },\n  \"DialogOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"eWrapper?\": \"HTMLElement\",\n      \"modal?\": \"boolean\",\n      \"movable?\": \"boolean\",\n      \"alwaysOnTop?\": \"boolean\",\n      \"maximizable?\": \"boolean\",\n      \"component?\": \"Component\",\n      \"hideTitleBar?\": \"boolean | null\",\n      \"closable?\": \"boolean | null\",\n      \"resizable?\": \"boolean | ResizableStructure\",\n      \"title?\": \"string | null\",\n      \"cssIdentifier?\": \"string | null\",\n      \"popup?\": \"boolean\",\n      \"minWidth?\": \"number | null\",\n      \"width?\": \"number | string | null\",\n      \"minHeight?\": \"number | null\",\n      \"height?\": \"number | string | null\",\n      \"centered?\": \"boolean | null\",\n      \"calculateTopBuffer?\": \"() => number\",\n      \"forcePopupParentAsOffsetParent?\": \"boolean\",\n      \"x?\": \"number | null\",\n      \"y?\": \"number | null\"\n    },\n    \"docs\": {\n      \"forcePopupParentAsOffsetParent?\": \"/** Used for when a popup needs to be resized by an element within itself\\n     * In that case, the feature will configured as `popup=false` but the offsetParent\\n     * needs to be the popupParent.\\n     */\"\n    }\n  },\n  \"GroupItem\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"Component | HTMLElement\"\n  },\n  \"Align\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'start' | 'end' | 'center' | 'stretch'\"\n  },\n  \"Direction\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"'horizontal' | 'vertical'\"\n  },\n  \"AgGroupComponentParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"title?\": \"string\",\n      \"enabled?\": \"boolean\",\n      \"suppressEnabledCheckbox?\": \"boolean\",\n      \"suppressOpenCloseIcons?\": \"boolean\",\n      \"cssIdentifier?\": \"string\",\n      \"items?\": \"GroupItem[]\",\n      \"alignItems?\": \"Align\",\n      \"direction?\": \"Direction\"\n    }\n  },\n  \"IInputRange\": {\n    \"meta\": {},\n    \"type\": {\n      \"min?\": \"number\",\n      \"max?\": \"number\",\n      \"step?\": \"number\",\n      \"value?\": \"any\",\n      \"width?\": \"number\",\n      \"label?\": \"HTMLElement | string\",\n      \"labelWidth?\": \"number | 'flex'\",\n      \"labelSeparator?\": \"string\",\n      \"labelAlignment?\": \"LabelAlignment\"\n    }\n  },\n  \"ITextInputField\": {\n    \"meta\": {},\n    \"type\": {\n      \"allowedCharPattern?\": \"string\",\n      \"value?\": \"any\",\n      \"width?\": \"number\",\n      \"label?\": \"HTMLElement | string\",\n      \"labelWidth?\": \"number | 'flex'\",\n      \"labelSeparator?\": \"string\",\n      \"labelAlignment?\": \"LabelAlignment\"\n    }\n  },\n  \"ListOption\": {\n    \"meta\": {},\n    \"type\": { \"value\": \"string\", \"text?\": \"string\" }\n  },\n  \"MenuItemComponentParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"isCompact?\": \"boolean\",\n      \"isAnotherSubMenuOpen\": \"() => boolean\",\n      \"subMenu?\": \"(MenuItemDef | string)[] | IComponent<any>\",\n      \"name\": \"string\",\n      \"disabled?\": \"boolean\",\n      \"shortcut?\": \"string\",\n      \"action?\": \"() => void\",\n      \"checked?\": \"boolean\",\n      \"icon?\": \"Element | string\",\n      \"cssClasses?\": \"string[]\",\n      \"tooltip?\": \"string\"\n    },\n    \"docs\": {\n      \"name\": \"/** Name of the menu item */\",\n      \"disabled?\": \"/** It the item should be enabled / disabled */\",\n      \"shortcut?\": \"/** Shortcut (just display text, saying the shortcut here does nothing) */\",\n      \"action?\": \"/** Function that gets executed when item is chosen */\",\n      \"checked?\": \"/** Set to true to provide a check beside the option */\",\n      \"icon?\": \"/** The icon to display, either a DOM element or HTML string */\",\n      \"cssClasses?\": \"/** CSS classes to apply to the menu item */\",\n      \"tooltip?\": \"/** Tooltip for the menu item */\"\n    }\n  },\n  \"MenuItemSelectedEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"name\": \"string\",\n      \"disabled?\": \"boolean\",\n      \"shortcut?\": \"string\",\n      \"action?\": \"() => void\",\n      \"checked?\": \"boolean\",\n      \"icon?\": \"Element | string\",\n      \"subMenu?\": \"(MenuItemDef | string)[] | IPopupComponent<any>\",\n      \"cssClasses?\": \"string[]\",\n      \"tooltip?\": \"string\",\n      \"event\": \"MouseEvent | KeyboardEvent\",\n      \"type\": \"string\"\n    },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"MenuItemActivatedEvent\": {\n    \"meta\": {},\n    \"type\": { \"menuItem\": \"AgMenuItemComponent\", \"type\": \"string\" },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"PanelOptions\": {\n    \"meta\": {},\n    \"type\": {\n      \"component?\": \"Component\",\n      \"hideTitleBar?\": \"boolean | null\",\n      \"closable?\": \"boolean | null\",\n      \"resizable?\": \"boolean | ResizableStructure\",\n      \"title?\": \"string | null\",\n      \"cssIdentifier?\": \"string | null\",\n      \"popup?\": \"boolean\",\n      \"minWidth?\": \"number | null\",\n      \"width?\": \"number | string | null\",\n      \"minHeight?\": \"number | null\",\n      \"height?\": \"number | string | null\",\n      \"centered?\": \"boolean | null\",\n      \"calculateTopBuffer?\": \"() => number\",\n      \"forcePopupParentAsOffsetParent?\": \"boolean\",\n      \"x?\": \"number | null\",\n      \"y?\": \"number | null\"\n    },\n    \"docs\": {\n      \"forcePopupParentAsOffsetParent?\": \"/** Used for when a popup needs to be resized by an element within itself\\n     * In that case, the feature will configured as `popup=false` but the offsetParent\\n     * needs to be the popupParent.\\n     */\"\n    }\n  },\n  \"VisibleChangedEvent\": {\n    \"meta\": {},\n    \"type\": { \"visible\": \"boolean\", \"type\": \"string\" },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"TooltipParentComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getTooltipParams()\": \"WithoutGridCommon<ITooltipParams>\",\n      \"getGui()\": \"HTMLElement\"\n    }\n  },\n  \"TooltipStates\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"NOTHING\", \"WAITING_TO_SHOW\", \"SHOWING\"],\n    \"docs\": [null, null, null]\n  },\n  \"ManagedFocusCallbacks\": {\n    \"meta\": {},\n    \"type\": {\n      \"shouldStopEventPropagation?\": \"(e: KeyboardEvent) => boolean\",\n      \"onTabKeyDown?\": \"(e: KeyboardEvent) => void\",\n      \"handleKeyDown?\": \"(e: KeyboardEvent) => void\",\n      \"onFocusIn?\": \"(e: FocusEvent) => void\",\n      \"onFocusOut?\": \"(e: FocusEvent) => void\"\n    }\n  },\n  \"PopupPositionParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"ePopup\": \"HTMLElement\",\n      \"column?\": \"Column | null\",\n      \"rowNode?\": \"IRowNode | null\",\n      \"nudgeX?\": \"number\",\n      \"nudgeY?\": \"number\",\n      \"position?\": \"'over' | 'under'\",\n      \"alignSide?\": \"'left' | 'right'\",\n      \"keepWithinBounds?\": \"boolean\",\n      \"skipObserver?\": \"boolean\",\n      \"updatePosition?\": \"() => { x: number; y: number; }\",\n      \"postProcessCallback?\": \"() => void\"\n    }\n  },\n  \"PopupEventParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"originalMouseEvent?\": \"MouseEvent | Touch | null\",\n      \"mouseEvent?\": \"MouseEvent\",\n      \"touchEvent?\": \"TouchEvent\",\n      \"keyboardEvent?\": \"KeyboardEvent\"\n    }\n  },\n  \"AgPopup\": {\n    \"meta\": {},\n    \"type\": {\n      \"element\": \"HTMLElement\",\n      \"wrapper\": \"HTMLElement\",\n      \"hideFunc\": \"() => void\",\n      \"isAnchored\": \"boolean\",\n      \"stopAnchoringPromise\": \"AgPromise<Function>\",\n      \"instanceId\": \"number\"\n    }\n  },\n  \"Rect\": {\n    \"meta\": {},\n    \"type\": {\n      \"top\": \"number\",\n      \"left\": \"number\",\n      \"right\": \"number\",\n      \"bottom\": \"number\"\n    }\n  },\n  \"DIRECTION\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"vertical\", \"horizontal\"],\n    \"docs\": [null, null]\n  },\n  \"AddPopupParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"modal?\": \"boolean\",\n      \"eChild\": \"HTMLElement\",\n      \"closeOnEsc?\": \"boolean\",\n      \"closedCallback?\": \"(e?: MouseEvent | TouchEvent | KeyboardEvent) => void\",\n      \"click?\": \"MouseEvent | Touch | null\",\n      \"alwaysOnTop?\": \"boolean\",\n      \"afterGuiAttached?\": \"(params: IAfterGuiAttachedParams) => void\",\n      \"positionCallback?\": \"() => void\",\n      \"anchorToElement?\": \"HTMLElement\",\n      \"ariaLabel\": \"string\"\n    }\n  },\n  \"AddPopupResult\": {\n    \"meta\": {},\n    \"type\": {\n      \"hideFunc\": \"() => void\",\n      \"stopAnchoringPromise\": \"AgPromise<Function>\"\n    }\n  },\n  \"TabGuardClassNames\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"TAB_GUARD = 'ag-tab-guard'\",\n      \"TAB_GUARD_TOP = 'ag-tab-guard-top'\",\n      \"TAB_GUARD_BOTTOM = 'ag-tab-guard-bottom'\"\n    ],\n    \"docs\": [null, null, null]\n  },\n  \"ITabGuard\": {\n    \"meta\": {},\n    \"type\": { \"setTabIndex(tabIndex?: string)\": \"void\" }\n  },\n  \"ITooltipFeatureCtrl\": {\n    \"meta\": {},\n    \"type\": {\n      \"getTooltipValue()\": \"any\",\n      \"getGui()\": \"HTMLElement\",\n      \"getLocation()\": \"string\",\n      \"getColumn?()\": \"Column | ColumnGroup\",\n      \"getColDef?()\": \"ColDef | ColGroupDef\",\n      \"getRowIndex?()\": \"number\",\n      \"getRowNode?()\": \"RowNode\",\n      \"getValueFormatted?()\": \"string\"\n    }\n  },\n  \"ITooltipFeatureComp\": {\n    \"meta\": {},\n    \"type\": { \"setTitle(title: string | undefined)\": \"void\" }\n  },\n  \"TapEvent\": {\n    \"meta\": {},\n    \"type\": { \"touchStart\": \"Touch\", \"type\": \"string\" },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"LongTapEvent\": {\n    \"meta\": {},\n    \"type\": {\n      \"touchStart\": \"Touch\",\n      \"touchEvent\": \"TouchEvent\",\n      \"type\": \"string\"\n    },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"VirtualListModel\": {\n    \"meta\": {},\n    \"type\": {\n      \"getRowCount()\": \"number\",\n      \"getRow(index: number)\": \"any\",\n      \"isRowSelected?(index: number)\": \"boolean | undefined\",\n      \"areRowsEqual?(oldRow: any, newRow: any)\": \"boolean\"\n    },\n    \"docs\": {\n      \"areRowsEqual?(oldRow: any, newRow: any)\": \"/** Required if using soft refresh. If rows are equal, componentUpdater will be called instead of remove/create */\"\n    }\n  },\n  \"ISetDisplayValueModel\": {\n    \"meta\": { \"typeParams\": [\"V\"] },\n    \"type\": {\n      \"updateDisplayedValuesToAllAvailable(getValue: (key: string | null) => V | null, allKeys: Iterable<string | null> | undefined, availableKeys: Set<string | null>, source: 'reload' | 'otherFilter' | 'miniFilter')\": \"void\",\n      \"updateDisplayedValuesToMatchMiniFilter(getValue: (key: string | null) => V | null, allKeys: Iterable<string | null> | undefined, availableKeys: Set<string | null>, matchesFilter: (valueToCheck: string | null) => boolean, nullMatchesFilter: boolean, source: 'reload' | 'otherFilter' | 'miniFilter')\": \"void\",\n      \"getDisplayedValueCount()\": \"number\",\n      \"getDisplayedItem(index: number)\": \"string | SetFilterModelTreeItem | null\",\n      \"getSelectAllItem()\": \"string | SetFilterModelTreeItem\",\n      \"getDisplayedKeys()\": \"(string | null)[]\",\n      \"forEachDisplayedKey(func: (key: string | null) => void)\": \"void\",\n      \"someDisplayedKey(func: (key: string | null) => boolean)\": \"boolean\",\n      \"hasGroups()\": \"boolean\",\n      \"refresh()\": \"void\"\n    }\n  },\n  \"SetFilterModelTreeItem\": {\n    \"meta\": {},\n    \"type\": {\n      \"treeKey\": \"string | null\",\n      \"depth\": \"number\",\n      \"filterPasses\": \"boolean\",\n      \"available\": \"boolean\",\n      \"expanded?\": \"boolean\",\n      \"children?\": \"SetFilterModelTreeItem[]\",\n      \"key?\": \"string | null\",\n      \"parentTreeKeys\": \"(string | null)[]\"\n    }\n  },\n  \"ISetFilterLocaleText\": {\n    \"meta\": {},\n    \"type\": {\n      \"loadingOoo\": \"string\",\n      \"blanks\": \"string\",\n      \"searchOoo\": \"string\",\n      \"selectAll\": \"string\",\n      \"selectAllSearchResults\": \"string\",\n      \"noMatches\": \"string\"\n    }\n  },\n  \"SetFilterListItemSelectionChangedEvent\": {\n    \"meta\": {\n      \"typeParams\": [\n        \"I extends SetFilterModelTreeItem | string | null = SetFilterModelTreeItem | string | null\"\n      ]\n    },\n    \"type\": { \"isSelected\": \"boolean\", \"item\": \"I\", \"type\": \"string\" },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"SetFilterListItemExpandedChangedEvent\": {\n    \"meta\": {\n      \"typeParams\": [\n        \"I extends SetFilterModelTreeItem | string | null = SetFilterModelTreeItem | string | null\"\n      ]\n    },\n    \"type\": { \"isExpanded\": \"boolean\", \"item\": \"I\", \"type\": \"string\" },\n    \"docs\": { \"type\": \"/** Event identifier */\" }\n  },\n  \"SetFilterListItemParams\": {\n    \"meta\": { \"typeParams\": [\"V\"] },\n    \"type\": {\n      \"focusWrapper\": \"HTMLElement\",\n      \"value\": \"V | null | (() => string)\",\n      \"params\": \"SetFilterParams<any, V>\",\n      \"translate\": \"(key: keyof ISetFilterLocaleText) => string\",\n      \"valueFormatter?\": \"(params: ValueFormatterParams) => string\",\n      \"item\": \"SetFilterModelTreeItem | string | null\",\n      \"isSelected\": \"boolean | undefined\",\n      \"isTree?\": \"boolean\",\n      \"depth?\": \"number\",\n      \"groupsExist?\": \"boolean\",\n      \"isGroup?\": \"boolean\",\n      \"isExpanded?\": \"boolean\",\n      \"hasIndeterminateExpandState?\": \"boolean\"\n    }\n  },\n  \"SetFilterModelValuesType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"PROVIDED_LIST\", \"PROVIDED_CALLBACK\", \"TAKEN_FROM_GRID_VALUES\"],\n    \"docs\": [null, null, null]\n  },\n  \"SetValueModelParams\": {\n    \"meta\": { \"typeParams\": [\"V\"] },\n    \"type\": {\n      \"valueFormatterService\": \"ValueFormatterService\",\n      \"gridOptionsService\": \"GridOptionsService\",\n      \"columnModel\": \"ColumnModel\",\n      \"valueService\": \"ValueService\",\n      \"filterParams\": \"SetFilterParams<any, V>\",\n      \"setIsLoading\": \"(loading: boolean) => void\",\n      \"translate\": \"(key: keyof ISetFilterLocaleText) => string\",\n      \"caseFormat\": \"<T extends string | null>(valueToFormat: T) => typeof valueToFormat\",\n      \"createKey\": \"(value: V | null, node?: RowNode) => string | null\",\n      \"valueFormatter?\": \"(params: ValueFormatterParams) => string\",\n      \"usingComplexObjects?\": \"boolean\",\n      \"treeDataTreeList?\": \"boolean\",\n      \"groupingTreeList?\": \"boolean\"\n    }\n  },\n  \"ToolPanelFiltersCompParams\": {\n    \"meta\": {},\n    \"type\": {\n      \"suppressExpandAll\": \"boolean\",\n      \"suppressFilterSearch\": \"boolean\",\n      \"suppressSyncLayoutWithGrid\": \"boolean\",\n      \"api\": \"GridApi<TData>\",\n      \"columnApi\": \"ColumnApi\",\n      \"context\": \"TContext\"\n    },\n    \"docs\": {\n      \"suppressExpandAll\": \"/** To suppress Expand / Collapse All */\",\n      \"suppressFilterSearch\": \"/** To suppress the Filter Search */\",\n      \"suppressSyncLayoutWithGrid\": \"/** Suppress updating the layout of columns as they are rearranged in the grid */\",\n      \"api\": \"/** The grid api. */\",\n      \"columnApi\": \"/** The column api. */\",\n      \"context\": \"/** Application context as set on `gridOptions.context`. */\"\n    }\n  },\n  \"EXPAND_STATE\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\"EXPANDED\", \"COLLAPSED\", \"INDETERMINATE\"],\n    \"docs\": [null, null, null]\n  },\n  \"ToolPanelFilterItem\": {\n    \"meta\": { \"isTypeAlias\": true },\n    \"type\": \"ToolPanelFilterGroupComp | ToolPanelFilterComp\"\n  },\n  \"AgFrameworkComponent\": {\n    \"meta\": { \"typeParams\": [\"T\"] },\n    \"type\": { \"agInit(params: T)\": \"void\" },\n    \"docs\": {\n      \"agInit(params: T)\": \"/** Mandatory - Params for rendering this component. */\"\n    }\n  },\n  \"IHeaderGroupAngularComp\": {\n    \"meta\": {},\n    \"type\": { \"agInit(params: IHeaderGroupParams)\": \"void\" },\n    \"docs\": {\n      \"agInit(params: IHeaderGroupParams)\": \"/** Mandatory - Params for rendering this component. */\"\n    }\n  },\n  \"IHeaderAngularComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: IHeaderParams)\": \"void\",\n      \"refresh(params: IHeaderParams)\": \"boolean\"\n    },\n    \"docs\": {\n      \"agInit(params: IHeaderParams)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"refresh(params: IHeaderParams)\": \"/** Get the header to refresh. Gets called whenever Column Defs are updated. */\"\n    }\n  },\n  \"IFloatingFilterAngularComp\": {\n    \"meta\": { \"typeParams\": [\"P = any\"] },\n    \"type\": {\n      \"agInit(params: IFloatingFilterParams<P>)\": \"void\",\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"void\",\n      \"afterGuiAttached?()\": \"void\"\n    },\n    \"docs\": {\n      \"agInit(params: IFloatingFilterParams<P>)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"IDateAngularComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: IDateParams)\": \"void\",\n      \"getDate()\": \"Date | null\",\n      \"setDate(date: Date | null)\": \"void\",\n      \"setDisabled?(disabled: boolean)\": \"void\",\n      \"setInputPlaceholder?(placeholder: string)\": \"void\",\n      \"setInputAriaLabel?(placeholder: string)\": \"void\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\"\n    },\n    \"docs\": {\n      \"agInit(params: IDateParams)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"getDate()\": \"/** Returns the current date represented by this component */\",\n      \"setDate(date: Date | null)\": \"/** Sets the date represented by this component */\",\n      \"setDisabled?(disabled: boolean)\": \"/** Optional: Sets the disabled state of this component */\",\n      \"setInputPlaceholder?(placeholder: string)\": \"/** Optional: Sets the current input placeholder */\",\n      \"setInputAriaLabel?(placeholder: string)\": \"/** Optional: Sets the current input aria label */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** Optional: A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"IFilterAngularComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: IFilterParams)\": \"void\",\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"getModel()\": \"any\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\"\n    },\n    \"docs\": {\n      \"agInit(params: IFilterParams)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\"\n    }\n  },\n  \"ICellRendererAngularComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: ICellRendererParams)\": \"void\",\n      \"refresh(params: ICellRendererParams<TData>)\": \"boolean\"\n    },\n    \"docs\": {\n      \"agInit(params: ICellRendererParams)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"refresh(params: ICellRendererParams<TData>)\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\"\n    }\n  },\n  \"ICellEditorAngularComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: ICellEditorParams)\": \"void\",\n      \"getValue()\": \"any\",\n      \"isPopup?()\": \"boolean\",\n      \"getPopupPosition?()\": \"'over' | 'under' | undefined\",\n      \"isCancelBeforeStart?()\": \"boolean\",\n      \"isCancelAfterEnd?()\": \"boolean\",\n      \"focusIn?()\": \"void\",\n      \"focusOut?()\": \"void\",\n      \"afterGuiAttached?()\": \"void\"\n    },\n    \"docs\": {\n      \"agInit(params: ICellEditorParams)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"getValue()\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"isPopup?()\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"getPopupPosition?()\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"isCancelBeforeStart?()\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"isCancelAfterEnd?()\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"focusIn?()\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"focusOut?()\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"AgRendererComponent\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: ICellRendererParams)\": \"void\",\n      \"refresh(params: ICellRendererParams<TData>)\": \"boolean\"\n    },\n    \"docs\": {\n      \"agInit(params: ICellRendererParams)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"refresh(params: ICellRendererParams<TData>)\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\"\n    }\n  },\n  \"AgEditorComponent\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: ICellEditorParams)\": \"void\",\n      \"getValue()\": \"any\",\n      \"isPopup?()\": \"boolean\",\n      \"getPopupPosition?()\": \"'over' | 'under' | undefined\",\n      \"isCancelBeforeStart?()\": \"boolean\",\n      \"isCancelAfterEnd?()\": \"boolean\",\n      \"focusIn?()\": \"void\",\n      \"focusOut?()\": \"void\",\n      \"afterGuiAttached?()\": \"void\"\n    },\n    \"docs\": {\n      \"agInit(params: ICellEditorParams)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"getValue()\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"isPopup?()\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"getPopupPosition?()\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"isCancelBeforeStart?()\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"isCancelAfterEnd?()\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"focusIn?()\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"focusOut?()\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"AgFilterComponent\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: IFilterParams)\": \"void\",\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"getModel()\": \"any\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\"\n    },\n    \"docs\": {\n      \"agInit(params: IFilterParams)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\"\n    }\n  },\n  \"AgFloatingFilterComponent\": {\n    \"meta\": {},\n    \"type\": {\n      \"agInit(params: IFloatingFilterParams<P>)\": \"void\",\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"void\",\n      \"afterGuiAttached?()\": \"void\"\n    },\n    \"docs\": {\n      \"agInit(params: IFloatingFilterParams<P>)\": \"/** Mandatory - Params for rendering this component. */\",\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"ILoadingCellRendererAngularComp\": {\n    \"meta\": {},\n    \"type\": { \"agInit(params: ILoadingCellRendererParams)\": \"void\" },\n    \"docs\": {\n      \"agInit(params: ILoadingCellRendererParams)\": \"/** Mandatory - Params for rendering this component. */\"\n    }\n  },\n  \"ILoadingOverlayAngularComp\": {\n    \"meta\": {},\n    \"type\": { \"agInit(params: ILoadingOverlayParams)\": \"void\" },\n    \"docs\": {\n      \"agInit(params: ILoadingOverlayParams)\": \"/** Mandatory - Params for rendering this component. */\"\n    }\n  },\n  \"INoRowsOverlayAngularComp\": {\n    \"meta\": {},\n    \"type\": { \"agInit(params: INoRowsOverlayParams)\": \"void\" },\n    \"docs\": {\n      \"agInit(params: INoRowsOverlayParams)\": \"/** Mandatory - Params for rendering this component. */\"\n    }\n  },\n  \"IStatusPanelAngularComp\": {\n    \"meta\": {},\n    \"type\": { \"agInit(params: IStatusPanelParams)\": \"void\" },\n    \"docs\": {\n      \"agInit(params: IStatusPanelParams)\": \"/** Mandatory - Params for rendering this component. */\"\n    }\n  },\n  \"IToolPanelAngularComp\": {\n    \"meta\": {},\n    \"type\": { \"agInit(params: IToolPanelParams)\": \"void\" },\n    \"docs\": {\n      \"agInit(params: IToolPanelParams)\": \"/** Mandatory - Params for rendering this component. */\"\n    }\n  },\n  \"ITooltipAngularComp\": {\n    \"meta\": {},\n    \"type\": { \"agInit(params: ITooltipParams)\": \"void\" },\n    \"docs\": {\n      \"agInit(params: ITooltipParams)\": \"/** Mandatory - Params for rendering this component. */\"\n    }\n  },\n  \"ChangeDetectionStrategyType\": {\n    \"meta\": { \"isEnum\": true },\n    \"type\": [\n      \"IdentityCheck = 'IdentityCheck'\",\n      \"DeepValueCheck = 'DeepValueCheck'\",\n      \"NoCheck = 'NoCheck'\"\n    ],\n    \"docs\": [null, null, null]\n  },\n  \"SharedProps\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"gridOptions?\": \"GridOptions<TData>\",\n      \"modules?\": \"Module[]\",\n      \"containerStyle?\": \"any\",\n      \"className?\": \"string\",\n      \"setGridApi?\": \"(gridApi: GridApi<TData>, columnApi: ColumnApi) => void\",\n      \"componentWrappingElement?\": \"string\",\n      \"maxComponentCreationTimeMs?\": \"number\",\n      \"rowDataChangeDetectionStrategy?\": \"ChangeDetectionStrategyType\",\n      \"children?\": \"any\",\n      \"statusBar?\": \"{ statusPanels: StatusPanelDef[]; }\",\n      \"sideBar?\": \"SideBarDef | string | string[] | boolean | null\",\n      \"suppressContextMenu?\": \"boolean\",\n      \"preventDefaultOnContextMenu?\": \"boolean\",\n      \"allowContextMenuWithControlKey?\": \"boolean\",\n      \"suppressMenuHide?\": \"boolean\",\n      \"enableBrowserTooltips?\": \"boolean\",\n      \"tooltipShowDelay?\": \"number\",\n      \"tooltipHideDelay?\": \"number\",\n      \"tooltipMouseTrack?\": \"boolean\",\n      \"popupParent?\": \"HTMLElement | null\",\n      \"copyHeadersToClipboard?\": \"boolean\",\n      \"copyGroupHeadersToClipboard?\": \"boolean\",\n      \"clipboardDeliminator?\": \"string\",\n      \"clipboardDelimiter?\": \"string\",\n      \"suppressCopyRowsToClipboard?\": \"boolean\",\n      \"suppressCopySingleCellRanges?\": \"boolean\",\n      \"suppressLastEmptyLineOnPaste?\": \"boolean\",\n      \"suppressClipboardPaste?\": \"boolean\",\n      \"suppressClipboardApi?\": \"boolean\",\n      \"suppressCutToClipboard?\": \"boolean\",\n      \"columnDefs?\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\",\n      \"defaultColDef?\": \"ColDef<TData>\",\n      \"defaultColGroupDef?\": \"Partial<ColGroupDef<TData>>\",\n      \"columnTypes?\": \"{ [key: string]: ColDef<TData>; }\",\n      \"maintainColumnOrder?\": \"boolean\",\n      \"suppressFieldDotNotation?\": \"boolean\",\n      \"headerHeight?\": \"number\",\n      \"groupHeaderHeight?\": \"number\",\n      \"floatingFiltersHeight?\": \"number\",\n      \"pivotHeaderHeight?\": \"number\",\n      \"pivotGroupHeaderHeight?\": \"number\",\n      \"allowDragFromColumnsToolPanel?\": \"boolean\",\n      \"suppressMovableColumns?\": \"boolean\",\n      \"suppressColumnMoveAnimation?\": \"boolean\",\n      \"suppressDragLeaveHidesColumns?\": \"boolean\",\n      \"suppressRowGroupHidesColumns?\": \"boolean\",\n      \"colResizeDefault?\": \"'shift'\",\n      \"suppressAutoSize?\": \"boolean\",\n      \"autoSizePadding?\": \"number\",\n      \"skipHeaderOnAutoSize?\": \"boolean\",\n      \"components?\": \"{ [p: string]: any; }\",\n      \"frameworkComponents?\": \"{ [p: string]: { new (): any; }; } | any\",\n      \"reactUi?\": \"boolean\",\n      \"suppressReactUi?\": \"boolean\",\n      \"editType?\": \"'fullRow'\",\n      \"singleClickEdit?\": \"boolean\",\n      \"suppressClickEdit?\": \"boolean\",\n      \"readOnlyEdit?\": \"boolean\",\n      \"stopEditingWhenCellsLoseFocus?\": \"boolean\",\n      \"enterMovesDown?\": \"boolean\",\n      \"enterMovesDownAfterEdit?\": \"boolean\",\n      \"enableCellEditingOnBackspace?\": \"boolean\",\n      \"undoRedoCellEditing?\": \"boolean\",\n      \"undoRedoCellEditingLimit?\": \"number\",\n      \"defaultCsvExportParams?\": \"CsvExportParams\",\n      \"suppressCsvExport?\": \"boolean\",\n      \"defaultExcelExportParams?\": \"ExcelExportParams\",\n      \"suppressExcelExport?\": \"boolean\",\n      \"excelStyles?\": \"ExcelStyle[]\",\n      \"quickFilterText?\": \"string\",\n      \"cacheQuickFilter?\": \"boolean\",\n      \"excludeHiddenColumnsFromQuickFilter?\": \"boolean\",\n      \"excludeChildrenWhenTreeDataFiltering?\": \"boolean\",\n      \"enableCharts?\": \"boolean\",\n      \"chartThemes?\": \"string[]\",\n      \"customChartThemes?\": \"{ [name: string]: AgChartTheme; }\",\n      \"chartThemeOverrides?\": \"AgChartThemeOverrides\",\n      \"enableChartToolPanelsButton?\": \"boolean\",\n      \"suppressChartToolPanelsButton?\": \"boolean\",\n      \"chartToolPanelsDef?\": \"ChartToolPanelsDef\",\n      \"loadingCellRenderer?\": \"any\",\n      \"loadingCellRendererFramework?\": \"any\",\n      \"loadingCellRendererParams?\": \"any\",\n      \"loadingCellRendererSelector?\": \"LoadingCellRendererSelectorFunc<TData>\",\n      \"localeText?\": \"{ [key: string]: string; }\",\n      \"masterDetail?\": \"boolean\",\n      \"keepDetailRows?\": \"boolean\",\n      \"keepDetailRowsCount?\": \"number\",\n      \"detailCellRenderer?\": \"any\",\n      \"detailCellRendererFramework?\": \"any\",\n      \"detailCellRendererParams?\": \"any\",\n      \"detailRowHeight?\": \"number\",\n      \"detailRowAutoHeight?\": \"boolean\",\n      \"context?\": \"any\",\n      \"alignedGrids?\": \"{ api?: GridApi | null; columnApi?: ColumnApi | null; }[]\",\n      \"tabIndex?\": \"number\",\n      \"rowBuffer?\": \"number\",\n      \"valueCache?\": \"boolean\",\n      \"valueCacheNeverExpires?\": \"boolean\",\n      \"enableCellExpressions?\": \"boolean\",\n      \"suppressParentsInRowNodes?\": \"boolean\",\n      \"suppressTouch?\": \"boolean\",\n      \"suppressFocusAfterRefresh?\": \"boolean\",\n      \"suppressAsyncEvents?\": \"boolean\",\n      \"suppressBrowserResizeObserver?\": \"boolean\",\n      \"suppressPropertyNamesCheck?\": \"boolean\",\n      \"suppressChangeDetection?\": \"boolean\",\n      \"debug?\": \"boolean\",\n      \"overlayLoadingTemplate?\": \"string\",\n      \"loadingOverlayComponent?\": \"any\",\n      \"loadingOverlayComponentFramework?\": \"any\",\n      \"loadingOverlayComponentParams?\": \"any\",\n      \"suppressLoadingOverlay?\": \"boolean\",\n      \"overlayNoRowsTemplate?\": \"string\",\n      \"noRowsOverlayComponent?\": \"any\",\n      \"noRowsOverlayComponentFramework?\": \"any\",\n      \"noRowsOverlayComponentParams?\": \"any\",\n      \"suppressNoRowsOverlay?\": \"boolean\",\n      \"pagination?\": \"boolean\",\n      \"paginationPageSize?\": \"number\",\n      \"paginationAutoPageSize?\": \"boolean\",\n      \"paginateChildRows?\": \"boolean\",\n      \"suppressPaginationPanel?\": \"boolean\",\n      \"pivotMode?\": \"boolean\",\n      \"pivotPanelShow?\": \"'always' | 'onlyWhenPivoting' | 'never'\",\n      \"pivotColumnGroupTotals?\": \"'before' | 'after'\",\n      \"pivotRowTotals?\": \"'before' | 'after'\",\n      \"pivotSuppressAutoColumn?\": \"boolean\",\n      \"suppressExpandablePivotGroups?\": \"boolean\",\n      \"functionsReadOnly?\": \"boolean\",\n      \"aggFuncs?\": \"{ [key: string]: IAggFunc<TData>; }\",\n      \"suppressAggFuncInHeader?\": \"boolean\",\n      \"suppressAggAtRootLevel?\": \"boolean\",\n      \"aggregateOnlyChangedColumns?\": \"boolean\",\n      \"suppressAggFilteredOnly?\": \"boolean\",\n      \"removePivotHeaderRowWhenSingleValueColumn?\": \"boolean\",\n      \"animateRows?\": \"boolean\",\n      \"enableCellChangeFlash?\": \"boolean\",\n      \"cellFlashDelay?\": \"number\",\n      \"cellFadeDelay?\": \"number\",\n      \"allowShowChangeAfterFilter?\": \"boolean\",\n      \"domLayout?\": \"DomLayoutType\",\n      \"ensureDomOrder?\": \"boolean\",\n      \"enableRtl?\": \"boolean\",\n      \"suppressColumnVirtualisation?\": \"boolean\",\n      \"suppressMaxRenderedRowRestriction?\": \"boolean\",\n      \"suppressRowVirtualisation?\": \"boolean\",\n      \"rowDragManaged?\": \"boolean\",\n      \"suppressRowDrag?\": \"boolean\",\n      \"suppressMoveWhenRowDragging?\": \"boolean\",\n      \"rowDragEntireRow?\": \"boolean\",\n      \"rowDragMultiRow?\": \"boolean\",\n      \"rowDragText?\": \"(params: IRowDragItem, dragItemCount: number) => string\",\n      \"fullWidthCellRenderer?\": \"any\",\n      \"fullWidthCellRendererFramework?\": \"any\",\n      \"fullWidthCellRendererParams?\": \"any\",\n      \"embedFullWidthRows?\": \"boolean\",\n      \"groupDisplayType?\": \"RowGroupingDisplayType\",\n      \"groupDefaultExpanded?\": \"number\",\n      \"autoGroupColumnDef?\": \"ColDef<TData>\",\n      \"groupMaintainOrder?\": \"boolean\",\n      \"groupSelectsChildren?\": \"boolean\",\n      \"groupAggFiltering?\": \"boolean | IsRowFilterable<TData>\",\n      \"groupIncludeFooter?\": \"boolean\",\n      \"groupIncludeTotalFooter?\": \"boolean\",\n      \"groupSuppressBlankHeader?\": \"boolean\",\n      \"groupSelectsFiltered?\": \"boolean\",\n      \"showOpenedGroup?\": \"boolean\",\n      \"groupRemoveSingleChildren?\": \"boolean\",\n      \"groupRemoveLowestSingleChildren?\": \"boolean\",\n      \"groupHideOpenParents?\": \"boolean\",\n      \"groupAllowUnbalanced?\": \"boolean\",\n      \"rowGroupPanelShow?\": \"'always' | 'onlyWhenGrouping' | 'never'\",\n      \"groupRowRenderer?\": \"any\",\n      \"groupRowRendererFramework?\": \"any\",\n      \"groupRowRendererParams?\": \"any\",\n      \"suppressMakeColumnVisibleAfterUnGroup?\": \"boolean\",\n      \"treeData?\": \"boolean\",\n      \"rowGroupPanelSuppressSort?\": \"boolean\",\n      \"groupRowsSticky?\": \"boolean\",\n      \"rememberGroupStateWhenNewData?\": \"boolean\",\n      \"pinnedTopRowData?\": \"any[]\",\n      \"pinnedBottomRowData?\": \"any[]\",\n      \"rowModelType?\": \"RowModelType\",\n      \"rowData?\": \"TData[] | null\",\n      \"immutableData?\": \"boolean\",\n      \"asyncTransactionWaitMillis?\": \"number\",\n      \"suppressModelUpdateAfterUpdateTransaction?\": \"boolean\",\n      \"datasource?\": \"IDatasource\",\n      \"cacheOverflowSize?\": \"number\",\n      \"infiniteInitialRowCount?\": \"number\",\n      \"serverSideInitialRowCount?\": \"number\",\n      \"serverSideStoreType?\": \"ServerSideStoreType\",\n      \"suppressServerSideInfiniteScroll?\": \"boolean\",\n      \"cacheBlockSize?\": \"number\",\n      \"maxBlocksInCache?\": \"number\",\n      \"maxConcurrentDatasourceRequests?\": \"number\",\n      \"blockLoadDebounceMillis?\": \"number\",\n      \"purgeClosedRowNodes?\": \"boolean\",\n      \"serverSideDatasource?\": \"IServerSideDatasource\",\n      \"serverSideSortAllLevels?\": \"boolean\",\n      \"serverSideFilterAllLevels?\": \"boolean\",\n      \"serverSideSortOnServer?\": \"boolean\",\n      \"serverSideFilterOnServer?\": \"boolean\",\n      \"serverSideSortingAlwaysResets?\": \"boolean\",\n      \"serverSideFilteringAlwaysResets?\": \"boolean\",\n      \"viewportDatasource?\": \"IViewportDatasource\",\n      \"viewportRowModelPageSize?\": \"number\",\n      \"viewportRowModelBufferSize?\": \"number\",\n      \"alwaysShowHorizontalScroll?\": \"boolean\",\n      \"alwaysShowVerticalScroll?\": \"boolean\",\n      \"debounceVerticalScrollbar?\": \"boolean\",\n      \"suppressHorizontalScroll?\": \"boolean\",\n      \"suppressScrollOnNewData?\": \"boolean\",\n      \"suppressScrollWhenPopupsAreOpen?\": \"boolean\",\n      \"suppressAnimationFrame?\": \"boolean\",\n      \"suppressMiddleClickScrolls?\": \"boolean\",\n      \"suppressPreventDefaultOnMouseWheel?\": \"boolean\",\n      \"scrollbarWidth?\": \"number\",\n      \"rowSelection?\": \"'single' | 'multiple'\",\n      \"rowMultiSelectWithClick?\": \"boolean\",\n      \"suppressRowDeselection?\": \"boolean\",\n      \"suppressRowClickSelection?\": \"boolean\",\n      \"suppressCellSelection?\": \"boolean\",\n      \"suppressCellFocus?\": \"boolean\",\n      \"suppressMultiRangeSelection?\": \"boolean\",\n      \"enableCellTextSelection?\": \"boolean\",\n      \"enableRangeSelection?\": \"boolean\",\n      \"enableRangeHandle?\": \"boolean\",\n      \"enableFillHandle?\": \"boolean\",\n      \"fillHandleDirection?\": \"'x' | 'y' | 'xy'\",\n      \"suppressClearOnFillReduction?\": \"boolean\",\n      \"sortingOrder?\": \"(SortDirection)[]\",\n      \"accentedSort?\": \"boolean\",\n      \"unSortIcon?\": \"boolean\",\n      \"suppressMultiSort?\": \"boolean\",\n      \"alwaysMultiSort?\": \"boolean\",\n      \"multiSortKey?\": \"'ctrl'\",\n      \"suppressMaintainUnsortedOrder?\": \"boolean\",\n      \"icons?\": \"{ [key: string]: Function | string; }\",\n      \"rowHeight?\": \"number\",\n      \"rowStyle?\": \"RowStyle\",\n      \"rowClass?\": \"string | string[]\",\n      \"rowClassRules?\": \"RowClassRules<TData>\",\n      \"suppressRowHoverHighlight?\": \"boolean\",\n      \"suppressRowTransform?\": \"boolean\",\n      \"columnHoverHighlight?\": \"boolean\",\n      \"deltaSort?\": \"boolean\",\n      \"treeDataDisplayType?\": \"TreeDataDisplayType\",\n      \"functionsPassive?\": \"boolean\",\n      \"enableGroupEdit?\": \"boolean\",\n      \"getContextMenuItems?\": \"GetContextMenuItems<TData>\",\n      \"getMainMenuItems?\": \"GetMainMenuItems\",\n      \"postProcessPopup?\": \"(params: PostProcessPopupParams<TData>) => void\",\n      \"processCellForClipboard?\": \"(params: ProcessCellForExportParams<TData>) => any\",\n      \"processHeaderForClipboard?\": \"(params: ProcessHeaderForExportParams<TData>) => any\",\n      \"processGroupHeaderForClipboard?\": \"(params: ProcessGroupHeaderForExportParams<TData>) => any\",\n      \"processCellFromClipboard?\": \"(params: ProcessCellForExportParams<TData>) => any\",\n      \"sendToClipboard?\": \"(params: SendToClipboardParams<TData>) => void\",\n      \"processDataFromClipboard?\": \"(params: ProcessDataFromClipboardParams<TData>) => string[][] | null\",\n      \"isExternalFilterPresent?\": \"(params: IsExternalFilterPresentParams<TData>) => boolean\",\n      \"doesExternalFilterPass?\": \"(node: IRowNode<TData>) => boolean\",\n      \"getChartToolbarItems?\": \"GetChartToolbarItems\",\n      \"createChartContainer?\": \"(params: ChartRefParams<TData>) => void\",\n      \"navigateToNextHeader?\": \"(params: NavigateToNextHeaderParams<TData>) => (HeaderPosition | null)\",\n      \"tabToNextHeader?\": \"(params: TabToNextHeaderParams<TData>) => (HeaderPosition | null)\",\n      \"navigateToNextCell?\": \"(params: NavigateToNextCellParams<TData>) => (CellPosition | null)\",\n      \"tabToNextCell?\": \"(params: TabToNextCellParams<TData>) => (CellPosition | null)\",\n      \"localeTextFunc?\": \"(key: string, defaultValue: string, variableValues?: string[]) => string\",\n      \"getLocaleText?\": \"(params: GetLocaleTextParams<TData>) => string\",\n      \"getDocument?\": \"() => Document\",\n      \"paginationNumberFormatter?\": \"(params: PaginationNumberFormatterParams<TData>) => string\",\n      \"groupRowAggNodes?\": \"(nodes: IRowNode[]) => any\",\n      \"getGroupRowAgg?\": \"(params: GetGroupRowAggParams<TData>) => any\",\n      \"isGroupOpenByDefault?\": \"(params: IsGroupOpenByDefaultParams<TData>) => boolean\",\n      \"initialGroupOrderComparator?\": \"(params: InitialGroupOrderComparatorParams<TData>) => number\",\n      \"defaultGroupOrderComparator?\": \"(nodeA: IRowNode<TData>, nodeB: IRowNode<TData>) => number\",\n      \"processSecondaryColDef?\": \"(colDef: ColDef<TData>) => void\",\n      \"processSecondaryColGroupDef?\": \"(colGroupDef: ColGroupDef<TData>) => void\",\n      \"processPivotResultColDef?\": \"(colDef: ColDef<TData>) => void\",\n      \"processPivotResultColGroupDef?\": \"(colGroupDef: ColGroupDef<TData>) => void\",\n      \"getDataPath?\": \"GetDataPath<TData>\",\n      \"getChildCount?\": \"(dataItem: any) => number\",\n      \"getServerSideGroupLevelParams?\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\",\n      \"getServerSideStoreParams?\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\",\n      \"isServerSideGroupOpenByDefault?\": \"(params: IsServerSideGroupOpenByDefaultParams) => boolean\",\n      \"isApplyServerSideTransaction?\": \"IsApplyServerSideTransaction\",\n      \"isServerSideGroup?\": \"IsServerSideGroup\",\n      \"getServerSideGroupKey?\": \"GetServerSideGroupKey\",\n      \"getBusinessKeyForNode?\": \"(node: IRowNode<TData>) => string\",\n      \"getRowNodeId?\": \"GetRowNodeIdFunc<TData>\",\n      \"getRowId?\": \"GetRowIdFunc<TData>\",\n      \"resetRowDataOnUpdate?\": \"boolean\",\n      \"processRowPostCreate?\": \"(params: ProcessRowParams<TData>) => void\",\n      \"isRowSelectable?\": \"IsRowSelectable<TData>\",\n      \"isRowMaster?\": \"IsRowMaster<TData>\",\n      \"fillOperation?\": \"(params: FillOperationParams<TData>) => any\",\n      \"postSort?\": \"(nodes: IRowNode<TData>[]) => void\",\n      \"postSortRows?\": \"(params: PostSortRowsParams<TData>) => void\",\n      \"getRowStyle?\": \"(params: RowClassParams<TData>) => RowStyle | undefined\",\n      \"getRowClass?\": \"(params: RowClassParams<TData>) => string | string[] | undefined\",\n      \"getRowHeight?\": \"(params: RowHeightParams<TData>) => number | undefined | null\",\n      \"isFullWidthCell?\": \"(rowNode: IRowNode<TData>) => boolean\",\n      \"isFullWidthRow?\": \"(params: IsFullWidthRowParams<TData>) => boolean\",\n      \"onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent<TData>)\": \"void\",\n      \"onToolPanelSizeChanged?(event: ToolPanelSizeChangedEvent<TData>)\": \"void\",\n      \"onPasteStart?(event: PasteStartEvent<TData>)\": \"void\",\n      \"onPasteEnd?(event: PasteEndEvent<TData>)\": \"void\",\n      \"onColumnVisible?(event: ColumnVisibleEvent<TData>)\": \"void\",\n      \"onColumnPinned?(event: ColumnPinnedEvent<TData>)\": \"void\",\n      \"onColumnResized?(event: ColumnResizedEvent<TData>)\": \"void\",\n      \"onColumnMoved?(event: ColumnMovedEvent<TData>)\": \"void\",\n      \"onColumnValueChanged?(event: ColumnValueChangedEvent<TData>)\": \"void\",\n      \"onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent<TData>)\": \"void\",\n      \"onColumnPivotChanged?(event: ColumnPivotChangedEvent<TData>)\": \"void\",\n      \"onColumnGroupOpened?(event: ColumnGroupOpenedEvent<TData>)\": \"void\",\n      \"onNewColumnsLoaded?(event: NewColumnsLoadedEvent<TData>)\": \"void\",\n      \"onGridColumnsChanged?(event: GridColumnsChangedEvent<TData>)\": \"void\",\n      \"onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent<TData>)\": \"void\",\n      \"onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent<TData>)\": \"void\",\n      \"onColumnEverythingChanged?(event: ColumnEverythingChangedEvent<TData>)\": \"void\",\n      \"onComponentStateChanged?(event: ComponentStateChangedEvent<TData>)\": \"void\",\n      \"onCellValueChanged?(event: CellValueChangedEvent<TData>)\": \"void\",\n      \"onCellEditRequest?(event: CellEditRequestEvent<TData>)\": \"void\",\n      \"onRowValueChanged?(event: RowValueChangedEvent<TData>)\": \"void\",\n      \"onCellEditingStarted?(event: CellEditingStartedEvent<TData>)\": \"void\",\n      \"onCellEditingStopped?(event: CellEditingStoppedEvent<TData>)\": \"void\",\n      \"onRowEditingStarted?(event: RowEditingStartedEvent<TData>)\": \"void\",\n      \"onRowEditingStopped?(event: RowEditingStoppedEvent<TData>)\": \"void\",\n      \"onUndoStarted?(event: UndoStartedEvent<TData>)\": \"void\",\n      \"onUndoEnded?(event: UndoEndedEvent<TData>)\": \"void\",\n      \"onRedoStarted?(event: RedoStartedEvent<TData>)\": \"void\",\n      \"onRedoEnded?(event: RedoEndedEvent<TData>)\": \"void\",\n      \"onFilterOpened?(event: FilterOpenedEvent<TData>)\": \"void\",\n      \"onFilterChanged?(event: FilterChangedEvent<TData>)\": \"void\",\n      \"onFilterModified?(event: FilterModifiedEvent<TData>)\": \"void\",\n      \"onChartCreated?(event: ChartCreated<TData>)\": \"void\",\n      \"onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged<TData>)\": \"void\",\n      \"onChartOptionsChanged?(event: ChartOptionsChanged<TData>)\": \"void\",\n      \"onChartDestroyed?(event: ChartDestroyed<TData>)\": \"void\",\n      \"onCellKeyDown?(event: CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>)\": \"void\",\n      \"onCellKeyPress?(event: CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>)\": \"void\",\n      \"onGridReady?(event: GridReadyEvent<TData>)\": \"void\",\n      \"onFirstDataRendered?(event: FirstDataRenderedEvent<TData>)\": \"void\",\n      \"onGridSizeChanged?(event: GridSizeChangedEvent<TData>)\": \"void\",\n      \"onModelUpdated?(event: ModelUpdatedEvent<TData>)\": \"void\",\n      \"onVirtualRowRemoved?(event: VirtualRowRemovedEvent<TData>)\": \"void\",\n      \"onViewportChanged?(event: ViewportChangedEvent<TData>)\": \"void\",\n      \"onBodyScroll?(event: BodyScrollEvent<TData>)\": \"void\",\n      \"onBodyScrollEnd?(event: BodyScrollEndEvent<TData>)\": \"void\",\n      \"onDragStarted?(event: DragStartedEvent<TData>)\": \"void\",\n      \"onDragStopped?(event: DragStoppedEvent<TData>)\": \"void\",\n      \"onPaginationChanged?(event: PaginationChangedEvent<TData>)\": \"void\",\n      \"onRowDragEnter?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragMove?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragLeave?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragEnd?(event: RowDragEvent<TData>)\": \"void\",\n      \"onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent<TData>)\": \"void\",\n      \"onRowGroupOpened?(event: RowGroupOpenedEvent<TData>)\": \"void\",\n      \"onExpandOrCollapseAll?(event: ExpandCollapseAllEvent<TData>)\": \"void\",\n      \"onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent<TData>)\": \"void\",\n      \"onRowDataChanged?(event: RowDataChangedEvent<TData>)\": \"void\",\n      \"onRowDataUpdated?(event: RowDataUpdatedEvent<TData>)\": \"void\",\n      \"onAsyncTransactionsFlushed?(event: AsyncTransactionsFlushed<TData>)\": \"void\",\n      \"onStoreRefreshed?(event: StoreRefreshedEvent<TData>)\": \"void\",\n      \"onCellClicked?(event: CellClickedEvent<TData>)\": \"void\",\n      \"onCellDoubleClicked?(event: CellDoubleClickedEvent<TData>)\": \"void\",\n      \"onCellFocused?(event: CellFocusedEvent<TData>)\": \"void\",\n      \"onCellMouseOver?(event: CellMouseOverEvent<TData>)\": \"void\",\n      \"onCellMouseOut?(event: CellMouseOutEvent<TData>)\": \"void\",\n      \"onCellMouseDown?(event: CellMouseDownEvent<TData>)\": \"void\",\n      \"onRowClicked?(event: RowClickedEvent<TData>)\": \"void\",\n      \"onRowDoubleClicked?(event: RowDoubleClickedEvent<TData>)\": \"void\",\n      \"onRowSelected?(event: RowSelectedEvent<TData>)\": \"void\",\n      \"onSelectionChanged?(event: SelectionChangedEvent<TData>)\": \"void\",\n      \"onCellContextMenu?(event: CellContextMenuEvent<TData>)\": \"void\",\n      \"onRangeSelectionChanged?(event: RangeSelectionChangedEvent<TData>)\": \"void\",\n      \"onSortChanged?(event: SortChangedEvent<TData>)\": \"void\",\n      \"onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent<TData>)\": \"void\",\n      \"api?\": \"GridApi<TData> | null\",\n      \"columnApi?\": \"ColumnApi | null\"\n    },\n    \"docs\": {\n      \"rowDataChangeDetectionStrategy?\": \"/** @deprecated v29 ChangeDetectionStrategyType has been deprecated. IdentityCheck will always be used now for a more consistent approach. */\",\n      \"statusBar?\": \"/** Specifies the status bar components to use in the status bar. */\",\n      \"sideBar?\": \"/** Specifies the side bar components. */\",\n      \"suppressContextMenu?\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n      \"preventDefaultOnContextMenu?\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n      \"allowContextMenuWithControlKey?\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n      \"suppressMenuHide?\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n      \"enableBrowserTooltips?\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n      \"tooltipShowDelay?\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n      \"tooltipHideDelay?\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n      \"tooltipMouseTrack?\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n      \"popupParent?\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n      \"copyHeadersToClipboard?\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"copyGroupHeadersToClipboard?\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"clipboardDeliminator?\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n      \"clipboardDelimiter?\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n      \"suppressCopyRowsToClipboard?\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n      \"suppressCopySingleCellRanges?\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n      \"suppressLastEmptyLineOnPaste?\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n      \"suppressClipboardPaste?\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n      \"suppressClipboardApi?\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n      \"suppressCutToClipboard?\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n      \"columnDefs?\": \"/** Array of Column / Column Group definitions. */\",\n      \"defaultColDef?\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n      \"defaultColGroupDef?\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n      \"columnTypes?\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n      \"maintainColumnOrder?\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n      \"suppressFieldDotNotation?\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n      \"headerHeight?\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n      \"groupHeaderHeight?\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n      \"floatingFiltersHeight?\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n      \"pivotHeaderHeight?\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n      \"pivotGroupHeaderHeight?\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n      \"allowDragFromColumnsToolPanel?\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n      \"suppressMovableColumns?\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n      \"suppressColumnMoveAnimation?\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n      \"suppressDragLeaveHidesColumns?\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n      \"suppressRowGroupHidesColumns?\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n      \"colResizeDefault?\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n      \"suppressAutoSize?\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n      \"autoSizePadding?\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n      \"skipHeaderOnAutoSize?\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n      \"components?\": \"/** A map of component names to components. */\",\n      \"frameworkComponents?\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n      \"reactUi?\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n      \"suppressReactUi?\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n      \"editType?\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n      \"singleClickEdit?\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n      \"suppressClickEdit?\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n      \"readOnlyEdit?\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n      \"stopEditingWhenCellsLoseFocus?\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n      \"enterMovesDown?\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"enterMovesDownAfterEdit?\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"enableCellEditingOnBackspace?\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n      \"undoRedoCellEditing?\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n      \"undoRedoCellEditingLimit?\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n      \"defaultCsvExportParams?\": \"/** A default configuration object used to export to CSV. */\",\n      \"suppressCsvExport?\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n      \"defaultExcelExportParams?\": \"/** A default configuration object used to export to Excel. */\",\n      \"suppressExcelExport?\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n      \"excelStyles?\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n      \"quickFilterText?\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n      \"cacheQuickFilter?\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n      \"excludeHiddenColumnsFromQuickFilter?\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n      \"excludeChildrenWhenTreeDataFiltering?\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n      \"enableCharts?\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n      \"chartThemes?\": \"/** The list of chart themes to be used. */\",\n      \"customChartThemes?\": \"/** A map containing custom chart themes. */\",\n      \"chartThemeOverrides?\": \"/** Chart theme overrides applied to all themes. */\",\n      \"enableChartToolPanelsButton?\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n      \"suppressChartToolPanelsButton?\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n      \"chartToolPanelsDef?\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n      \"loadingCellRenderer?\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"loadingCellRendererFramework?\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n      \"loadingCellRendererParams?\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n      \"loadingCellRendererSelector?\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n      \"localeText?\": \"/** A map of key->value pairs for localising text within the grid. */\",\n      \"masterDetail?\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n      \"keepDetailRows?\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n      \"keepDetailRowsCount?\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n      \"detailCellRenderer?\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n      \"detailCellRendererFramework?\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n      \"detailCellRendererParams?\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n      \"detailRowHeight?\": \"/** Set fixed height in pixels for each detail row. */\",\n      \"detailRowAutoHeight?\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n      \"context?\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n      \"alignedGrids?\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n      \"tabIndex?\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n      \"rowBuffer?\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n      \"valueCache?\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n      \"valueCacheNeverExpires?\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n      \"enableCellExpressions?\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n      \"suppressParentsInRowNodes?\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n      \"suppressTouch?\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n      \"suppressFocusAfterRefresh?\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n      \"suppressAsyncEvents?\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n      \"suppressBrowserResizeObserver?\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n      \"suppressPropertyNamesCheck?\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n      \"suppressChangeDetection?\": \"/** Disables change detection. Default: `false` */\",\n      \"debug?\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n      \"overlayLoadingTemplate?\": \"/** Provide a template for 'loading' overlay. */\",\n      \"loadingOverlayComponent?\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n      \"loadingOverlayComponentFramework?\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n      \"loadingOverlayComponentParams?\": \"/** Customise the parameters provided to the loading overlay component. */\",\n      \"suppressLoadingOverlay?\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n      \"overlayNoRowsTemplate?\": \"/** Provide a template for 'no rows' overlay. */\",\n      \"noRowsOverlayComponent?\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n      \"noRowsOverlayComponentFramework?\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n      \"noRowsOverlayComponentParams?\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n      \"suppressNoRowsOverlay?\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n      \"pagination?\": \"/** Set whether pagination is enabled. Default: `false` */\",\n      \"paginationPageSize?\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n      \"paginationAutoPageSize?\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n      \"paginateChildRows?\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n      \"suppressPaginationPanel?\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n      \"pivotMode?\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n      \"pivotPanelShow?\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n      \"pivotColumnGroupTotals?\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n      \"pivotRowTotals?\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n      \"pivotSuppressAutoColumn?\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n      \"suppressExpandablePivotGroups?\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n      \"functionsReadOnly?\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n      \"aggFuncs?\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n      \"suppressAggFuncInHeader?\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n      \"suppressAggAtRootLevel?\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n      \"aggregateOnlyChangedColumns?\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n      \"suppressAggFilteredOnly?\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n      \"removePivotHeaderRowWhenSingleValueColumn?\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n      \"animateRows?\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n      \"enableCellChangeFlash?\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n      \"cellFlashDelay?\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n      \"cellFadeDelay?\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n      \"allowShowChangeAfterFilter?\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n      \"domLayout?\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n      \"ensureDomOrder?\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n      \"enableRtl?\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n      \"suppressColumnVirtualisation?\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"suppressMaxRenderedRowRestriction?\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n      \"suppressRowVirtualisation?\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"rowDragManaged?\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n      \"suppressRowDrag?\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n      \"suppressMoveWhenRowDragging?\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n      \"rowDragEntireRow?\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n      \"rowDragMultiRow?\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n      \"rowDragText?\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n      \"fullWidthCellRenderer?\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n      \"fullWidthCellRendererFramework?\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n      \"fullWidthCellRendererParams?\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n      \"embedFullWidthRows?\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n      \"groupDisplayType?\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n      \"groupDefaultExpanded?\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n      \"autoGroupColumnDef?\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n      \"groupMaintainOrder?\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n      \"groupSelectsChildren?\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n      \"groupAggFiltering?\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n      \"groupIncludeFooter?\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n      \"groupIncludeTotalFooter?\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n      \"groupSuppressBlankHeader?\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n      \"groupSelectsFiltered?\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n      \"showOpenedGroup?\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n      \"groupRemoveSingleChildren?\": \"/** Set to `true` to collapse groups that only have one child. */\",\n      \"groupRemoveLowestSingleChildren?\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n      \"groupHideOpenParents?\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n      \"groupAllowUnbalanced?\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n      \"rowGroupPanelShow?\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n      \"groupRowRenderer?\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n      \"groupRowRendererFramework?\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n      \"groupRowRendererParams?\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n      \"suppressMakeColumnVisibleAfterUnGroup?\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n      \"treeData?\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n      \"rowGroupPanelSuppressSort?\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n      \"groupRowsSticky?\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n      \"rememberGroupStateWhenNewData?\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n      \"pinnedTopRowData?\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n      \"pinnedBottomRowData?\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n      \"rowModelType?\": \"/** Sets the row model type. Default: `clientSide` */\",\n      \"rowData?\": \"/** Set the data to be displayed as rows in the grid. */\",\n      \"immutableData?\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n      \"asyncTransactionWaitMillis?\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n      \"suppressModelUpdateAfterUpdateTransaction?\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n      \"datasource?\": \"/** Provide the datasource for infinite scrolling. */\",\n      \"cacheOverflowSize?\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"infiniteInitialRowCount?\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"serverSideInitialRowCount?\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n      \"serverSideStoreType?\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n      \"suppressServerSideInfiniteScroll?\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n      \"cacheBlockSize?\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n      \"maxBlocksInCache?\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n      \"maxConcurrentDatasourceRequests?\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n      \"blockLoadDebounceMillis?\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n      \"purgeClosedRowNodes?\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n      \"serverSideDatasource?\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n      \"serverSideSortAllLevels?\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n      \"serverSideFilterAllLevels?\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n      \"serverSideSortOnServer?\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"serverSideFilterOnServer?\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"serverSideSortingAlwaysResets?\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n      \"serverSideFilteringAlwaysResets?\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n      \"viewportDatasource?\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n      \"viewportRowModelPageSize?\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n      \"viewportRowModelBufferSize?\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n      \"alwaysShowHorizontalScroll?\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n      \"alwaysShowVerticalScroll?\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n      \"debounceVerticalScrollbar?\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n      \"suppressHorizontalScroll?\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n      \"suppressScrollOnNewData?\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n      \"suppressScrollWhenPopupsAreOpen?\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n      \"suppressAnimationFrame?\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n      \"suppressMiddleClickScrolls?\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n      \"suppressPreventDefaultOnMouseWheel?\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n      \"scrollbarWidth?\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n      \"rowSelection?\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n      \"rowMultiSelectWithClick?\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n      \"suppressRowDeselection?\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n      \"suppressRowClickSelection?\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n      \"suppressCellSelection?\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n      \"suppressCellFocus?\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n      \"suppressMultiRangeSelection?\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n      \"enableCellTextSelection?\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n      \"enableRangeSelection?\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n      \"enableRangeHandle?\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n      \"enableFillHandle?\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n      \"fillHandleDirection?\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n      \"suppressClearOnFillReduction?\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n      \"sortingOrder?\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n      \"accentedSort?\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n      \"unSortIcon?\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n      \"suppressMultiSort?\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n      \"alwaysMultiSort?\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n      \"multiSortKey?\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n      \"suppressMaintainUnsortedOrder?\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n      \"icons?\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n      \"rowHeight?\": \"/** Default row height in pixels. Default: `25` */\",\n      \"rowStyle?\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n      \"rowClass?\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n      \"rowClassRules?\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"suppressRowHoverHighlight?\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n      \"suppressRowTransform?\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n      \"columnHoverHighlight?\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n      \"functionsPassive?\": \"/** @deprecated v29.2 */\",\n      \"getContextMenuItems?\": \"/** For customising the context menu. */\",\n      \"getMainMenuItems?\": \"/** For customising the main 'column header' menu. */\",\n      \"postProcessPopup?\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n      \"processCellForClipboard?\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n      \"processHeaderForClipboard?\": \"/** Allows you to process header values for the clipboard.  */\",\n      \"processGroupHeaderForClipboard?\": \"/** Allows you to process group header values for the clipboard.  */\",\n      \"processCellFromClipboard?\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n      \"sendToClipboard?\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n      \"processDataFromClipboard?\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n      \"isExternalFilterPresent?\": \"/** Grid calls this method to know if an external filter is present. */\",\n      \"doesExternalFilterPass?\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n      \"getChartToolbarItems?\": \"/** Callback to be used to customise the chart toolbar items. */\",\n      \"createChartContainer?\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n      \"navigateToNextHeader?\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n      \"tabToNextHeader?\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n      \"navigateToNextCell?\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n      \"tabToNextCell?\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n      \"localeTextFunc?\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n      \"getLocaleText?\": \"/** A callback for localising text within the grid. */\",\n      \"getDocument?\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n      \"paginationNumberFormatter?\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n      \"groupRowAggNodes?\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n      \"getGroupRowAgg?\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n      \"isGroupOpenByDefault?\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n      \"initialGroupOrderComparator?\": \"/** Allows default sorting of groups. */\",\n      \"defaultGroupOrderComparator?\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n      \"processSecondaryColDef?\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n      \"processSecondaryColGroupDef?\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n      \"processPivotResultColDef?\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n      \"processPivotResultColGroupDef?\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n      \"getDataPath?\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n      \"getChildCount?\": \"/** Allows setting the child count for a group row. */\",\n      \"getServerSideGroupLevelParams?\": \"/** Allows providing different params for different levels of grouping. */\",\n      \"getServerSideStoreParams?\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n      \"isServerSideGroupOpenByDefault?\": \"/** Allows groups to be open by default. */\",\n      \"isApplyServerSideTransaction?\": \"/** Allows cancelling transactions. */\",\n      \"isServerSideGroup?\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n      \"getServerSideGroupKey?\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n      \"getBusinessKeyForNode?\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n      \"getRowNodeId?\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n      \"getRowId?\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n      \"resetRowDataOnUpdate?\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n      \"processRowPostCreate?\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n      \"isRowSelectable?\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n      \"isRowMaster?\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n      \"fillOperation?\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n      \"postSort?\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n      \"postSortRows?\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n      \"getRowStyle?\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n      \"getRowClass?\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n      \"getRowHeight?\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n      \"isFullWidthCell?\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n      \"isFullWidthRow?\": \"/** Tells the grid if this row should be rendered as full width. */\",\n      \"onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent<TData>)\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"onToolPanelSizeChanged?(event: ToolPanelSizeChangedEvent<TData>)\": \"/** The tool panel size has been changed. */\",\n      \"onPasteStart?(event: PasteStartEvent<TData>)\": \"/** Paste operation has started. */\",\n      \"onPasteEnd?(event: PasteEndEvent<TData>)\": \"/** Paste operation has ended. */\",\n      \"onColumnVisible?(event: ColumnVisibleEvent<TData>)\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"onColumnPinned?(event: ColumnPinnedEvent<TData>)\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"onColumnResized?(event: ColumnResizedEvent<TData>)\": \"/** A column was resized. */\",\n      \"onColumnMoved?(event: ColumnMovedEvent<TData>)\": \"/** A column was moved. */\",\n      \"onColumnValueChanged?(event: ColumnValueChangedEvent<TData>)\": \"/** A value column was added or removed. */\",\n      \"onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent<TData>)\": \"/** The pivot mode flag was changed. */\",\n      \"onColumnPivotChanged?(event: ColumnPivotChangedEvent<TData>)\": \"/** A pivot column was added, removed or order changed. */\",\n      \"onColumnGroupOpened?(event: ColumnGroupOpenedEvent<TData>)\": \"/** A column group was opened / closed. */\",\n      \"onNewColumnsLoaded?(event: NewColumnsLoadedEvent<TData>)\": \"/** User set new columns. */\",\n      \"onGridColumnsChanged?(event: GridColumnsChangedEvent<TData>)\": \"/** The list of grid columns changed. */\",\n      \"onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent<TData>)\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent<TData>)\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"onColumnEverythingChanged?(event: ColumnEverythingChangedEvent<TData>)\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"onComponentStateChanged?(event: ComponentStateChangedEvent<TData>)\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"onCellValueChanged?(event: CellValueChangedEvent<TData>)\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"onCellEditRequest?(event: CellEditRequestEvent<TData>)\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"onRowValueChanged?(event: RowValueChangedEvent<TData>)\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"onCellEditingStarted?(event: CellEditingStartedEvent<TData>)\": \"/** Editing a cell has started. */\",\n      \"onCellEditingStopped?(event: CellEditingStoppedEvent<TData>)\": \"/** Editing a cell has stopped. */\",\n      \"onRowEditingStarted?(event: RowEditingStartedEvent<TData>)\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"onRowEditingStopped?(event: RowEditingStoppedEvent<TData>)\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"onUndoStarted?(event: UndoStartedEvent<TData>)\": \"/** Undo operation has started. */\",\n      \"onUndoEnded?(event: UndoEndedEvent<TData>)\": \"/** Undo operation has ended. */\",\n      \"onRedoStarted?(event: RedoStartedEvent<TData>)\": \"/** Redo operation has started. */\",\n      \"onRedoEnded?(event: RedoEndedEvent<TData>)\": \"/** Redo operation has ended. */\",\n      \"onFilterOpened?(event: FilterOpenedEvent<TData>)\": \"/** Filter has been opened. */\",\n      \"onFilterChanged?(event: FilterChangedEvent<TData>)\": \"/** Filter has been modified and applied. */\",\n      \"onFilterModified?(event: FilterModifiedEvent<TData>)\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"onChartCreated?(event: ChartCreated<TData>)\": \"/** A chart has been created. */\",\n      \"onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged<TData>)\": \"/** The data range for the chart has been changed. */\",\n      \"onChartOptionsChanged?(event: ChartOptionsChanged<TData>)\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"onChartDestroyed?(event: ChartDestroyed<TData>)\": \"/** A chart has been destroyed. */\",\n      \"onCellKeyDown?(event: CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>)\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"onCellKeyPress?(event: CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>)\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"onGridReady?(event: GridReadyEvent<TData>)\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"onFirstDataRendered?(event: FirstDataRenderedEvent<TData>)\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"onGridSizeChanged?(event: GridSizeChangedEvent<TData>)\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"onModelUpdated?(event: ModelUpdatedEvent<TData>)\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"onVirtualRowRemoved?(event: VirtualRowRemovedEvent<TData>)\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"onViewportChanged?(event: ViewportChangedEvent<TData>)\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"onBodyScroll?(event: BodyScrollEvent<TData>)\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"onBodyScrollEnd?(event: BodyScrollEndEvent<TData>)\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"onDragStarted?(event: DragStartedEvent<TData>)\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"onDragStopped?(event: DragStoppedEvent<TData>)\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"onPaginationChanged?(event: PaginationChangedEvent<TData>)\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"onRowDragEnter?(event: RowDragEvent<TData>)\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"onRowDragMove?(event: RowDragEvent<TData>)\": \"/** The mouse has moved while dragging. */\",\n      \"onRowDragLeave?(event: RowDragEvent<TData>)\": \"/** The mouse has left the grid while dragging. */\",\n      \"onRowDragEnd?(event: RowDragEvent<TData>)\": \"/** The drag has finished over the grid. */\",\n      \"onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent<TData>)\": \"/** A row group column was added or removed. */\",\n      \"onRowGroupOpened?(event: RowGroupOpenedEvent<TData>)\": \"/** A row group was opened or closed. */\",\n      \"onExpandOrCollapseAll?(event: ExpandCollapseAllEvent<TData>)\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent<TData>)\": \"/** The client has set new pinned row data into the grid. */\",\n      \"onRowDataChanged?(event: RowDataChangedEvent<TData>)\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"onRowDataUpdated?(event: RowDataUpdatedEvent<TData>)\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"onAsyncTransactionsFlushed?(event: AsyncTransactionsFlushed<TData>)\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"onStoreRefreshed?(event: StoreRefreshedEvent<TData>)\": \"/** A server side store has finished refreshing. */\",\n      \"onCellClicked?(event: CellClickedEvent<TData>)\": \"/** Cell is clicked. */\",\n      \"onCellDoubleClicked?(event: CellDoubleClickedEvent<TData>)\": \"/** Cell is double clicked. */\",\n      \"onCellFocused?(event: CellFocusedEvent<TData>)\": \"/** Cell is focused. */\",\n      \"onCellMouseOver?(event: CellMouseOverEvent<TData>)\": \"/** Mouse entered cell. */\",\n      \"onCellMouseOut?(event: CellMouseOutEvent<TData>)\": \"/** Mouse left cell. */\",\n      \"onCellMouseDown?(event: CellMouseDownEvent<TData>)\": \"/** Mouse down on cell. */\",\n      \"onRowClicked?(event: RowClickedEvent<TData>)\": \"/** Row is clicked. */\",\n      \"onRowDoubleClicked?(event: RowDoubleClickedEvent<TData>)\": \"/** Row is double clicked. */\",\n      \"onRowSelected?(event: RowSelectedEvent<TData>)\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"onSelectionChanged?(event: SelectionChangedEvent<TData>)\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"onCellContextMenu?(event: CellContextMenuEvent<TData>)\": \"/** Cell is right clicked. */\",\n      \"onRangeSelectionChanged?(event: RangeSelectionChangedEvent<TData>)\": \"/** A change to range selection has occurred. */\",\n      \"onSortChanged?(event: SortChangedEvent<TData>)\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"api?\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"columnApi?\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\"\n    }\n  },\n  \"AgReactUiProps\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"gridOptions?\": \"GridOptions<TData>\",\n      \"modules?\": \"Module[]\",\n      \"containerStyle?\": \"any\",\n      \"className?\": \"string\",\n      \"setGridApi?\": \"(gridApi: GridApi<TData>, columnApi: ColumnApi) => void\",\n      \"componentWrappingElement?\": \"string\",\n      \"maxComponentCreationTimeMs?\": \"number\",\n      \"rowDataChangeDetectionStrategy?\": \"ChangeDetectionStrategyType\",\n      \"children?\": \"any\",\n      \"statusBar?\": \"{ statusPanels: StatusPanelDef[]; }\",\n      \"sideBar?\": \"SideBarDef | string | string[] | boolean | null\",\n      \"suppressContextMenu?\": \"boolean\",\n      \"preventDefaultOnContextMenu?\": \"boolean\",\n      \"allowContextMenuWithControlKey?\": \"boolean\",\n      \"suppressMenuHide?\": \"boolean\",\n      \"enableBrowserTooltips?\": \"boolean\",\n      \"tooltipShowDelay?\": \"number\",\n      \"tooltipHideDelay?\": \"number\",\n      \"tooltipMouseTrack?\": \"boolean\",\n      \"popupParent?\": \"HTMLElement | null\",\n      \"copyHeadersToClipboard?\": \"boolean\",\n      \"copyGroupHeadersToClipboard?\": \"boolean\",\n      \"clipboardDeliminator?\": \"string\",\n      \"clipboardDelimiter?\": \"string\",\n      \"suppressCopyRowsToClipboard?\": \"boolean\",\n      \"suppressCopySingleCellRanges?\": \"boolean\",\n      \"suppressLastEmptyLineOnPaste?\": \"boolean\",\n      \"suppressClipboardPaste?\": \"boolean\",\n      \"suppressClipboardApi?\": \"boolean\",\n      \"suppressCutToClipboard?\": \"boolean\",\n      \"columnDefs?\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\",\n      \"defaultColDef?\": \"ColDef<TData>\",\n      \"defaultColGroupDef?\": \"Partial<ColGroupDef<TData>>\",\n      \"columnTypes?\": \"{ [key: string]: ColDef<TData>; }\",\n      \"maintainColumnOrder?\": \"boolean\",\n      \"suppressFieldDotNotation?\": \"boolean\",\n      \"headerHeight?\": \"number\",\n      \"groupHeaderHeight?\": \"number\",\n      \"floatingFiltersHeight?\": \"number\",\n      \"pivotHeaderHeight?\": \"number\",\n      \"pivotGroupHeaderHeight?\": \"number\",\n      \"allowDragFromColumnsToolPanel?\": \"boolean\",\n      \"suppressMovableColumns?\": \"boolean\",\n      \"suppressColumnMoveAnimation?\": \"boolean\",\n      \"suppressDragLeaveHidesColumns?\": \"boolean\",\n      \"suppressRowGroupHidesColumns?\": \"boolean\",\n      \"colResizeDefault?\": \"'shift'\",\n      \"suppressAutoSize?\": \"boolean\",\n      \"autoSizePadding?\": \"number\",\n      \"skipHeaderOnAutoSize?\": \"boolean\",\n      \"components?\": \"{ [p: string]: any; }\",\n      \"frameworkComponents?\": \"{ [p: string]: { new (): any; }; } | any\",\n      \"reactUi?\": \"boolean\",\n      \"suppressReactUi?\": \"boolean\",\n      \"editType?\": \"'fullRow'\",\n      \"singleClickEdit?\": \"boolean\",\n      \"suppressClickEdit?\": \"boolean\",\n      \"readOnlyEdit?\": \"boolean\",\n      \"stopEditingWhenCellsLoseFocus?\": \"boolean\",\n      \"enterMovesDown?\": \"boolean\",\n      \"enterMovesDownAfterEdit?\": \"boolean\",\n      \"enableCellEditingOnBackspace?\": \"boolean\",\n      \"undoRedoCellEditing?\": \"boolean\",\n      \"undoRedoCellEditingLimit?\": \"number\",\n      \"defaultCsvExportParams?\": \"CsvExportParams\",\n      \"suppressCsvExport?\": \"boolean\",\n      \"defaultExcelExportParams?\": \"ExcelExportParams\",\n      \"suppressExcelExport?\": \"boolean\",\n      \"excelStyles?\": \"ExcelStyle[]\",\n      \"quickFilterText?\": \"string\",\n      \"cacheQuickFilter?\": \"boolean\",\n      \"excludeHiddenColumnsFromQuickFilter?\": \"boolean\",\n      \"excludeChildrenWhenTreeDataFiltering?\": \"boolean\",\n      \"enableCharts?\": \"boolean\",\n      \"chartThemes?\": \"string[]\",\n      \"customChartThemes?\": \"{ [name: string]: AgChartTheme; }\",\n      \"chartThemeOverrides?\": \"AgChartThemeOverrides\",\n      \"enableChartToolPanelsButton?\": \"boolean\",\n      \"suppressChartToolPanelsButton?\": \"boolean\",\n      \"chartToolPanelsDef?\": \"ChartToolPanelsDef\",\n      \"loadingCellRenderer?\": \"any\",\n      \"loadingCellRendererFramework?\": \"any\",\n      \"loadingCellRendererParams?\": \"any\",\n      \"loadingCellRendererSelector?\": \"LoadingCellRendererSelectorFunc<TData>\",\n      \"localeText?\": \"{ [key: string]: string; }\",\n      \"masterDetail?\": \"boolean\",\n      \"keepDetailRows?\": \"boolean\",\n      \"keepDetailRowsCount?\": \"number\",\n      \"detailCellRenderer?\": \"any\",\n      \"detailCellRendererFramework?\": \"any\",\n      \"detailCellRendererParams?\": \"any\",\n      \"detailRowHeight?\": \"number\",\n      \"detailRowAutoHeight?\": \"boolean\",\n      \"context?\": \"any\",\n      \"alignedGrids?\": \"{ api?: GridApi | null; columnApi?: ColumnApi | null; }[]\",\n      \"tabIndex?\": \"number\",\n      \"rowBuffer?\": \"number\",\n      \"valueCache?\": \"boolean\",\n      \"valueCacheNeverExpires?\": \"boolean\",\n      \"enableCellExpressions?\": \"boolean\",\n      \"suppressParentsInRowNodes?\": \"boolean\",\n      \"suppressTouch?\": \"boolean\",\n      \"suppressFocusAfterRefresh?\": \"boolean\",\n      \"suppressAsyncEvents?\": \"boolean\",\n      \"suppressBrowserResizeObserver?\": \"boolean\",\n      \"suppressPropertyNamesCheck?\": \"boolean\",\n      \"suppressChangeDetection?\": \"boolean\",\n      \"debug?\": \"boolean\",\n      \"overlayLoadingTemplate?\": \"string\",\n      \"loadingOverlayComponent?\": \"any\",\n      \"loadingOverlayComponentFramework?\": \"any\",\n      \"loadingOverlayComponentParams?\": \"any\",\n      \"suppressLoadingOverlay?\": \"boolean\",\n      \"overlayNoRowsTemplate?\": \"string\",\n      \"noRowsOverlayComponent?\": \"any\",\n      \"noRowsOverlayComponentFramework?\": \"any\",\n      \"noRowsOverlayComponentParams?\": \"any\",\n      \"suppressNoRowsOverlay?\": \"boolean\",\n      \"pagination?\": \"boolean\",\n      \"paginationPageSize?\": \"number\",\n      \"paginationAutoPageSize?\": \"boolean\",\n      \"paginateChildRows?\": \"boolean\",\n      \"suppressPaginationPanel?\": \"boolean\",\n      \"pivotMode?\": \"boolean\",\n      \"pivotPanelShow?\": \"'always' | 'onlyWhenPivoting' | 'never'\",\n      \"pivotColumnGroupTotals?\": \"'before' | 'after'\",\n      \"pivotRowTotals?\": \"'before' | 'after'\",\n      \"pivotSuppressAutoColumn?\": \"boolean\",\n      \"suppressExpandablePivotGroups?\": \"boolean\",\n      \"functionsReadOnly?\": \"boolean\",\n      \"aggFuncs?\": \"{ [key: string]: IAggFunc<TData>; }\",\n      \"suppressAggFuncInHeader?\": \"boolean\",\n      \"suppressAggAtRootLevel?\": \"boolean\",\n      \"aggregateOnlyChangedColumns?\": \"boolean\",\n      \"suppressAggFilteredOnly?\": \"boolean\",\n      \"removePivotHeaderRowWhenSingleValueColumn?\": \"boolean\",\n      \"animateRows?\": \"boolean\",\n      \"enableCellChangeFlash?\": \"boolean\",\n      \"cellFlashDelay?\": \"number\",\n      \"cellFadeDelay?\": \"number\",\n      \"allowShowChangeAfterFilter?\": \"boolean\",\n      \"domLayout?\": \"DomLayoutType\",\n      \"ensureDomOrder?\": \"boolean\",\n      \"enableRtl?\": \"boolean\",\n      \"suppressColumnVirtualisation?\": \"boolean\",\n      \"suppressMaxRenderedRowRestriction?\": \"boolean\",\n      \"suppressRowVirtualisation?\": \"boolean\",\n      \"rowDragManaged?\": \"boolean\",\n      \"suppressRowDrag?\": \"boolean\",\n      \"suppressMoveWhenRowDragging?\": \"boolean\",\n      \"rowDragEntireRow?\": \"boolean\",\n      \"rowDragMultiRow?\": \"boolean\",\n      \"rowDragText?\": \"(params: IRowDragItem, dragItemCount: number) => string\",\n      \"fullWidthCellRenderer?\": \"any\",\n      \"fullWidthCellRendererFramework?\": \"any\",\n      \"fullWidthCellRendererParams?\": \"any\",\n      \"embedFullWidthRows?\": \"boolean\",\n      \"groupDisplayType?\": \"RowGroupingDisplayType\",\n      \"groupDefaultExpanded?\": \"number\",\n      \"autoGroupColumnDef?\": \"ColDef<TData>\",\n      \"groupMaintainOrder?\": \"boolean\",\n      \"groupSelectsChildren?\": \"boolean\",\n      \"groupAggFiltering?\": \"boolean | IsRowFilterable<TData>\",\n      \"groupIncludeFooter?\": \"boolean\",\n      \"groupIncludeTotalFooter?\": \"boolean\",\n      \"groupSuppressBlankHeader?\": \"boolean\",\n      \"groupSelectsFiltered?\": \"boolean\",\n      \"showOpenedGroup?\": \"boolean\",\n      \"groupRemoveSingleChildren?\": \"boolean\",\n      \"groupRemoveLowestSingleChildren?\": \"boolean\",\n      \"groupHideOpenParents?\": \"boolean\",\n      \"groupAllowUnbalanced?\": \"boolean\",\n      \"rowGroupPanelShow?\": \"'always' | 'onlyWhenGrouping' | 'never'\",\n      \"groupRowRenderer?\": \"any\",\n      \"groupRowRendererFramework?\": \"any\",\n      \"groupRowRendererParams?\": \"any\",\n      \"suppressMakeColumnVisibleAfterUnGroup?\": \"boolean\",\n      \"treeData?\": \"boolean\",\n      \"rowGroupPanelSuppressSort?\": \"boolean\",\n      \"groupRowsSticky?\": \"boolean\",\n      \"rememberGroupStateWhenNewData?\": \"boolean\",\n      \"pinnedTopRowData?\": \"any[]\",\n      \"pinnedBottomRowData?\": \"any[]\",\n      \"rowModelType?\": \"RowModelType\",\n      \"rowData?\": \"TData[] | null\",\n      \"immutableData?\": \"boolean\",\n      \"asyncTransactionWaitMillis?\": \"number\",\n      \"suppressModelUpdateAfterUpdateTransaction?\": \"boolean\",\n      \"datasource?\": \"IDatasource\",\n      \"cacheOverflowSize?\": \"number\",\n      \"infiniteInitialRowCount?\": \"number\",\n      \"serverSideInitialRowCount?\": \"number\",\n      \"serverSideStoreType?\": \"ServerSideStoreType\",\n      \"suppressServerSideInfiniteScroll?\": \"boolean\",\n      \"cacheBlockSize?\": \"number\",\n      \"maxBlocksInCache?\": \"number\",\n      \"maxConcurrentDatasourceRequests?\": \"number\",\n      \"blockLoadDebounceMillis?\": \"number\",\n      \"purgeClosedRowNodes?\": \"boolean\",\n      \"serverSideDatasource?\": \"IServerSideDatasource\",\n      \"serverSideSortAllLevels?\": \"boolean\",\n      \"serverSideFilterAllLevels?\": \"boolean\",\n      \"serverSideSortOnServer?\": \"boolean\",\n      \"serverSideFilterOnServer?\": \"boolean\",\n      \"serverSideSortingAlwaysResets?\": \"boolean\",\n      \"serverSideFilteringAlwaysResets?\": \"boolean\",\n      \"viewportDatasource?\": \"IViewportDatasource\",\n      \"viewportRowModelPageSize?\": \"number\",\n      \"viewportRowModelBufferSize?\": \"number\",\n      \"alwaysShowHorizontalScroll?\": \"boolean\",\n      \"alwaysShowVerticalScroll?\": \"boolean\",\n      \"debounceVerticalScrollbar?\": \"boolean\",\n      \"suppressHorizontalScroll?\": \"boolean\",\n      \"suppressScrollOnNewData?\": \"boolean\",\n      \"suppressScrollWhenPopupsAreOpen?\": \"boolean\",\n      \"suppressAnimationFrame?\": \"boolean\",\n      \"suppressMiddleClickScrolls?\": \"boolean\",\n      \"suppressPreventDefaultOnMouseWheel?\": \"boolean\",\n      \"scrollbarWidth?\": \"number\",\n      \"rowSelection?\": \"'single' | 'multiple'\",\n      \"rowMultiSelectWithClick?\": \"boolean\",\n      \"suppressRowDeselection?\": \"boolean\",\n      \"suppressRowClickSelection?\": \"boolean\",\n      \"suppressCellSelection?\": \"boolean\",\n      \"suppressCellFocus?\": \"boolean\",\n      \"suppressMultiRangeSelection?\": \"boolean\",\n      \"enableCellTextSelection?\": \"boolean\",\n      \"enableRangeSelection?\": \"boolean\",\n      \"enableRangeHandle?\": \"boolean\",\n      \"enableFillHandle?\": \"boolean\",\n      \"fillHandleDirection?\": \"'x' | 'y' | 'xy'\",\n      \"suppressClearOnFillReduction?\": \"boolean\",\n      \"sortingOrder?\": \"(SortDirection)[]\",\n      \"accentedSort?\": \"boolean\",\n      \"unSortIcon?\": \"boolean\",\n      \"suppressMultiSort?\": \"boolean\",\n      \"alwaysMultiSort?\": \"boolean\",\n      \"multiSortKey?\": \"'ctrl'\",\n      \"suppressMaintainUnsortedOrder?\": \"boolean\",\n      \"icons?\": \"{ [key: string]: Function | string; }\",\n      \"rowHeight?\": \"number\",\n      \"rowStyle?\": \"RowStyle\",\n      \"rowClass?\": \"string | string[]\",\n      \"rowClassRules?\": \"RowClassRules<TData>\",\n      \"suppressRowHoverHighlight?\": \"boolean\",\n      \"suppressRowTransform?\": \"boolean\",\n      \"columnHoverHighlight?\": \"boolean\",\n      \"deltaSort?\": \"boolean\",\n      \"treeDataDisplayType?\": \"TreeDataDisplayType\",\n      \"functionsPassive?\": \"boolean\",\n      \"enableGroupEdit?\": \"boolean\",\n      \"getContextMenuItems?\": \"GetContextMenuItems<TData>\",\n      \"getMainMenuItems?\": \"GetMainMenuItems\",\n      \"postProcessPopup?\": \"(params: PostProcessPopupParams<TData>) => void\",\n      \"processCellForClipboard?\": \"(params: ProcessCellForExportParams<TData>) => any\",\n      \"processHeaderForClipboard?\": \"(params: ProcessHeaderForExportParams<TData>) => any\",\n      \"processGroupHeaderForClipboard?\": \"(params: ProcessGroupHeaderForExportParams<TData>) => any\",\n      \"processCellFromClipboard?\": \"(params: ProcessCellForExportParams<TData>) => any\",\n      \"sendToClipboard?\": \"(params: SendToClipboardParams<TData>) => void\",\n      \"processDataFromClipboard?\": \"(params: ProcessDataFromClipboardParams<TData>) => string[][] | null\",\n      \"isExternalFilterPresent?\": \"(params: IsExternalFilterPresentParams<TData>) => boolean\",\n      \"doesExternalFilterPass?\": \"(node: IRowNode<TData>) => boolean\",\n      \"getChartToolbarItems?\": \"GetChartToolbarItems\",\n      \"createChartContainer?\": \"(params: ChartRefParams<TData>) => void\",\n      \"navigateToNextHeader?\": \"(params: NavigateToNextHeaderParams<TData>) => (HeaderPosition | null)\",\n      \"tabToNextHeader?\": \"(params: TabToNextHeaderParams<TData>) => (HeaderPosition | null)\",\n      \"navigateToNextCell?\": \"(params: NavigateToNextCellParams<TData>) => (CellPosition | null)\",\n      \"tabToNextCell?\": \"(params: TabToNextCellParams<TData>) => (CellPosition | null)\",\n      \"localeTextFunc?\": \"(key: string, defaultValue: string, variableValues?: string[]) => string\",\n      \"getLocaleText?\": \"(params: GetLocaleTextParams<TData>) => string\",\n      \"getDocument?\": \"() => Document\",\n      \"paginationNumberFormatter?\": \"(params: PaginationNumberFormatterParams<TData>) => string\",\n      \"groupRowAggNodes?\": \"(nodes: IRowNode[]) => any\",\n      \"getGroupRowAgg?\": \"(params: GetGroupRowAggParams<TData>) => any\",\n      \"isGroupOpenByDefault?\": \"(params: IsGroupOpenByDefaultParams<TData>) => boolean\",\n      \"initialGroupOrderComparator?\": \"(params: InitialGroupOrderComparatorParams<TData>) => number\",\n      \"defaultGroupOrderComparator?\": \"(nodeA: IRowNode<TData>, nodeB: IRowNode<TData>) => number\",\n      \"processSecondaryColDef?\": \"(colDef: ColDef<TData>) => void\",\n      \"processSecondaryColGroupDef?\": \"(colGroupDef: ColGroupDef<TData>) => void\",\n      \"processPivotResultColDef?\": \"(colDef: ColDef<TData>) => void\",\n      \"processPivotResultColGroupDef?\": \"(colGroupDef: ColGroupDef<TData>) => void\",\n      \"getDataPath?\": \"GetDataPath<TData>\",\n      \"getChildCount?\": \"(dataItem: any) => number\",\n      \"getServerSideGroupLevelParams?\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\",\n      \"getServerSideStoreParams?\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\",\n      \"isServerSideGroupOpenByDefault?\": \"(params: IsServerSideGroupOpenByDefaultParams) => boolean\",\n      \"isApplyServerSideTransaction?\": \"IsApplyServerSideTransaction\",\n      \"isServerSideGroup?\": \"IsServerSideGroup\",\n      \"getServerSideGroupKey?\": \"GetServerSideGroupKey\",\n      \"getBusinessKeyForNode?\": \"(node: IRowNode<TData>) => string\",\n      \"getRowNodeId?\": \"GetRowNodeIdFunc<TData>\",\n      \"getRowId?\": \"GetRowIdFunc<TData>\",\n      \"resetRowDataOnUpdate?\": \"boolean\",\n      \"processRowPostCreate?\": \"(params: ProcessRowParams<TData>) => void\",\n      \"isRowSelectable?\": \"IsRowSelectable<TData>\",\n      \"isRowMaster?\": \"IsRowMaster<TData>\",\n      \"fillOperation?\": \"(params: FillOperationParams<TData>) => any\",\n      \"postSort?\": \"(nodes: IRowNode<TData>[]) => void\",\n      \"postSortRows?\": \"(params: PostSortRowsParams<TData>) => void\",\n      \"getRowStyle?\": \"(params: RowClassParams<TData>) => RowStyle | undefined\",\n      \"getRowClass?\": \"(params: RowClassParams<TData>) => string | string[] | undefined\",\n      \"getRowHeight?\": \"(params: RowHeightParams<TData>) => number | undefined | null\",\n      \"isFullWidthCell?\": \"(rowNode: IRowNode<TData>) => boolean\",\n      \"isFullWidthRow?\": \"(params: IsFullWidthRowParams<TData>) => boolean\",\n      \"onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent<TData>)\": \"void\",\n      \"onToolPanelSizeChanged?(event: ToolPanelSizeChangedEvent<TData>)\": \"void\",\n      \"onPasteStart?(event: PasteStartEvent<TData>)\": \"void\",\n      \"onPasteEnd?(event: PasteEndEvent<TData>)\": \"void\",\n      \"onColumnVisible?(event: ColumnVisibleEvent<TData>)\": \"void\",\n      \"onColumnPinned?(event: ColumnPinnedEvent<TData>)\": \"void\",\n      \"onColumnResized?(event: ColumnResizedEvent<TData>)\": \"void\",\n      \"onColumnMoved?(event: ColumnMovedEvent<TData>)\": \"void\",\n      \"onColumnValueChanged?(event: ColumnValueChangedEvent<TData>)\": \"void\",\n      \"onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent<TData>)\": \"void\",\n      \"onColumnPivotChanged?(event: ColumnPivotChangedEvent<TData>)\": \"void\",\n      \"onColumnGroupOpened?(event: ColumnGroupOpenedEvent<TData>)\": \"void\",\n      \"onNewColumnsLoaded?(event: NewColumnsLoadedEvent<TData>)\": \"void\",\n      \"onGridColumnsChanged?(event: GridColumnsChangedEvent<TData>)\": \"void\",\n      \"onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent<TData>)\": \"void\",\n      \"onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent<TData>)\": \"void\",\n      \"onColumnEverythingChanged?(event: ColumnEverythingChangedEvent<TData>)\": \"void\",\n      \"onComponentStateChanged?(event: ComponentStateChangedEvent<TData>)\": \"void\",\n      \"onCellValueChanged?(event: CellValueChangedEvent<TData>)\": \"void\",\n      \"onCellEditRequest?(event: CellEditRequestEvent<TData>)\": \"void\",\n      \"onRowValueChanged?(event: RowValueChangedEvent<TData>)\": \"void\",\n      \"onCellEditingStarted?(event: CellEditingStartedEvent<TData>)\": \"void\",\n      \"onCellEditingStopped?(event: CellEditingStoppedEvent<TData>)\": \"void\",\n      \"onRowEditingStarted?(event: RowEditingStartedEvent<TData>)\": \"void\",\n      \"onRowEditingStopped?(event: RowEditingStoppedEvent<TData>)\": \"void\",\n      \"onUndoStarted?(event: UndoStartedEvent<TData>)\": \"void\",\n      \"onUndoEnded?(event: UndoEndedEvent<TData>)\": \"void\",\n      \"onRedoStarted?(event: RedoStartedEvent<TData>)\": \"void\",\n      \"onRedoEnded?(event: RedoEndedEvent<TData>)\": \"void\",\n      \"onFilterOpened?(event: FilterOpenedEvent<TData>)\": \"void\",\n      \"onFilterChanged?(event: FilterChangedEvent<TData>)\": \"void\",\n      \"onFilterModified?(event: FilterModifiedEvent<TData>)\": \"void\",\n      \"onChartCreated?(event: ChartCreated<TData>)\": \"void\",\n      \"onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged<TData>)\": \"void\",\n      \"onChartOptionsChanged?(event: ChartOptionsChanged<TData>)\": \"void\",\n      \"onChartDestroyed?(event: ChartDestroyed<TData>)\": \"void\",\n      \"onCellKeyDown?(event: CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>)\": \"void\",\n      \"onCellKeyPress?(event: CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>)\": \"void\",\n      \"onGridReady?(event: GridReadyEvent<TData>)\": \"void\",\n      \"onFirstDataRendered?(event: FirstDataRenderedEvent<TData>)\": \"void\",\n      \"onGridSizeChanged?(event: GridSizeChangedEvent<TData>)\": \"void\",\n      \"onModelUpdated?(event: ModelUpdatedEvent<TData>)\": \"void\",\n      \"onVirtualRowRemoved?(event: VirtualRowRemovedEvent<TData>)\": \"void\",\n      \"onViewportChanged?(event: ViewportChangedEvent<TData>)\": \"void\",\n      \"onBodyScroll?(event: BodyScrollEvent<TData>)\": \"void\",\n      \"onBodyScrollEnd?(event: BodyScrollEndEvent<TData>)\": \"void\",\n      \"onDragStarted?(event: DragStartedEvent<TData>)\": \"void\",\n      \"onDragStopped?(event: DragStoppedEvent<TData>)\": \"void\",\n      \"onPaginationChanged?(event: PaginationChangedEvent<TData>)\": \"void\",\n      \"onRowDragEnter?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragMove?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragLeave?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragEnd?(event: RowDragEvent<TData>)\": \"void\",\n      \"onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent<TData>)\": \"void\",\n      \"onRowGroupOpened?(event: RowGroupOpenedEvent<TData>)\": \"void\",\n      \"onExpandOrCollapseAll?(event: ExpandCollapseAllEvent<TData>)\": \"void\",\n      \"onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent<TData>)\": \"void\",\n      \"onRowDataChanged?(event: RowDataChangedEvent<TData>)\": \"void\",\n      \"onRowDataUpdated?(event: RowDataUpdatedEvent<TData>)\": \"void\",\n      \"onAsyncTransactionsFlushed?(event: AsyncTransactionsFlushed<TData>)\": \"void\",\n      \"onStoreRefreshed?(event: StoreRefreshedEvent<TData>)\": \"void\",\n      \"onCellClicked?(event: CellClickedEvent<TData>)\": \"void\",\n      \"onCellDoubleClicked?(event: CellDoubleClickedEvent<TData>)\": \"void\",\n      \"onCellFocused?(event: CellFocusedEvent<TData>)\": \"void\",\n      \"onCellMouseOver?(event: CellMouseOverEvent<TData>)\": \"void\",\n      \"onCellMouseOut?(event: CellMouseOutEvent<TData>)\": \"void\",\n      \"onCellMouseDown?(event: CellMouseDownEvent<TData>)\": \"void\",\n      \"onRowClicked?(event: RowClickedEvent<TData>)\": \"void\",\n      \"onRowDoubleClicked?(event: RowDoubleClickedEvent<TData>)\": \"void\",\n      \"onRowSelected?(event: RowSelectedEvent<TData>)\": \"void\",\n      \"onSelectionChanged?(event: SelectionChangedEvent<TData>)\": \"void\",\n      \"onCellContextMenu?(event: CellContextMenuEvent<TData>)\": \"void\",\n      \"onRangeSelectionChanged?(event: RangeSelectionChangedEvent<TData>)\": \"void\",\n      \"onSortChanged?(event: SortChangedEvent<TData>)\": \"void\",\n      \"onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent<TData>)\": \"void\",\n      \"api?\": \"GridApi<TData> | null\",\n      \"columnApi?\": \"ColumnApi | null\"\n    },\n    \"docs\": {\n      \"rowDataChangeDetectionStrategy?\": \"/** @deprecated v29 ChangeDetectionStrategyType has been deprecated. IdentityCheck will always be used now for a more consistent approach. */\",\n      \"statusBar?\": \"/** Specifies the status bar components to use in the status bar. */\",\n      \"sideBar?\": \"/** Specifies the side bar components. */\",\n      \"suppressContextMenu?\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n      \"preventDefaultOnContextMenu?\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n      \"allowContextMenuWithControlKey?\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n      \"suppressMenuHide?\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n      \"enableBrowserTooltips?\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n      \"tooltipShowDelay?\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n      \"tooltipHideDelay?\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n      \"tooltipMouseTrack?\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n      \"popupParent?\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n      \"copyHeadersToClipboard?\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"copyGroupHeadersToClipboard?\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"clipboardDeliminator?\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n      \"clipboardDelimiter?\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n      \"suppressCopyRowsToClipboard?\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n      \"suppressCopySingleCellRanges?\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n      \"suppressLastEmptyLineOnPaste?\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n      \"suppressClipboardPaste?\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n      \"suppressClipboardApi?\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n      \"suppressCutToClipboard?\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n      \"columnDefs?\": \"/** Array of Column / Column Group definitions. */\",\n      \"defaultColDef?\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n      \"defaultColGroupDef?\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n      \"columnTypes?\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n      \"maintainColumnOrder?\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n      \"suppressFieldDotNotation?\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n      \"headerHeight?\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n      \"groupHeaderHeight?\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n      \"floatingFiltersHeight?\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n      \"pivotHeaderHeight?\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n      \"pivotGroupHeaderHeight?\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n      \"allowDragFromColumnsToolPanel?\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n      \"suppressMovableColumns?\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n      \"suppressColumnMoveAnimation?\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n      \"suppressDragLeaveHidesColumns?\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n      \"suppressRowGroupHidesColumns?\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n      \"colResizeDefault?\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n      \"suppressAutoSize?\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n      \"autoSizePadding?\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n      \"skipHeaderOnAutoSize?\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n      \"components?\": \"/** A map of component names to components. */\",\n      \"frameworkComponents?\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n      \"reactUi?\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n      \"suppressReactUi?\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n      \"editType?\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n      \"singleClickEdit?\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n      \"suppressClickEdit?\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n      \"readOnlyEdit?\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n      \"stopEditingWhenCellsLoseFocus?\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n      \"enterMovesDown?\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"enterMovesDownAfterEdit?\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"enableCellEditingOnBackspace?\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n      \"undoRedoCellEditing?\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n      \"undoRedoCellEditingLimit?\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n      \"defaultCsvExportParams?\": \"/** A default configuration object used to export to CSV. */\",\n      \"suppressCsvExport?\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n      \"defaultExcelExportParams?\": \"/** A default configuration object used to export to Excel. */\",\n      \"suppressExcelExport?\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n      \"excelStyles?\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n      \"quickFilterText?\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n      \"cacheQuickFilter?\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n      \"excludeHiddenColumnsFromQuickFilter?\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n      \"excludeChildrenWhenTreeDataFiltering?\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n      \"enableCharts?\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n      \"chartThemes?\": \"/** The list of chart themes to be used. */\",\n      \"customChartThemes?\": \"/** A map containing custom chart themes. */\",\n      \"chartThemeOverrides?\": \"/** Chart theme overrides applied to all themes. */\",\n      \"enableChartToolPanelsButton?\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n      \"suppressChartToolPanelsButton?\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n      \"chartToolPanelsDef?\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n      \"loadingCellRenderer?\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"loadingCellRendererFramework?\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n      \"loadingCellRendererParams?\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n      \"loadingCellRendererSelector?\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n      \"localeText?\": \"/** A map of key->value pairs for localising text within the grid. */\",\n      \"masterDetail?\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n      \"keepDetailRows?\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n      \"keepDetailRowsCount?\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n      \"detailCellRenderer?\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n      \"detailCellRendererFramework?\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n      \"detailCellRendererParams?\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n      \"detailRowHeight?\": \"/** Set fixed height in pixels for each detail row. */\",\n      \"detailRowAutoHeight?\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n      \"context?\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n      \"alignedGrids?\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n      \"tabIndex?\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n      \"rowBuffer?\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n      \"valueCache?\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n      \"valueCacheNeverExpires?\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n      \"enableCellExpressions?\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n      \"suppressParentsInRowNodes?\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n      \"suppressTouch?\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n      \"suppressFocusAfterRefresh?\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n      \"suppressAsyncEvents?\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n      \"suppressBrowserResizeObserver?\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n      \"suppressPropertyNamesCheck?\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n      \"suppressChangeDetection?\": \"/** Disables change detection. Default: `false` */\",\n      \"debug?\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n      \"overlayLoadingTemplate?\": \"/** Provide a template for 'loading' overlay. */\",\n      \"loadingOverlayComponent?\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n      \"loadingOverlayComponentFramework?\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n      \"loadingOverlayComponentParams?\": \"/** Customise the parameters provided to the loading overlay component. */\",\n      \"suppressLoadingOverlay?\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n      \"overlayNoRowsTemplate?\": \"/** Provide a template for 'no rows' overlay. */\",\n      \"noRowsOverlayComponent?\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n      \"noRowsOverlayComponentFramework?\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n      \"noRowsOverlayComponentParams?\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n      \"suppressNoRowsOverlay?\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n      \"pagination?\": \"/** Set whether pagination is enabled. Default: `false` */\",\n      \"paginationPageSize?\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n      \"paginationAutoPageSize?\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n      \"paginateChildRows?\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n      \"suppressPaginationPanel?\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n      \"pivotMode?\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n      \"pivotPanelShow?\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n      \"pivotColumnGroupTotals?\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n      \"pivotRowTotals?\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n      \"pivotSuppressAutoColumn?\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n      \"suppressExpandablePivotGroups?\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n      \"functionsReadOnly?\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n      \"aggFuncs?\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n      \"suppressAggFuncInHeader?\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n      \"suppressAggAtRootLevel?\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n      \"aggregateOnlyChangedColumns?\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n      \"suppressAggFilteredOnly?\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n      \"removePivotHeaderRowWhenSingleValueColumn?\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n      \"animateRows?\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n      \"enableCellChangeFlash?\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n      \"cellFlashDelay?\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n      \"cellFadeDelay?\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n      \"allowShowChangeAfterFilter?\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n      \"domLayout?\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n      \"ensureDomOrder?\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n      \"enableRtl?\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n      \"suppressColumnVirtualisation?\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"suppressMaxRenderedRowRestriction?\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n      \"suppressRowVirtualisation?\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"rowDragManaged?\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n      \"suppressRowDrag?\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n      \"suppressMoveWhenRowDragging?\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n      \"rowDragEntireRow?\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n      \"rowDragMultiRow?\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n      \"rowDragText?\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n      \"fullWidthCellRenderer?\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n      \"fullWidthCellRendererFramework?\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n      \"fullWidthCellRendererParams?\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n      \"embedFullWidthRows?\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n      \"groupDisplayType?\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n      \"groupDefaultExpanded?\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n      \"autoGroupColumnDef?\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n      \"groupMaintainOrder?\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n      \"groupSelectsChildren?\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n      \"groupAggFiltering?\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n      \"groupIncludeFooter?\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n      \"groupIncludeTotalFooter?\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n      \"groupSuppressBlankHeader?\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n      \"groupSelectsFiltered?\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n      \"showOpenedGroup?\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n      \"groupRemoveSingleChildren?\": \"/** Set to `true` to collapse groups that only have one child. */\",\n      \"groupRemoveLowestSingleChildren?\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n      \"groupHideOpenParents?\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n      \"groupAllowUnbalanced?\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n      \"rowGroupPanelShow?\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n      \"groupRowRenderer?\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n      \"groupRowRendererFramework?\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n      \"groupRowRendererParams?\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n      \"suppressMakeColumnVisibleAfterUnGroup?\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n      \"treeData?\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n      \"rowGroupPanelSuppressSort?\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n      \"groupRowsSticky?\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n      \"rememberGroupStateWhenNewData?\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n      \"pinnedTopRowData?\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n      \"pinnedBottomRowData?\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n      \"rowModelType?\": \"/** Sets the row model type. Default: `clientSide` */\",\n      \"rowData?\": \"/** Set the data to be displayed as rows in the grid. */\",\n      \"immutableData?\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n      \"asyncTransactionWaitMillis?\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n      \"suppressModelUpdateAfterUpdateTransaction?\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n      \"datasource?\": \"/** Provide the datasource for infinite scrolling. */\",\n      \"cacheOverflowSize?\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"infiniteInitialRowCount?\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"serverSideInitialRowCount?\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n      \"serverSideStoreType?\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n      \"suppressServerSideInfiniteScroll?\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n      \"cacheBlockSize?\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n      \"maxBlocksInCache?\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n      \"maxConcurrentDatasourceRequests?\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n      \"blockLoadDebounceMillis?\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n      \"purgeClosedRowNodes?\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n      \"serverSideDatasource?\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n      \"serverSideSortAllLevels?\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n      \"serverSideFilterAllLevels?\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n      \"serverSideSortOnServer?\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"serverSideFilterOnServer?\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"serverSideSortingAlwaysResets?\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n      \"serverSideFilteringAlwaysResets?\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n      \"viewportDatasource?\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n      \"viewportRowModelPageSize?\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n      \"viewportRowModelBufferSize?\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n      \"alwaysShowHorizontalScroll?\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n      \"alwaysShowVerticalScroll?\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n      \"debounceVerticalScrollbar?\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n      \"suppressHorizontalScroll?\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n      \"suppressScrollOnNewData?\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n      \"suppressScrollWhenPopupsAreOpen?\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n      \"suppressAnimationFrame?\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n      \"suppressMiddleClickScrolls?\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n      \"suppressPreventDefaultOnMouseWheel?\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n      \"scrollbarWidth?\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n      \"rowSelection?\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n      \"rowMultiSelectWithClick?\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n      \"suppressRowDeselection?\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n      \"suppressRowClickSelection?\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n      \"suppressCellSelection?\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n      \"suppressCellFocus?\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n      \"suppressMultiRangeSelection?\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n      \"enableCellTextSelection?\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n      \"enableRangeSelection?\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n      \"enableRangeHandle?\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n      \"enableFillHandle?\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n      \"fillHandleDirection?\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n      \"suppressClearOnFillReduction?\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n      \"sortingOrder?\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n      \"accentedSort?\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n      \"unSortIcon?\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n      \"suppressMultiSort?\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n      \"alwaysMultiSort?\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n      \"multiSortKey?\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n      \"suppressMaintainUnsortedOrder?\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n      \"icons?\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n      \"rowHeight?\": \"/** Default row height in pixels. Default: `25` */\",\n      \"rowStyle?\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n      \"rowClass?\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n      \"rowClassRules?\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"suppressRowHoverHighlight?\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n      \"suppressRowTransform?\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n      \"columnHoverHighlight?\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n      \"functionsPassive?\": \"/** @deprecated v29.2 */\",\n      \"getContextMenuItems?\": \"/** For customising the context menu. */\",\n      \"getMainMenuItems?\": \"/** For customising the main 'column header' menu. */\",\n      \"postProcessPopup?\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n      \"processCellForClipboard?\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n      \"processHeaderForClipboard?\": \"/** Allows you to process header values for the clipboard.  */\",\n      \"processGroupHeaderForClipboard?\": \"/** Allows you to process group header values for the clipboard.  */\",\n      \"processCellFromClipboard?\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n      \"sendToClipboard?\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n      \"processDataFromClipboard?\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n      \"isExternalFilterPresent?\": \"/** Grid calls this method to know if an external filter is present. */\",\n      \"doesExternalFilterPass?\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n      \"getChartToolbarItems?\": \"/** Callback to be used to customise the chart toolbar items. */\",\n      \"createChartContainer?\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n      \"navigateToNextHeader?\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n      \"tabToNextHeader?\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n      \"navigateToNextCell?\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n      \"tabToNextCell?\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n      \"localeTextFunc?\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n      \"getLocaleText?\": \"/** A callback for localising text within the grid. */\",\n      \"getDocument?\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n      \"paginationNumberFormatter?\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n      \"groupRowAggNodes?\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n      \"getGroupRowAgg?\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n      \"isGroupOpenByDefault?\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n      \"initialGroupOrderComparator?\": \"/** Allows default sorting of groups. */\",\n      \"defaultGroupOrderComparator?\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n      \"processSecondaryColDef?\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n      \"processSecondaryColGroupDef?\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n      \"processPivotResultColDef?\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n      \"processPivotResultColGroupDef?\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n      \"getDataPath?\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n      \"getChildCount?\": \"/** Allows setting the child count for a group row. */\",\n      \"getServerSideGroupLevelParams?\": \"/** Allows providing different params for different levels of grouping. */\",\n      \"getServerSideStoreParams?\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n      \"isServerSideGroupOpenByDefault?\": \"/** Allows groups to be open by default. */\",\n      \"isApplyServerSideTransaction?\": \"/** Allows cancelling transactions. */\",\n      \"isServerSideGroup?\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n      \"getServerSideGroupKey?\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n      \"getBusinessKeyForNode?\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n      \"getRowNodeId?\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n      \"getRowId?\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n      \"resetRowDataOnUpdate?\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n      \"processRowPostCreate?\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n      \"isRowSelectable?\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n      \"isRowMaster?\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n      \"fillOperation?\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n      \"postSort?\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n      \"postSortRows?\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n      \"getRowStyle?\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n      \"getRowClass?\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n      \"getRowHeight?\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n      \"isFullWidthCell?\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n      \"isFullWidthRow?\": \"/** Tells the grid if this row should be rendered as full width. */\",\n      \"onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent<TData>)\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"onToolPanelSizeChanged?(event: ToolPanelSizeChangedEvent<TData>)\": \"/** The tool panel size has been changed. */\",\n      \"onPasteStart?(event: PasteStartEvent<TData>)\": \"/** Paste operation has started. */\",\n      \"onPasteEnd?(event: PasteEndEvent<TData>)\": \"/** Paste operation has ended. */\",\n      \"onColumnVisible?(event: ColumnVisibleEvent<TData>)\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"onColumnPinned?(event: ColumnPinnedEvent<TData>)\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"onColumnResized?(event: ColumnResizedEvent<TData>)\": \"/** A column was resized. */\",\n      \"onColumnMoved?(event: ColumnMovedEvent<TData>)\": \"/** A column was moved. */\",\n      \"onColumnValueChanged?(event: ColumnValueChangedEvent<TData>)\": \"/** A value column was added or removed. */\",\n      \"onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent<TData>)\": \"/** The pivot mode flag was changed. */\",\n      \"onColumnPivotChanged?(event: ColumnPivotChangedEvent<TData>)\": \"/** A pivot column was added, removed or order changed. */\",\n      \"onColumnGroupOpened?(event: ColumnGroupOpenedEvent<TData>)\": \"/** A column group was opened / closed. */\",\n      \"onNewColumnsLoaded?(event: NewColumnsLoadedEvent<TData>)\": \"/** User set new columns. */\",\n      \"onGridColumnsChanged?(event: GridColumnsChangedEvent<TData>)\": \"/** The list of grid columns changed. */\",\n      \"onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent<TData>)\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent<TData>)\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"onColumnEverythingChanged?(event: ColumnEverythingChangedEvent<TData>)\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"onComponentStateChanged?(event: ComponentStateChangedEvent<TData>)\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"onCellValueChanged?(event: CellValueChangedEvent<TData>)\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"onCellEditRequest?(event: CellEditRequestEvent<TData>)\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"onRowValueChanged?(event: RowValueChangedEvent<TData>)\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"onCellEditingStarted?(event: CellEditingStartedEvent<TData>)\": \"/** Editing a cell has started. */\",\n      \"onCellEditingStopped?(event: CellEditingStoppedEvent<TData>)\": \"/** Editing a cell has stopped. */\",\n      \"onRowEditingStarted?(event: RowEditingStartedEvent<TData>)\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"onRowEditingStopped?(event: RowEditingStoppedEvent<TData>)\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"onUndoStarted?(event: UndoStartedEvent<TData>)\": \"/** Undo operation has started. */\",\n      \"onUndoEnded?(event: UndoEndedEvent<TData>)\": \"/** Undo operation has ended. */\",\n      \"onRedoStarted?(event: RedoStartedEvent<TData>)\": \"/** Redo operation has started. */\",\n      \"onRedoEnded?(event: RedoEndedEvent<TData>)\": \"/** Redo operation has ended. */\",\n      \"onFilterOpened?(event: FilterOpenedEvent<TData>)\": \"/** Filter has been opened. */\",\n      \"onFilterChanged?(event: FilterChangedEvent<TData>)\": \"/** Filter has been modified and applied. */\",\n      \"onFilterModified?(event: FilterModifiedEvent<TData>)\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"onChartCreated?(event: ChartCreated<TData>)\": \"/** A chart has been created. */\",\n      \"onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged<TData>)\": \"/** The data range for the chart has been changed. */\",\n      \"onChartOptionsChanged?(event: ChartOptionsChanged<TData>)\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"onChartDestroyed?(event: ChartDestroyed<TData>)\": \"/** A chart has been destroyed. */\",\n      \"onCellKeyDown?(event: CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>)\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"onCellKeyPress?(event: CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>)\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"onGridReady?(event: GridReadyEvent<TData>)\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"onFirstDataRendered?(event: FirstDataRenderedEvent<TData>)\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"onGridSizeChanged?(event: GridSizeChangedEvent<TData>)\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"onModelUpdated?(event: ModelUpdatedEvent<TData>)\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"onVirtualRowRemoved?(event: VirtualRowRemovedEvent<TData>)\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"onViewportChanged?(event: ViewportChangedEvent<TData>)\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"onBodyScroll?(event: BodyScrollEvent<TData>)\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"onBodyScrollEnd?(event: BodyScrollEndEvent<TData>)\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"onDragStarted?(event: DragStartedEvent<TData>)\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"onDragStopped?(event: DragStoppedEvent<TData>)\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"onPaginationChanged?(event: PaginationChangedEvent<TData>)\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"onRowDragEnter?(event: RowDragEvent<TData>)\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"onRowDragMove?(event: RowDragEvent<TData>)\": \"/** The mouse has moved while dragging. */\",\n      \"onRowDragLeave?(event: RowDragEvent<TData>)\": \"/** The mouse has left the grid while dragging. */\",\n      \"onRowDragEnd?(event: RowDragEvent<TData>)\": \"/** The drag has finished over the grid. */\",\n      \"onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent<TData>)\": \"/** A row group column was added or removed. */\",\n      \"onRowGroupOpened?(event: RowGroupOpenedEvent<TData>)\": \"/** A row group was opened or closed. */\",\n      \"onExpandOrCollapseAll?(event: ExpandCollapseAllEvent<TData>)\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent<TData>)\": \"/** The client has set new pinned row data into the grid. */\",\n      \"onRowDataChanged?(event: RowDataChangedEvent<TData>)\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"onRowDataUpdated?(event: RowDataUpdatedEvent<TData>)\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"onAsyncTransactionsFlushed?(event: AsyncTransactionsFlushed<TData>)\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"onStoreRefreshed?(event: StoreRefreshedEvent<TData>)\": \"/** A server side store has finished refreshing. */\",\n      \"onCellClicked?(event: CellClickedEvent<TData>)\": \"/** Cell is clicked. */\",\n      \"onCellDoubleClicked?(event: CellDoubleClickedEvent<TData>)\": \"/** Cell is double clicked. */\",\n      \"onCellFocused?(event: CellFocusedEvent<TData>)\": \"/** Cell is focused. */\",\n      \"onCellMouseOver?(event: CellMouseOverEvent<TData>)\": \"/** Mouse entered cell. */\",\n      \"onCellMouseOut?(event: CellMouseOutEvent<TData>)\": \"/** Mouse left cell. */\",\n      \"onCellMouseDown?(event: CellMouseDownEvent<TData>)\": \"/** Mouse down on cell. */\",\n      \"onRowClicked?(event: RowClickedEvent<TData>)\": \"/** Row is clicked. */\",\n      \"onRowDoubleClicked?(event: RowDoubleClickedEvent<TData>)\": \"/** Row is double clicked. */\",\n      \"onRowSelected?(event: RowSelectedEvent<TData>)\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"onSelectionChanged?(event: SelectionChangedEvent<TData>)\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"onCellContextMenu?(event: CellContextMenuEvent<TData>)\": \"/** Cell is right clicked. */\",\n      \"onRangeSelectionChanged?(event: RangeSelectionChangedEvent<TData>)\": \"/** A change to range selection has occurred. */\",\n      \"onSortChanged?(event: SortChangedEvent<TData>)\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"api?\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"columnApi?\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\"\n    }\n  },\n  \"AgGridReactProps\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"disableStaticMarkup?\": \"boolean\",\n      \"legacyComponentRendering?\": \"boolean\",\n      \"gridOptions?\": \"GridOptions<TData>\",\n      \"modules?\": \"Module[]\",\n      \"containerStyle?\": \"any\",\n      \"className?\": \"string\",\n      \"setGridApi?\": \"(gridApi: GridApi<TData>, columnApi: ColumnApi) => void\",\n      \"componentWrappingElement?\": \"string\",\n      \"maxComponentCreationTimeMs?\": \"number\",\n      \"rowDataChangeDetectionStrategy?\": \"ChangeDetectionStrategyType\",\n      \"children?\": \"any\",\n      \"statusBar?\": \"{ statusPanels: StatusPanelDef[]; }\",\n      \"sideBar?\": \"SideBarDef | string | string[] | boolean | null\",\n      \"suppressContextMenu?\": \"boolean\",\n      \"preventDefaultOnContextMenu?\": \"boolean\",\n      \"allowContextMenuWithControlKey?\": \"boolean\",\n      \"suppressMenuHide?\": \"boolean\",\n      \"enableBrowserTooltips?\": \"boolean\",\n      \"tooltipShowDelay?\": \"number\",\n      \"tooltipHideDelay?\": \"number\",\n      \"tooltipMouseTrack?\": \"boolean\",\n      \"popupParent?\": \"HTMLElement | null\",\n      \"copyHeadersToClipboard?\": \"boolean\",\n      \"copyGroupHeadersToClipboard?\": \"boolean\",\n      \"clipboardDeliminator?\": \"string\",\n      \"clipboardDelimiter?\": \"string\",\n      \"suppressCopyRowsToClipboard?\": \"boolean\",\n      \"suppressCopySingleCellRanges?\": \"boolean\",\n      \"suppressLastEmptyLineOnPaste?\": \"boolean\",\n      \"suppressClipboardPaste?\": \"boolean\",\n      \"suppressClipboardApi?\": \"boolean\",\n      \"suppressCutToClipboard?\": \"boolean\",\n      \"columnDefs?\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\",\n      \"defaultColDef?\": \"ColDef<TData>\",\n      \"defaultColGroupDef?\": \"Partial<ColGroupDef<TData>>\",\n      \"columnTypes?\": \"{ [key: string]: ColDef<TData>; }\",\n      \"maintainColumnOrder?\": \"boolean\",\n      \"suppressFieldDotNotation?\": \"boolean\",\n      \"headerHeight?\": \"number\",\n      \"groupHeaderHeight?\": \"number\",\n      \"floatingFiltersHeight?\": \"number\",\n      \"pivotHeaderHeight?\": \"number\",\n      \"pivotGroupHeaderHeight?\": \"number\",\n      \"allowDragFromColumnsToolPanel?\": \"boolean\",\n      \"suppressMovableColumns?\": \"boolean\",\n      \"suppressColumnMoveAnimation?\": \"boolean\",\n      \"suppressDragLeaveHidesColumns?\": \"boolean\",\n      \"suppressRowGroupHidesColumns?\": \"boolean\",\n      \"colResizeDefault?\": \"'shift'\",\n      \"suppressAutoSize?\": \"boolean\",\n      \"autoSizePadding?\": \"number\",\n      \"skipHeaderOnAutoSize?\": \"boolean\",\n      \"components?\": \"{ [p: string]: any; }\",\n      \"frameworkComponents?\": \"{ [p: string]: { new (): any; }; } | any\",\n      \"reactUi?\": \"boolean\",\n      \"suppressReactUi?\": \"boolean\",\n      \"editType?\": \"'fullRow'\",\n      \"singleClickEdit?\": \"boolean\",\n      \"suppressClickEdit?\": \"boolean\",\n      \"readOnlyEdit?\": \"boolean\",\n      \"stopEditingWhenCellsLoseFocus?\": \"boolean\",\n      \"enterMovesDown?\": \"boolean\",\n      \"enterMovesDownAfterEdit?\": \"boolean\",\n      \"enableCellEditingOnBackspace?\": \"boolean\",\n      \"undoRedoCellEditing?\": \"boolean\",\n      \"undoRedoCellEditingLimit?\": \"number\",\n      \"defaultCsvExportParams?\": \"CsvExportParams\",\n      \"suppressCsvExport?\": \"boolean\",\n      \"defaultExcelExportParams?\": \"ExcelExportParams\",\n      \"suppressExcelExport?\": \"boolean\",\n      \"excelStyles?\": \"ExcelStyle[]\",\n      \"quickFilterText?\": \"string\",\n      \"cacheQuickFilter?\": \"boolean\",\n      \"excludeHiddenColumnsFromQuickFilter?\": \"boolean\",\n      \"excludeChildrenWhenTreeDataFiltering?\": \"boolean\",\n      \"enableCharts?\": \"boolean\",\n      \"chartThemes?\": \"string[]\",\n      \"customChartThemes?\": \"{ [name: string]: AgChartTheme; }\",\n      \"chartThemeOverrides?\": \"AgChartThemeOverrides\",\n      \"enableChartToolPanelsButton?\": \"boolean\",\n      \"suppressChartToolPanelsButton?\": \"boolean\",\n      \"chartToolPanelsDef?\": \"ChartToolPanelsDef\",\n      \"loadingCellRenderer?\": \"any\",\n      \"loadingCellRendererFramework?\": \"any\",\n      \"loadingCellRendererParams?\": \"any\",\n      \"loadingCellRendererSelector?\": \"LoadingCellRendererSelectorFunc<TData>\",\n      \"localeText?\": \"{ [key: string]: string; }\",\n      \"masterDetail?\": \"boolean\",\n      \"keepDetailRows?\": \"boolean\",\n      \"keepDetailRowsCount?\": \"number\",\n      \"detailCellRenderer?\": \"any\",\n      \"detailCellRendererFramework?\": \"any\",\n      \"detailCellRendererParams?\": \"any\",\n      \"detailRowHeight?\": \"number\",\n      \"detailRowAutoHeight?\": \"boolean\",\n      \"context?\": \"any\",\n      \"alignedGrids?\": \"{ api?: GridApi | null; columnApi?: ColumnApi | null; }[]\",\n      \"tabIndex?\": \"number\",\n      \"rowBuffer?\": \"number\",\n      \"valueCache?\": \"boolean\",\n      \"valueCacheNeverExpires?\": \"boolean\",\n      \"enableCellExpressions?\": \"boolean\",\n      \"suppressParentsInRowNodes?\": \"boolean\",\n      \"suppressTouch?\": \"boolean\",\n      \"suppressFocusAfterRefresh?\": \"boolean\",\n      \"suppressAsyncEvents?\": \"boolean\",\n      \"suppressBrowserResizeObserver?\": \"boolean\",\n      \"suppressPropertyNamesCheck?\": \"boolean\",\n      \"suppressChangeDetection?\": \"boolean\",\n      \"debug?\": \"boolean\",\n      \"overlayLoadingTemplate?\": \"string\",\n      \"loadingOverlayComponent?\": \"any\",\n      \"loadingOverlayComponentFramework?\": \"any\",\n      \"loadingOverlayComponentParams?\": \"any\",\n      \"suppressLoadingOverlay?\": \"boolean\",\n      \"overlayNoRowsTemplate?\": \"string\",\n      \"noRowsOverlayComponent?\": \"any\",\n      \"noRowsOverlayComponentFramework?\": \"any\",\n      \"noRowsOverlayComponentParams?\": \"any\",\n      \"suppressNoRowsOverlay?\": \"boolean\",\n      \"pagination?\": \"boolean\",\n      \"paginationPageSize?\": \"number\",\n      \"paginationAutoPageSize?\": \"boolean\",\n      \"paginateChildRows?\": \"boolean\",\n      \"suppressPaginationPanel?\": \"boolean\",\n      \"pivotMode?\": \"boolean\",\n      \"pivotPanelShow?\": \"'always' | 'onlyWhenPivoting' | 'never'\",\n      \"pivotColumnGroupTotals?\": \"'before' | 'after'\",\n      \"pivotRowTotals?\": \"'before' | 'after'\",\n      \"pivotSuppressAutoColumn?\": \"boolean\",\n      \"suppressExpandablePivotGroups?\": \"boolean\",\n      \"functionsReadOnly?\": \"boolean\",\n      \"aggFuncs?\": \"{ [key: string]: IAggFunc<TData>; }\",\n      \"suppressAggFuncInHeader?\": \"boolean\",\n      \"suppressAggAtRootLevel?\": \"boolean\",\n      \"aggregateOnlyChangedColumns?\": \"boolean\",\n      \"suppressAggFilteredOnly?\": \"boolean\",\n      \"removePivotHeaderRowWhenSingleValueColumn?\": \"boolean\",\n      \"animateRows?\": \"boolean\",\n      \"enableCellChangeFlash?\": \"boolean\",\n      \"cellFlashDelay?\": \"number\",\n      \"cellFadeDelay?\": \"number\",\n      \"allowShowChangeAfterFilter?\": \"boolean\",\n      \"domLayout?\": \"DomLayoutType\",\n      \"ensureDomOrder?\": \"boolean\",\n      \"enableRtl?\": \"boolean\",\n      \"suppressColumnVirtualisation?\": \"boolean\",\n      \"suppressMaxRenderedRowRestriction?\": \"boolean\",\n      \"suppressRowVirtualisation?\": \"boolean\",\n      \"rowDragManaged?\": \"boolean\",\n      \"suppressRowDrag?\": \"boolean\",\n      \"suppressMoveWhenRowDragging?\": \"boolean\",\n      \"rowDragEntireRow?\": \"boolean\",\n      \"rowDragMultiRow?\": \"boolean\",\n      \"rowDragText?\": \"(params: IRowDragItem, dragItemCount: number) => string\",\n      \"fullWidthCellRenderer?\": \"any\",\n      \"fullWidthCellRendererFramework?\": \"any\",\n      \"fullWidthCellRendererParams?\": \"any\",\n      \"embedFullWidthRows?\": \"boolean\",\n      \"groupDisplayType?\": \"RowGroupingDisplayType\",\n      \"groupDefaultExpanded?\": \"number\",\n      \"autoGroupColumnDef?\": \"ColDef<TData>\",\n      \"groupMaintainOrder?\": \"boolean\",\n      \"groupSelectsChildren?\": \"boolean\",\n      \"groupAggFiltering?\": \"boolean | IsRowFilterable<TData>\",\n      \"groupIncludeFooter?\": \"boolean\",\n      \"groupIncludeTotalFooter?\": \"boolean\",\n      \"groupSuppressBlankHeader?\": \"boolean\",\n      \"groupSelectsFiltered?\": \"boolean\",\n      \"showOpenedGroup?\": \"boolean\",\n      \"groupRemoveSingleChildren?\": \"boolean\",\n      \"groupRemoveLowestSingleChildren?\": \"boolean\",\n      \"groupHideOpenParents?\": \"boolean\",\n      \"groupAllowUnbalanced?\": \"boolean\",\n      \"rowGroupPanelShow?\": \"'always' | 'onlyWhenGrouping' | 'never'\",\n      \"groupRowRenderer?\": \"any\",\n      \"groupRowRendererFramework?\": \"any\",\n      \"groupRowRendererParams?\": \"any\",\n      \"suppressMakeColumnVisibleAfterUnGroup?\": \"boolean\",\n      \"treeData?\": \"boolean\",\n      \"rowGroupPanelSuppressSort?\": \"boolean\",\n      \"groupRowsSticky?\": \"boolean\",\n      \"rememberGroupStateWhenNewData?\": \"boolean\",\n      \"pinnedTopRowData?\": \"any[]\",\n      \"pinnedBottomRowData?\": \"any[]\",\n      \"rowModelType?\": \"RowModelType\",\n      \"rowData?\": \"TData[] | null\",\n      \"immutableData?\": \"boolean\",\n      \"asyncTransactionWaitMillis?\": \"number\",\n      \"suppressModelUpdateAfterUpdateTransaction?\": \"boolean\",\n      \"datasource?\": \"IDatasource\",\n      \"cacheOverflowSize?\": \"number\",\n      \"infiniteInitialRowCount?\": \"number\",\n      \"serverSideInitialRowCount?\": \"number\",\n      \"serverSideStoreType?\": \"ServerSideStoreType\",\n      \"suppressServerSideInfiniteScroll?\": \"boolean\",\n      \"cacheBlockSize?\": \"number\",\n      \"maxBlocksInCache?\": \"number\",\n      \"maxConcurrentDatasourceRequests?\": \"number\",\n      \"blockLoadDebounceMillis?\": \"number\",\n      \"purgeClosedRowNodes?\": \"boolean\",\n      \"serverSideDatasource?\": \"IServerSideDatasource\",\n      \"serverSideSortAllLevels?\": \"boolean\",\n      \"serverSideFilterAllLevels?\": \"boolean\",\n      \"serverSideSortOnServer?\": \"boolean\",\n      \"serverSideFilterOnServer?\": \"boolean\",\n      \"serverSideSortingAlwaysResets?\": \"boolean\",\n      \"serverSideFilteringAlwaysResets?\": \"boolean\",\n      \"viewportDatasource?\": \"IViewportDatasource\",\n      \"viewportRowModelPageSize?\": \"number\",\n      \"viewportRowModelBufferSize?\": \"number\",\n      \"alwaysShowHorizontalScroll?\": \"boolean\",\n      \"alwaysShowVerticalScroll?\": \"boolean\",\n      \"debounceVerticalScrollbar?\": \"boolean\",\n      \"suppressHorizontalScroll?\": \"boolean\",\n      \"suppressScrollOnNewData?\": \"boolean\",\n      \"suppressScrollWhenPopupsAreOpen?\": \"boolean\",\n      \"suppressAnimationFrame?\": \"boolean\",\n      \"suppressMiddleClickScrolls?\": \"boolean\",\n      \"suppressPreventDefaultOnMouseWheel?\": \"boolean\",\n      \"scrollbarWidth?\": \"number\",\n      \"rowSelection?\": \"'single' | 'multiple'\",\n      \"rowMultiSelectWithClick?\": \"boolean\",\n      \"suppressRowDeselection?\": \"boolean\",\n      \"suppressRowClickSelection?\": \"boolean\",\n      \"suppressCellSelection?\": \"boolean\",\n      \"suppressCellFocus?\": \"boolean\",\n      \"suppressMultiRangeSelection?\": \"boolean\",\n      \"enableCellTextSelection?\": \"boolean\",\n      \"enableRangeSelection?\": \"boolean\",\n      \"enableRangeHandle?\": \"boolean\",\n      \"enableFillHandle?\": \"boolean\",\n      \"fillHandleDirection?\": \"'x' | 'y' | 'xy'\",\n      \"suppressClearOnFillReduction?\": \"boolean\",\n      \"sortingOrder?\": \"(SortDirection)[]\",\n      \"accentedSort?\": \"boolean\",\n      \"unSortIcon?\": \"boolean\",\n      \"suppressMultiSort?\": \"boolean\",\n      \"alwaysMultiSort?\": \"boolean\",\n      \"multiSortKey?\": \"'ctrl'\",\n      \"suppressMaintainUnsortedOrder?\": \"boolean\",\n      \"icons?\": \"{ [key: string]: Function | string; }\",\n      \"rowHeight?\": \"number\",\n      \"rowStyle?\": \"RowStyle\",\n      \"rowClass?\": \"string | string[]\",\n      \"rowClassRules?\": \"RowClassRules<TData>\",\n      \"suppressRowHoverHighlight?\": \"boolean\",\n      \"suppressRowTransform?\": \"boolean\",\n      \"columnHoverHighlight?\": \"boolean\",\n      \"deltaSort?\": \"boolean\",\n      \"treeDataDisplayType?\": \"TreeDataDisplayType\",\n      \"functionsPassive?\": \"boolean\",\n      \"enableGroupEdit?\": \"boolean\",\n      \"getContextMenuItems?\": \"GetContextMenuItems<TData>\",\n      \"getMainMenuItems?\": \"GetMainMenuItems\",\n      \"postProcessPopup?\": \"(params: PostProcessPopupParams<TData>) => void\",\n      \"processCellForClipboard?\": \"(params: ProcessCellForExportParams<TData>) => any\",\n      \"processHeaderForClipboard?\": \"(params: ProcessHeaderForExportParams<TData>) => any\",\n      \"processGroupHeaderForClipboard?\": \"(params: ProcessGroupHeaderForExportParams<TData>) => any\",\n      \"processCellFromClipboard?\": \"(params: ProcessCellForExportParams<TData>) => any\",\n      \"sendToClipboard?\": \"(params: SendToClipboardParams<TData>) => void\",\n      \"processDataFromClipboard?\": \"(params: ProcessDataFromClipboardParams<TData>) => string[][] | null\",\n      \"isExternalFilterPresent?\": \"(params: IsExternalFilterPresentParams<TData>) => boolean\",\n      \"doesExternalFilterPass?\": \"(node: IRowNode<TData>) => boolean\",\n      \"getChartToolbarItems?\": \"GetChartToolbarItems\",\n      \"createChartContainer?\": \"(params: ChartRefParams<TData>) => void\",\n      \"navigateToNextHeader?\": \"(params: NavigateToNextHeaderParams<TData>) => (HeaderPosition | null)\",\n      \"tabToNextHeader?\": \"(params: TabToNextHeaderParams<TData>) => (HeaderPosition | null)\",\n      \"navigateToNextCell?\": \"(params: NavigateToNextCellParams<TData>) => (CellPosition | null)\",\n      \"tabToNextCell?\": \"(params: TabToNextCellParams<TData>) => (CellPosition | null)\",\n      \"localeTextFunc?\": \"(key: string, defaultValue: string, variableValues?: string[]) => string\",\n      \"getLocaleText?\": \"(params: GetLocaleTextParams<TData>) => string\",\n      \"getDocument?\": \"() => Document\",\n      \"paginationNumberFormatter?\": \"(params: PaginationNumberFormatterParams<TData>) => string\",\n      \"groupRowAggNodes?\": \"(nodes: IRowNode[]) => any\",\n      \"getGroupRowAgg?\": \"(params: GetGroupRowAggParams<TData>) => any\",\n      \"isGroupOpenByDefault?\": \"(params: IsGroupOpenByDefaultParams<TData>) => boolean\",\n      \"initialGroupOrderComparator?\": \"(params: InitialGroupOrderComparatorParams<TData>) => number\",\n      \"defaultGroupOrderComparator?\": \"(nodeA: IRowNode<TData>, nodeB: IRowNode<TData>) => number\",\n      \"processSecondaryColDef?\": \"(colDef: ColDef<TData>) => void\",\n      \"processSecondaryColGroupDef?\": \"(colGroupDef: ColGroupDef<TData>) => void\",\n      \"processPivotResultColDef?\": \"(colDef: ColDef<TData>) => void\",\n      \"processPivotResultColGroupDef?\": \"(colGroupDef: ColGroupDef<TData>) => void\",\n      \"getDataPath?\": \"GetDataPath<TData>\",\n      \"getChildCount?\": \"(dataItem: any) => number\",\n      \"getServerSideGroupLevelParams?\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\",\n      \"getServerSideStoreParams?\": \"(params: GetServerSideGroupLevelParamsParams) => ServerSideGroupLevelParams\",\n      \"isServerSideGroupOpenByDefault?\": \"(params: IsServerSideGroupOpenByDefaultParams) => boolean\",\n      \"isApplyServerSideTransaction?\": \"IsApplyServerSideTransaction\",\n      \"isServerSideGroup?\": \"IsServerSideGroup\",\n      \"getServerSideGroupKey?\": \"GetServerSideGroupKey\",\n      \"getBusinessKeyForNode?\": \"(node: IRowNode<TData>) => string\",\n      \"getRowNodeId?\": \"GetRowNodeIdFunc<TData>\",\n      \"getRowId?\": \"GetRowIdFunc<TData>\",\n      \"resetRowDataOnUpdate?\": \"boolean\",\n      \"processRowPostCreate?\": \"(params: ProcessRowParams<TData>) => void\",\n      \"isRowSelectable?\": \"IsRowSelectable<TData>\",\n      \"isRowMaster?\": \"IsRowMaster<TData>\",\n      \"fillOperation?\": \"(params: FillOperationParams<TData>) => any\",\n      \"postSort?\": \"(nodes: IRowNode<TData>[]) => void\",\n      \"postSortRows?\": \"(params: PostSortRowsParams<TData>) => void\",\n      \"getRowStyle?\": \"(params: RowClassParams<TData>) => RowStyle | undefined\",\n      \"getRowClass?\": \"(params: RowClassParams<TData>) => string | string[] | undefined\",\n      \"getRowHeight?\": \"(params: RowHeightParams<TData>) => number | undefined | null\",\n      \"isFullWidthCell?\": \"(rowNode: IRowNode<TData>) => boolean\",\n      \"isFullWidthRow?\": \"(params: IsFullWidthRowParams<TData>) => boolean\",\n      \"onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent<TData>)\": \"void\",\n      \"onToolPanelSizeChanged?(event: ToolPanelSizeChangedEvent<TData>)\": \"void\",\n      \"onPasteStart?(event: PasteStartEvent<TData>)\": \"void\",\n      \"onPasteEnd?(event: PasteEndEvent<TData>)\": \"void\",\n      \"onColumnVisible?(event: ColumnVisibleEvent<TData>)\": \"void\",\n      \"onColumnPinned?(event: ColumnPinnedEvent<TData>)\": \"void\",\n      \"onColumnResized?(event: ColumnResizedEvent<TData>)\": \"void\",\n      \"onColumnMoved?(event: ColumnMovedEvent<TData>)\": \"void\",\n      \"onColumnValueChanged?(event: ColumnValueChangedEvent<TData>)\": \"void\",\n      \"onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent<TData>)\": \"void\",\n      \"onColumnPivotChanged?(event: ColumnPivotChangedEvent<TData>)\": \"void\",\n      \"onColumnGroupOpened?(event: ColumnGroupOpenedEvent<TData>)\": \"void\",\n      \"onNewColumnsLoaded?(event: NewColumnsLoadedEvent<TData>)\": \"void\",\n      \"onGridColumnsChanged?(event: GridColumnsChangedEvent<TData>)\": \"void\",\n      \"onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent<TData>)\": \"void\",\n      \"onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent<TData>)\": \"void\",\n      \"onColumnEverythingChanged?(event: ColumnEverythingChangedEvent<TData>)\": \"void\",\n      \"onComponentStateChanged?(event: ComponentStateChangedEvent<TData>)\": \"void\",\n      \"onCellValueChanged?(event: CellValueChangedEvent<TData>)\": \"void\",\n      \"onCellEditRequest?(event: CellEditRequestEvent<TData>)\": \"void\",\n      \"onRowValueChanged?(event: RowValueChangedEvent<TData>)\": \"void\",\n      \"onCellEditingStarted?(event: CellEditingStartedEvent<TData>)\": \"void\",\n      \"onCellEditingStopped?(event: CellEditingStoppedEvent<TData>)\": \"void\",\n      \"onRowEditingStarted?(event: RowEditingStartedEvent<TData>)\": \"void\",\n      \"onRowEditingStopped?(event: RowEditingStoppedEvent<TData>)\": \"void\",\n      \"onUndoStarted?(event: UndoStartedEvent<TData>)\": \"void\",\n      \"onUndoEnded?(event: UndoEndedEvent<TData>)\": \"void\",\n      \"onRedoStarted?(event: RedoStartedEvent<TData>)\": \"void\",\n      \"onRedoEnded?(event: RedoEndedEvent<TData>)\": \"void\",\n      \"onFilterOpened?(event: FilterOpenedEvent<TData>)\": \"void\",\n      \"onFilterChanged?(event: FilterChangedEvent<TData>)\": \"void\",\n      \"onFilterModified?(event: FilterModifiedEvent<TData>)\": \"void\",\n      \"onChartCreated?(event: ChartCreated<TData>)\": \"void\",\n      \"onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged<TData>)\": \"void\",\n      \"onChartOptionsChanged?(event: ChartOptionsChanged<TData>)\": \"void\",\n      \"onChartDestroyed?(event: ChartDestroyed<TData>)\": \"void\",\n      \"onCellKeyDown?(event: CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>)\": \"void\",\n      \"onCellKeyPress?(event: CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>)\": \"void\",\n      \"onGridReady?(event: GridReadyEvent<TData>)\": \"void\",\n      \"onFirstDataRendered?(event: FirstDataRenderedEvent<TData>)\": \"void\",\n      \"onGridSizeChanged?(event: GridSizeChangedEvent<TData>)\": \"void\",\n      \"onModelUpdated?(event: ModelUpdatedEvent<TData>)\": \"void\",\n      \"onVirtualRowRemoved?(event: VirtualRowRemovedEvent<TData>)\": \"void\",\n      \"onViewportChanged?(event: ViewportChangedEvent<TData>)\": \"void\",\n      \"onBodyScroll?(event: BodyScrollEvent<TData>)\": \"void\",\n      \"onBodyScrollEnd?(event: BodyScrollEndEvent<TData>)\": \"void\",\n      \"onDragStarted?(event: DragStartedEvent<TData>)\": \"void\",\n      \"onDragStopped?(event: DragStoppedEvent<TData>)\": \"void\",\n      \"onPaginationChanged?(event: PaginationChangedEvent<TData>)\": \"void\",\n      \"onRowDragEnter?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragMove?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragLeave?(event: RowDragEvent<TData>)\": \"void\",\n      \"onRowDragEnd?(event: RowDragEvent<TData>)\": \"void\",\n      \"onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent<TData>)\": \"void\",\n      \"onRowGroupOpened?(event: RowGroupOpenedEvent<TData>)\": \"void\",\n      \"onExpandOrCollapseAll?(event: ExpandCollapseAllEvent<TData>)\": \"void\",\n      \"onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent<TData>)\": \"void\",\n      \"onRowDataChanged?(event: RowDataChangedEvent<TData>)\": \"void\",\n      \"onRowDataUpdated?(event: RowDataUpdatedEvent<TData>)\": \"void\",\n      \"onAsyncTransactionsFlushed?(event: AsyncTransactionsFlushed<TData>)\": \"void\",\n      \"onStoreRefreshed?(event: StoreRefreshedEvent<TData>)\": \"void\",\n      \"onCellClicked?(event: CellClickedEvent<TData>)\": \"void\",\n      \"onCellDoubleClicked?(event: CellDoubleClickedEvent<TData>)\": \"void\",\n      \"onCellFocused?(event: CellFocusedEvent<TData>)\": \"void\",\n      \"onCellMouseOver?(event: CellMouseOverEvent<TData>)\": \"void\",\n      \"onCellMouseOut?(event: CellMouseOutEvent<TData>)\": \"void\",\n      \"onCellMouseDown?(event: CellMouseDownEvent<TData>)\": \"void\",\n      \"onRowClicked?(event: RowClickedEvent<TData>)\": \"void\",\n      \"onRowDoubleClicked?(event: RowDoubleClickedEvent<TData>)\": \"void\",\n      \"onRowSelected?(event: RowSelectedEvent<TData>)\": \"void\",\n      \"onSelectionChanged?(event: SelectionChangedEvent<TData>)\": \"void\",\n      \"onCellContextMenu?(event: CellContextMenuEvent<TData>)\": \"void\",\n      \"onRangeSelectionChanged?(event: RangeSelectionChangedEvent<TData>)\": \"void\",\n      \"onSortChanged?(event: SortChangedEvent<TData>)\": \"void\",\n      \"onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent<TData>)\": \"void\",\n      \"onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent<TData>)\": \"void\",\n      \"api?\": \"GridApi<TData> | null\",\n      \"columnApi?\": \"ColumnApi | null\"\n    },\n    \"docs\": {\n      \"rowDataChangeDetectionStrategy?\": \"/** @deprecated v29 ChangeDetectionStrategyType has been deprecated. IdentityCheck will always be used now for a more consistent approach. */\",\n      \"statusBar?\": \"/** Specifies the status bar components to use in the status bar. */\",\n      \"sideBar?\": \"/** Specifies the side bar components. */\",\n      \"suppressContextMenu?\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n      \"preventDefaultOnContextMenu?\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n      \"allowContextMenuWithControlKey?\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n      \"suppressMenuHide?\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n      \"enableBrowserTooltips?\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n      \"tooltipShowDelay?\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n      \"tooltipHideDelay?\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n      \"tooltipMouseTrack?\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n      \"popupParent?\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n      \"copyHeadersToClipboard?\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"copyGroupHeadersToClipboard?\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"clipboardDeliminator?\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n      \"clipboardDelimiter?\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n      \"suppressCopyRowsToClipboard?\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n      \"suppressCopySingleCellRanges?\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n      \"suppressLastEmptyLineOnPaste?\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n      \"suppressClipboardPaste?\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n      \"suppressClipboardApi?\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n      \"suppressCutToClipboard?\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n      \"columnDefs?\": \"/** Array of Column / Column Group definitions. */\",\n      \"defaultColDef?\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n      \"defaultColGroupDef?\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n      \"columnTypes?\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n      \"maintainColumnOrder?\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n      \"suppressFieldDotNotation?\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n      \"headerHeight?\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n      \"groupHeaderHeight?\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n      \"floatingFiltersHeight?\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n      \"pivotHeaderHeight?\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n      \"pivotGroupHeaderHeight?\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n      \"allowDragFromColumnsToolPanel?\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n      \"suppressMovableColumns?\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n      \"suppressColumnMoveAnimation?\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n      \"suppressDragLeaveHidesColumns?\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n      \"suppressRowGroupHidesColumns?\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n      \"colResizeDefault?\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n      \"suppressAutoSize?\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n      \"autoSizePadding?\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n      \"skipHeaderOnAutoSize?\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n      \"components?\": \"/** A map of component names to components. */\",\n      \"frameworkComponents?\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n      \"reactUi?\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n      \"suppressReactUi?\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n      \"editType?\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n      \"singleClickEdit?\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n      \"suppressClickEdit?\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n      \"readOnlyEdit?\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n      \"stopEditingWhenCellsLoseFocus?\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n      \"enterMovesDown?\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"enterMovesDownAfterEdit?\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"enableCellEditingOnBackspace?\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n      \"undoRedoCellEditing?\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n      \"undoRedoCellEditingLimit?\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n      \"defaultCsvExportParams?\": \"/** A default configuration object used to export to CSV. */\",\n      \"suppressCsvExport?\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n      \"defaultExcelExportParams?\": \"/** A default configuration object used to export to Excel. */\",\n      \"suppressExcelExport?\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n      \"excelStyles?\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n      \"quickFilterText?\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n      \"cacheQuickFilter?\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n      \"excludeHiddenColumnsFromQuickFilter?\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n      \"excludeChildrenWhenTreeDataFiltering?\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n      \"enableCharts?\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n      \"chartThemes?\": \"/** The list of chart themes to be used. */\",\n      \"customChartThemes?\": \"/** A map containing custom chart themes. */\",\n      \"chartThemeOverrides?\": \"/** Chart theme overrides applied to all themes. */\",\n      \"enableChartToolPanelsButton?\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n      \"suppressChartToolPanelsButton?\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n      \"chartToolPanelsDef?\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n      \"loadingCellRenderer?\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"loadingCellRendererFramework?\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n      \"loadingCellRendererParams?\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n      \"loadingCellRendererSelector?\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n      \"localeText?\": \"/** A map of key->value pairs for localising text within the grid. */\",\n      \"masterDetail?\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n      \"keepDetailRows?\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n      \"keepDetailRowsCount?\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n      \"detailCellRenderer?\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n      \"detailCellRendererFramework?\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n      \"detailCellRendererParams?\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n      \"detailRowHeight?\": \"/** Set fixed height in pixels for each detail row. */\",\n      \"detailRowAutoHeight?\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n      \"context?\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n      \"alignedGrids?\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n      \"tabIndex?\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n      \"rowBuffer?\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n      \"valueCache?\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n      \"valueCacheNeverExpires?\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n      \"enableCellExpressions?\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n      \"suppressParentsInRowNodes?\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n      \"suppressTouch?\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n      \"suppressFocusAfterRefresh?\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n      \"suppressAsyncEvents?\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n      \"suppressBrowserResizeObserver?\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n      \"suppressPropertyNamesCheck?\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n      \"suppressChangeDetection?\": \"/** Disables change detection. Default: `false` */\",\n      \"debug?\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n      \"overlayLoadingTemplate?\": \"/** Provide a template for 'loading' overlay. */\",\n      \"loadingOverlayComponent?\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n      \"loadingOverlayComponentFramework?\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n      \"loadingOverlayComponentParams?\": \"/** Customise the parameters provided to the loading overlay component. */\",\n      \"suppressLoadingOverlay?\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n      \"overlayNoRowsTemplate?\": \"/** Provide a template for 'no rows' overlay. */\",\n      \"noRowsOverlayComponent?\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n      \"noRowsOverlayComponentFramework?\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n      \"noRowsOverlayComponentParams?\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n      \"suppressNoRowsOverlay?\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n      \"pagination?\": \"/** Set whether pagination is enabled. Default: `false` */\",\n      \"paginationPageSize?\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n      \"paginationAutoPageSize?\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n      \"paginateChildRows?\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n      \"suppressPaginationPanel?\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n      \"pivotMode?\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n      \"pivotPanelShow?\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n      \"pivotColumnGroupTotals?\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n      \"pivotRowTotals?\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n      \"pivotSuppressAutoColumn?\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n      \"suppressExpandablePivotGroups?\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n      \"functionsReadOnly?\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n      \"aggFuncs?\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n      \"suppressAggFuncInHeader?\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n      \"suppressAggAtRootLevel?\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n      \"aggregateOnlyChangedColumns?\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n      \"suppressAggFilteredOnly?\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n      \"removePivotHeaderRowWhenSingleValueColumn?\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n      \"animateRows?\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n      \"enableCellChangeFlash?\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n      \"cellFlashDelay?\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n      \"cellFadeDelay?\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n      \"allowShowChangeAfterFilter?\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n      \"domLayout?\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n      \"ensureDomOrder?\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n      \"enableRtl?\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n      \"suppressColumnVirtualisation?\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"suppressMaxRenderedRowRestriction?\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n      \"suppressRowVirtualisation?\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"rowDragManaged?\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n      \"suppressRowDrag?\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n      \"suppressMoveWhenRowDragging?\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n      \"rowDragEntireRow?\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n      \"rowDragMultiRow?\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n      \"rowDragText?\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n      \"fullWidthCellRenderer?\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n      \"fullWidthCellRendererFramework?\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n      \"fullWidthCellRendererParams?\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n      \"embedFullWidthRows?\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n      \"groupDisplayType?\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n      \"groupDefaultExpanded?\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n      \"autoGroupColumnDef?\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n      \"groupMaintainOrder?\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n      \"groupSelectsChildren?\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n      \"groupAggFiltering?\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n      \"groupIncludeFooter?\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n      \"groupIncludeTotalFooter?\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n      \"groupSuppressBlankHeader?\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n      \"groupSelectsFiltered?\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n      \"showOpenedGroup?\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n      \"groupRemoveSingleChildren?\": \"/** Set to `true` to collapse groups that only have one child. */\",\n      \"groupRemoveLowestSingleChildren?\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n      \"groupHideOpenParents?\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n      \"groupAllowUnbalanced?\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n      \"rowGroupPanelShow?\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n      \"groupRowRenderer?\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n      \"groupRowRendererFramework?\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n      \"groupRowRendererParams?\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n      \"suppressMakeColumnVisibleAfterUnGroup?\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n      \"treeData?\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n      \"rowGroupPanelSuppressSort?\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n      \"groupRowsSticky?\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n      \"rememberGroupStateWhenNewData?\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n      \"pinnedTopRowData?\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n      \"pinnedBottomRowData?\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n      \"rowModelType?\": \"/** Sets the row model type. Default: `clientSide` */\",\n      \"rowData?\": \"/** Set the data to be displayed as rows in the grid. */\",\n      \"immutableData?\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n      \"asyncTransactionWaitMillis?\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n      \"suppressModelUpdateAfterUpdateTransaction?\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n      \"datasource?\": \"/** Provide the datasource for infinite scrolling. */\",\n      \"cacheOverflowSize?\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"infiniteInitialRowCount?\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"serverSideInitialRowCount?\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n      \"serverSideStoreType?\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n      \"suppressServerSideInfiniteScroll?\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n      \"cacheBlockSize?\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n      \"maxBlocksInCache?\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n      \"maxConcurrentDatasourceRequests?\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n      \"blockLoadDebounceMillis?\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n      \"purgeClosedRowNodes?\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n      \"serverSideDatasource?\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n      \"serverSideSortAllLevels?\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n      \"serverSideFilterAllLevels?\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n      \"serverSideSortOnServer?\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"serverSideFilterOnServer?\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"serverSideSortingAlwaysResets?\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n      \"serverSideFilteringAlwaysResets?\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n      \"viewportDatasource?\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n      \"viewportRowModelPageSize?\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n      \"viewportRowModelBufferSize?\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n      \"alwaysShowHorizontalScroll?\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n      \"alwaysShowVerticalScroll?\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n      \"debounceVerticalScrollbar?\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n      \"suppressHorizontalScroll?\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n      \"suppressScrollOnNewData?\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n      \"suppressScrollWhenPopupsAreOpen?\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n      \"suppressAnimationFrame?\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n      \"suppressMiddleClickScrolls?\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n      \"suppressPreventDefaultOnMouseWheel?\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n      \"scrollbarWidth?\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n      \"rowSelection?\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n      \"rowMultiSelectWithClick?\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n      \"suppressRowDeselection?\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n      \"suppressRowClickSelection?\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n      \"suppressCellSelection?\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n      \"suppressCellFocus?\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n      \"suppressMultiRangeSelection?\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n      \"enableCellTextSelection?\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n      \"enableRangeSelection?\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n      \"enableRangeHandle?\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n      \"enableFillHandle?\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n      \"fillHandleDirection?\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n      \"suppressClearOnFillReduction?\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n      \"sortingOrder?\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n      \"accentedSort?\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n      \"unSortIcon?\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n      \"suppressMultiSort?\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n      \"alwaysMultiSort?\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n      \"multiSortKey?\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n      \"suppressMaintainUnsortedOrder?\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n      \"icons?\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n      \"rowHeight?\": \"/** Default row height in pixels. Default: `25` */\",\n      \"rowStyle?\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n      \"rowClass?\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n      \"rowClassRules?\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"suppressRowHoverHighlight?\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n      \"suppressRowTransform?\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n      \"columnHoverHighlight?\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n      \"functionsPassive?\": \"/** @deprecated v29.2 */\",\n      \"getContextMenuItems?\": \"/** For customising the context menu. */\",\n      \"getMainMenuItems?\": \"/** For customising the main 'column header' menu. */\",\n      \"postProcessPopup?\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n      \"processCellForClipboard?\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n      \"processHeaderForClipboard?\": \"/** Allows you to process header values for the clipboard.  */\",\n      \"processGroupHeaderForClipboard?\": \"/** Allows you to process group header values for the clipboard.  */\",\n      \"processCellFromClipboard?\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n      \"sendToClipboard?\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n      \"processDataFromClipboard?\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n      \"isExternalFilterPresent?\": \"/** Grid calls this method to know if an external filter is present. */\",\n      \"doesExternalFilterPass?\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n      \"getChartToolbarItems?\": \"/** Callback to be used to customise the chart toolbar items. */\",\n      \"createChartContainer?\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n      \"navigateToNextHeader?\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n      \"tabToNextHeader?\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n      \"navigateToNextCell?\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n      \"tabToNextCell?\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n      \"localeTextFunc?\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n      \"getLocaleText?\": \"/** A callback for localising text within the grid. */\",\n      \"getDocument?\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n      \"paginationNumberFormatter?\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n      \"groupRowAggNodes?\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n      \"getGroupRowAgg?\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n      \"isGroupOpenByDefault?\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n      \"initialGroupOrderComparator?\": \"/** Allows default sorting of groups. */\",\n      \"defaultGroupOrderComparator?\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n      \"processSecondaryColDef?\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n      \"processSecondaryColGroupDef?\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n      \"processPivotResultColDef?\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n      \"processPivotResultColGroupDef?\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n      \"getDataPath?\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n      \"getChildCount?\": \"/** Allows setting the child count for a group row. */\",\n      \"getServerSideGroupLevelParams?\": \"/** Allows providing different params for different levels of grouping. */\",\n      \"getServerSideStoreParams?\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n      \"isServerSideGroupOpenByDefault?\": \"/** Allows groups to be open by default. */\",\n      \"isApplyServerSideTransaction?\": \"/** Allows cancelling transactions. */\",\n      \"isServerSideGroup?\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n      \"getServerSideGroupKey?\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n      \"getBusinessKeyForNode?\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n      \"getRowNodeId?\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n      \"getRowId?\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n      \"resetRowDataOnUpdate?\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n      \"processRowPostCreate?\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n      \"isRowSelectable?\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n      \"isRowMaster?\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n      \"fillOperation?\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n      \"postSort?\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n      \"postSortRows?\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n      \"getRowStyle?\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n      \"getRowClass?\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n      \"getRowHeight?\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n      \"isFullWidthCell?\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n      \"isFullWidthRow?\": \"/** Tells the grid if this row should be rendered as full width. */\",\n      \"onToolPanelVisibleChanged?(event: ToolPanelVisibleChangedEvent<TData>)\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"onToolPanelSizeChanged?(event: ToolPanelSizeChangedEvent<TData>)\": \"/** The tool panel size has been changed. */\",\n      \"onPasteStart?(event: PasteStartEvent<TData>)\": \"/** Paste operation has started. */\",\n      \"onPasteEnd?(event: PasteEndEvent<TData>)\": \"/** Paste operation has ended. */\",\n      \"onColumnVisible?(event: ColumnVisibleEvent<TData>)\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"onColumnPinned?(event: ColumnPinnedEvent<TData>)\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"onColumnResized?(event: ColumnResizedEvent<TData>)\": \"/** A column was resized. */\",\n      \"onColumnMoved?(event: ColumnMovedEvent<TData>)\": \"/** A column was moved. */\",\n      \"onColumnValueChanged?(event: ColumnValueChangedEvent<TData>)\": \"/** A value column was added or removed. */\",\n      \"onColumnPivotModeChanged?(event: ColumnPivotModeChangedEvent<TData>)\": \"/** The pivot mode flag was changed. */\",\n      \"onColumnPivotChanged?(event: ColumnPivotChangedEvent<TData>)\": \"/** A pivot column was added, removed or order changed. */\",\n      \"onColumnGroupOpened?(event: ColumnGroupOpenedEvent<TData>)\": \"/** A column group was opened / closed. */\",\n      \"onNewColumnsLoaded?(event: NewColumnsLoadedEvent<TData>)\": \"/** User set new columns. */\",\n      \"onGridColumnsChanged?(event: GridColumnsChangedEvent<TData>)\": \"/** The list of grid columns changed. */\",\n      \"onDisplayedColumnsChanged?(event: DisplayedColumnsChangedEvent<TData>)\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"onVirtualColumnsChanged?(event: VirtualColumnsChangedEvent<TData>)\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"onColumnEverythingChanged?(event: ColumnEverythingChangedEvent<TData>)\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"onComponentStateChanged?(event: ComponentStateChangedEvent<TData>)\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"onCellValueChanged?(event: CellValueChangedEvent<TData>)\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"onCellEditRequest?(event: CellEditRequestEvent<TData>)\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"onRowValueChanged?(event: RowValueChangedEvent<TData>)\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"onCellEditingStarted?(event: CellEditingStartedEvent<TData>)\": \"/** Editing a cell has started. */\",\n      \"onCellEditingStopped?(event: CellEditingStoppedEvent<TData>)\": \"/** Editing a cell has stopped. */\",\n      \"onRowEditingStarted?(event: RowEditingStartedEvent<TData>)\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"onRowEditingStopped?(event: RowEditingStoppedEvent<TData>)\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"onUndoStarted?(event: UndoStartedEvent<TData>)\": \"/** Undo operation has started. */\",\n      \"onUndoEnded?(event: UndoEndedEvent<TData>)\": \"/** Undo operation has ended. */\",\n      \"onRedoStarted?(event: RedoStartedEvent<TData>)\": \"/** Redo operation has started. */\",\n      \"onRedoEnded?(event: RedoEndedEvent<TData>)\": \"/** Redo operation has ended. */\",\n      \"onFilterOpened?(event: FilterOpenedEvent<TData>)\": \"/** Filter has been opened. */\",\n      \"onFilterChanged?(event: FilterChangedEvent<TData>)\": \"/** Filter has been modified and applied. */\",\n      \"onFilterModified?(event: FilterModifiedEvent<TData>)\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"onChartCreated?(event: ChartCreated<TData>)\": \"/** A chart has been created. */\",\n      \"onChartRangeSelectionChanged?(event: ChartRangeSelectionChanged<TData>)\": \"/** The data range for the chart has been changed. */\",\n      \"onChartOptionsChanged?(event: ChartOptionsChanged<TData>)\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"onChartDestroyed?(event: ChartDestroyed<TData>)\": \"/** A chart has been destroyed. */\",\n      \"onCellKeyDown?(event: CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>)\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"onCellKeyPress?(event: CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>)\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"onGridReady?(event: GridReadyEvent<TData>)\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"onFirstDataRendered?(event: FirstDataRenderedEvent<TData>)\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"onGridSizeChanged?(event: GridSizeChangedEvent<TData>)\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"onModelUpdated?(event: ModelUpdatedEvent<TData>)\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"onVirtualRowRemoved?(event: VirtualRowRemovedEvent<TData>)\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"onViewportChanged?(event: ViewportChangedEvent<TData>)\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"onBodyScroll?(event: BodyScrollEvent<TData>)\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"onBodyScrollEnd?(event: BodyScrollEndEvent<TData>)\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"onDragStarted?(event: DragStartedEvent<TData>)\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"onDragStopped?(event: DragStoppedEvent<TData>)\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"onPaginationChanged?(event: PaginationChangedEvent<TData>)\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"onRowDragEnter?(event: RowDragEvent<TData>)\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"onRowDragMove?(event: RowDragEvent<TData>)\": \"/** The mouse has moved while dragging. */\",\n      \"onRowDragLeave?(event: RowDragEvent<TData>)\": \"/** The mouse has left the grid while dragging. */\",\n      \"onRowDragEnd?(event: RowDragEvent<TData>)\": \"/** The drag has finished over the grid. */\",\n      \"onColumnRowGroupChanged?(event: ColumnRowGroupChangedEvent<TData>)\": \"/** A row group column was added or removed. */\",\n      \"onRowGroupOpened?(event: RowGroupOpenedEvent<TData>)\": \"/** A row group was opened or closed. */\",\n      \"onExpandOrCollapseAll?(event: ExpandCollapseAllEvent<TData>)\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"onPinnedRowDataChanged?(event: PinnedRowDataChangedEvent<TData>)\": \"/** The client has set new pinned row data into the grid. */\",\n      \"onRowDataChanged?(event: RowDataChangedEvent<TData>)\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"onRowDataUpdated?(event: RowDataUpdatedEvent<TData>)\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"onAsyncTransactionsFlushed?(event: AsyncTransactionsFlushed<TData>)\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"onStoreRefreshed?(event: StoreRefreshedEvent<TData>)\": \"/** A server side store has finished refreshing. */\",\n      \"onCellClicked?(event: CellClickedEvent<TData>)\": \"/** Cell is clicked. */\",\n      \"onCellDoubleClicked?(event: CellDoubleClickedEvent<TData>)\": \"/** Cell is double clicked. */\",\n      \"onCellFocused?(event: CellFocusedEvent<TData>)\": \"/** Cell is focused. */\",\n      \"onCellMouseOver?(event: CellMouseOverEvent<TData>)\": \"/** Mouse entered cell. */\",\n      \"onCellMouseOut?(event: CellMouseOutEvent<TData>)\": \"/** Mouse left cell. */\",\n      \"onCellMouseDown?(event: CellMouseDownEvent<TData>)\": \"/** Mouse down on cell. */\",\n      \"onRowClicked?(event: RowClickedEvent<TData>)\": \"/** Row is clicked. */\",\n      \"onRowDoubleClicked?(event: RowDoubleClickedEvent<TData>)\": \"/** Row is double clicked. */\",\n      \"onRowSelected?(event: RowSelectedEvent<TData>)\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"onSelectionChanged?(event: SelectionChangedEvent<TData>)\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"onCellContextMenu?(event: CellContextMenuEvent<TData>)\": \"/** Cell is right clicked. */\",\n      \"onRangeSelectionChanged?(event: RangeSelectionChangedEvent<TData>)\": \"/** A change to range selection has occurred. */\",\n      \"onSortChanged?(event: SortChangedEvent<TData>)\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"onColumnRowGroupChangeRequest?(event: ColumnRowGroupChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnPivotChangeRequest?(event: ColumnPivotChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnValueChangeRequest?(event: ColumnValueChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"onColumnAggFuncChangeRequest?(event: ColumnAggFuncChangeRequestEvent<TData>)\": \"/** @deprecated v29.2 */\",\n      \"api?\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"columnApi?\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\"\n    }\n  },\n  \"AgReactComponent\": {\n    \"meta\": {},\n    \"type\": {\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    }\n  },\n  \"IHeaderGroupReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    }\n  },\n  \"IHeaderReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"refresh(params: IHeaderParams)\": \"boolean\",\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    },\n    \"docs\": {\n      \"refresh(params: IHeaderParams)\": \"/** Get the header to refresh. Gets called whenever Column Defs are updated. */\"\n    }\n  },\n  \"IDateReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getDate()\": \"Date | null\",\n      \"setDate(date: Date | null)\": \"void\",\n      \"setDisabled?(disabled: boolean)\": \"void\",\n      \"setInputPlaceholder?(placeholder: string)\": \"void\",\n      \"setInputAriaLabel?(placeholder: string)\": \"void\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    },\n    \"docs\": {\n      \"getDate()\": \"/** Returns the current date represented by this component */\",\n      \"setDate(date: Date | null)\": \"/** Sets the date represented by this component */\",\n      \"setDisabled?(disabled: boolean)\": \"/** Optional: Sets the disabled state of this component */\",\n      \"setInputPlaceholder?(placeholder: string)\": \"/** Optional: Sets the current input placeholder */\",\n      \"setInputAriaLabel?(placeholder: string)\": \"/** Optional: Sets the current input aria label */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** Optional: A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"IFilterReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"isFilterActive()\": \"boolean\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"boolean\",\n      \"getModel()\": \"any\",\n      \"setModel(model: any)\": \"void | AgPromise<void>\",\n      \"onNewRowsLoaded?()\": \"void\",\n      \"onAnyFilterChanged?()\": \"void\",\n      \"getModelAsString?(model: any)\": \"string\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"void\",\n      \"afterGuiDetached?()\": \"void\",\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    },\n    \"docs\": {\n      \"isFilterActive()\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"doesFilterPass(params: IDoesFilterPassParams)\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"getModel()\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"setModel(model: any)\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"onNewRowsLoaded?()\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"onAnyFilterChanged?()\": \"/** Called whenever any filter is changed. */\",\n      \"getModelAsString?(model: any)\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"afterGuiAttached?(params?: IAfterGuiAttachedParams)\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"afterGuiDetached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\"\n    }\n  },\n  \"IFloatingFilterReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"void\",\n      \"afterGuiAttached?()\": \"void\",\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    },\n    \"docs\": {\n      \"onParentModelChanged(parentModel: any, filterChangedEvent?: FilterChangedEvent | null)\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"ICellRendererReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"refresh(params: ICellRendererParams<TData>)\": \"boolean\",\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    },\n    \"docs\": {\n      \"refresh(params: ICellRendererParams<TData>)\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\"\n    }\n  },\n  \"ICellEditorReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getValue()\": \"any\",\n      \"isPopup?()\": \"boolean\",\n      \"getPopupPosition?()\": \"'over' | 'under' | undefined\",\n      \"isCancelBeforeStart?()\": \"boolean\",\n      \"isCancelAfterEnd?()\": \"boolean\",\n      \"focusIn?()\": \"void\",\n      \"focusOut?()\": \"void\",\n      \"afterGuiAttached?()\": \"void\",\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    },\n    \"docs\": {\n      \"getValue()\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"isPopup?()\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"getPopupPosition?()\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"isCancelBeforeStart?()\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"isCancelAfterEnd?()\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"focusIn?()\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"focusOut?()\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"afterGuiAttached?()\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\"\n    }\n  },\n  \"ILoadingCellRendererReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    }\n  },\n  \"ILoadingOverlayReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    }\n  },\n  \"INoRowsOverlayReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    }\n  },\n  \"IStatusPanelReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    }\n  },\n  \"IToolPanelReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"refresh()\": \"void\",\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    }\n  },\n  \"ITooltipReactComp\": {\n    \"meta\": {},\n    \"type\": {\n      \"getReactContainerStyle?\": \"() => {}\",\n      \"getReactContainerClasses?\": \"() => string[]\"\n    }\n  }\n}\n"}},{"relativePath":"grid-api/doc-interfaces.AUTO.json","internal":{"content":"{\n  \"_config_\": {},\n  \"ColumnResizeSet\": {\n    \"columns\": { \"type\": { \"returnType\": \"Column[]\", \"optional\": false } },\n    \"ratios\": { \"type\": { \"returnType\": \"number[]\", \"optional\": false } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"ColumnStateParams\": {\n    \"hide\": {\n      \"description\": \"/** True if the column is hidden */\",\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** Width of the column in pixels */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"flex\": {\n      \"description\": \"/** Column's flex if flex is set */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"sort\": {\n      \"description\": \"/** Sort applied to the column */\",\n      \"type\": { \"returnType\": \"'asc' | 'desc' | null\", \"optional\": true }\n    },\n    \"sortIndex\": {\n      \"description\": \"/** The order of the sort, if sorting by many columns */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"aggFunc\": {\n      \"description\": \"/** The aggregation function applied */\",\n      \"type\": { \"returnType\": \"string | IAggFunc | null\", \"optional\": true }\n    },\n    \"pivot\": {\n      \"description\": \"/** True if pivot active */\",\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"pivotIndex\": {\n      \"description\": \"/** The order of the pivot, if pivoting by many columns */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"pinned\": {\n      \"description\": \"/** Set if column is pinned */\",\n      \"type\": { \"returnType\": \"ColumnPinnedType\", \"optional\": true }\n    },\n    \"rowGroup\": {\n      \"description\": \"/** True if row group active */\",\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"rowGroupIndex\": {\n      \"description\": \"/** The order of the row group, if grouping by many columns */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    }\n  },\n  \"ColumnState\": {\n    \"colId\": {\n      \"description\": \"/** ID of the column */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"hide\": {\n      \"description\": \"/** True if the column is hidden */\",\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** Width of the column in pixels */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"flex\": {\n      \"description\": \"/** Column's flex if flex is set */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"sort\": {\n      \"description\": \"/** Sort applied to the column */\",\n      \"type\": { \"returnType\": \"'asc' | 'desc' | null\", \"optional\": true }\n    },\n    \"sortIndex\": {\n      \"description\": \"/** The order of the sort, if sorting by many columns */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"aggFunc\": {\n      \"description\": \"/** The aggregation function applied */\",\n      \"type\": { \"returnType\": \"string | IAggFunc | null\", \"optional\": true }\n    },\n    \"pivot\": {\n      \"description\": \"/** True if pivot active */\",\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"pivotIndex\": {\n      \"description\": \"/** The order of the pivot, if pivoting by many columns */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"pinned\": {\n      \"description\": \"/** Set if column is pinned */\",\n      \"type\": { \"returnType\": \"ColumnPinnedType\", \"optional\": true }\n    },\n    \"rowGroup\": {\n      \"description\": \"/** True if row group active */\",\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"rowGroupIndex\": {\n      \"description\": \"/** The order of the row group, if grouping by many columns */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    }\n  },\n  \"ApplyColumnStateParams\": {\n    \"state\": {\n      \"description\": \"/** The state from `getColumnState` */\",\n      \"type\": { \"returnType\": \"ColumnState[]\", \"optional\": true }\n    },\n    \"applyOrder\": {\n      \"description\": \"/** Whether column order should be applied */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"defaultState\": {\n      \"description\": \"/** State to apply to columns where state is missing for those columns */\",\n      \"type\": { \"returnType\": \"ColumnStateParams\", \"optional\": true }\n    }\n  },\n  \"ISizeColumnsToFitParams\": {\n    \"defaultMinWidth\": {\n      \"description\": \"/** Defines a default minimum width for every column (does not override the column minimum width) */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"defaultMaxWidth\": {\n      \"description\": \"/** Defines a default maximum width for every column (does not override the column maximum width) */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"columnLimits\": {\n      \"description\": \"/** Provides a minimum and/or maximum width to specific columns */\",\n      \"type\": { \"returnType\": \"IColumnLimit[]\", \"optional\": true }\n    }\n  },\n  \"IColumnLimit\": {\n    \"key\": {\n      \"description\": \"/** Selector for the column to which these dimension limits will apply */\",\n      \"type\": { \"returnType\": \"Column | string\", \"optional\": false }\n    },\n    \"minWidth\": {\n      \"description\": \"/** Defines a minimum width for this column (does not override the column minimum width) */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxWidth\": {\n      \"description\": \"/** Defines a maximum width for this column (does not override the column maximum width) */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"ColDefPropertyChangedEvent\": {\n    \"source\": { \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": true } },\n    \"type\": {\n      \"type\": { \"returnType\": \"keyof GridOptions\", \"optional\": false }\n    },\n    \"currentValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"previousValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } }\n  },\n  \"ColKey\": {},\n  \"ComponentMetadata\": {\n    \"mandatoryMethodList\": {\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"optionalMethodList\": {\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"functionAdapter\": {\n      \"type\": {\n        \"arguments\": { \"callback\": \"any\" },\n        \"returnType\": \"{ new (): IComponent<any>; }\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ComponentType\": {\n    \"propertyName\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"cellRenderer\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } }\n  },\n  \"FrameworkComponentWrapper\": {\n    \"wrap\": {\n      \"type\": {\n        \"arguments\": {\n          \"frameworkComponent\": \"{ new (): any; } | null\",\n          \"methodList\": \"string[]\",\n          \"optionalMethodList\": \"string[]\",\n          \"componentType\": \"ComponentType\"\n        },\n        \"returnType\": \"A\",\n        \"optional\": false\n      }\n    }\n  },\n  \"WrappableInterface\": {\n    \"hasMethod\": {\n      \"type\": {\n        \"arguments\": { \"name\": \"string\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"callMethod\": {\n      \"type\": {\n        \"arguments\": { \"name\": \"string\", \"args\": \"IArguments\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addMethod\": {\n      \"type\": {\n        \"arguments\": { \"name\": \"string\", \"callback\": \"Function\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"DefinitionObject\": {},\n  \"UserCompDetails\": {\n    \"componentClass\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"componentFromFramework\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"params\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"type\": { \"type\": { \"returnType\": \"ComponentType\", \"optional\": false } },\n    \"popupFromSelector\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"popupPositionFromSelector\": {\n      \"type\": { \"returnType\": \"'over' | 'under'\", \"optional\": true }\n    },\n    \"newAgStackInstance\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"AgPromise<any>\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ContextParams\": {\n    \"providedBeanInstances\": {\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"beanClasses\": { \"type\": { \"returnType\": \"any[]\", \"optional\": false } },\n    \"debug\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } }\n  },\n  \"ComponentMeta\": {\n    \"componentClass\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"Object\", \"optional\": false }\n    },\n    \"componentName\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"ControllerMeta\": {\n    \"controllerClass\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"Object\", \"optional\": false }\n    },\n    \"controllerName\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"BeanWrapper\": {\n    \"bean\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"beanInstance\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"beanName\": { \"type\": { \"returnType\": \"any\", \"optional\": false } }\n  },\n  \"ReadyParams\": {\n    \"gridCtrl\": { \"type\": { \"returnType\": \"GridCtrl\", \"optional\": false } },\n    \"gridBodyCtrl\": {\n      \"type\": { \"returnType\": \"GridBodyCtrl\", \"optional\": false }\n    },\n    \"centerRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"leftRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"rightRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"bottomCenterRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"bottomLeftRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"bottomRightRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"topCenterRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"topLeftRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"topRightRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"stickyTopCenterRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"stickyTopLeftRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"stickyTopRightRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"RowContainerCtrl\", \"optional\": false }\n    },\n    \"fakeHScrollComp\": {\n      \"type\": { \"returnType\": \"FakeHScrollComp\", \"optional\": false }\n    },\n    \"fakeVScrollComp\": {\n      \"type\": { \"returnType\": \"FakeVScrollComp\", \"optional\": false }\n    },\n    \"gridHeaderCtrl\": {\n      \"type\": { \"returnType\": \"GridHeaderCtrl\", \"optional\": false }\n    },\n    \"centerHeaderRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"HeaderRowContainerCtrl\", \"optional\": false }\n    },\n    \"leftHeaderRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"HeaderRowContainerCtrl\", \"optional\": false }\n    },\n    \"rightHeaderRowContainerCtrl\": {\n      \"type\": { \"returnType\": \"HeaderRowContainerCtrl\", \"optional\": false }\n    }\n  },\n  \"DragItem\": {\n    \"rowNode\": {\n      \"description\": \"/** When dragging a row, this contains the row node being dragged\\n     * When dragging multiple rows, this contains the row that started the drag.\\n     */\",\n      \"type\": { \"returnType\": \"IRowNode\", \"optional\": true }\n    },\n    \"rowNodes\": {\n      \"description\": \"/** When dragging multiple rows, this contains all rows being dragged */\",\n      \"type\": { \"returnType\": \"IRowNode[]\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** When dragging columns, this contains the columns being dragged */\",\n      \"type\": { \"returnType\": \"Column[]\", \"optional\": true }\n    },\n    \"visibleState\": {\n      \"description\": \"/** When dragging columns, this contains the visible state of the columns */\",\n      \"type\": { \"returnType\": \"{ [key: string]: boolean }\", \"optional\": true }\n    }\n  },\n  \"DragSourceType\": {},\n  \"DragSource\": {\n    \"type\": {\n      \"description\": \"/** The type of the drag source, used by the drop target to know where the\\n     * drag originated from.\\n     */\",\n      \"type\": { \"returnType\": \"DragSourceType\", \"optional\": false }\n    },\n    \"eElement\": {\n      \"description\": \"/** Element which, when dragged, will kick off the DnD process\\n     */\",\n      \"type\": { \"returnType\": \"Element\", \"optional\": false }\n    },\n    \"getDragItem\": {\n      \"description\": \"/** If eElement is dragged, then the dragItem is the object that gets passed around.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"DragItem\", \"optional\": false }\n    },\n    \"dragItemName\": {\n      \"description\": \"/** This name appears in the ghost icon when dragging.\\n     */\",\n      \"type\": {\n        \"returnType\": \"string | (() => string) | null\",\n        \"optional\": false\n      }\n    },\n    \"defaultIconName\": {\n      \"description\": \"/** Icon to show when not over a drop zone\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"dragSourceDropTarget\": {\n      \"description\": \"/** The drop target associated with this dragSource. When dragging starts, this\\n     * target does not get an onDragEnter event.\\n     */\",\n      \"type\": { \"returnType\": \"DropTarget\", \"optional\": true }\n    },\n    \"dragSourceDomDataKey\": {\n      \"description\": \"/** The drag source DOM Data Key, this is useful to detect if the origin grid is the same\\n     * as the target grid.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"dragStartPixels\": {\n      \"description\": \"/** After how many pixels of dragging should the drag operation start. Default is 4.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"onDragStarted\": {\n      \"description\": \"/** Callback for drag started\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onDragStopped\": {\n      \"description\": \"/** Callback for drag stopped\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onGridEnter\": {\n      \"description\": \"/** Callback for entering the grid\\n     */\",\n      \"type\": {\n        \"arguments\": { \"dragItem\": \"DragItem | null\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onGridExit\": {\n      \"description\": \"/** Callback for exiting the grid\\n     */\",\n      \"type\": {\n        \"arguments\": { \"dragItem\": \"DragItem | null\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"DropTarget\": {\n    \"getContainer\": {\n      \"description\": \"/** The main container that will get the drop. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"getSecondaryContainers\": {\n      \"description\": \"/** If any secondary containers. For example when moving columns in AG Grid, we listen for drops\\n     * in the header as well as the body (main rows and pinned rows) of the grid. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement[][]\",\n        \"optional\": true\n      }\n    },\n    \"getIconName\": {\n      \"description\": \"/** Icon to show when drag is over */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"string | null\",\n        \"optional\": true\n      }\n    },\n    \"isInterestedIn\": {\n      \"type\": {\n        \"arguments\": { \"type\": \"DragSourceType\", \"el\": \"Element\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"targetContainsSource\": {\n      \"description\": \"/** If `true`, the DragSources will only be allowed to be dragged within the DragTarget that contains them.\\n     * This is useful for changing order of items within a container, and not moving items across containers.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"onDragEnter\": {\n      \"description\": \"/** Callback for when drag enters */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"DraggingEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragLeave\": {\n      \"description\": \"/** Callback for when drag leaves */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"DraggingEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragging\": {\n      \"description\": \"/** Callback for when dragging */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"DraggingEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragStop\": {\n      \"description\": \"/** Callback for when drag stops */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"DraggingEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"external\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } }\n  },\n  \"VerticalDirection\": {},\n  \"HorizontalDirection\": {},\n  \"DraggingEvent\": {\n    \"event\": { \"type\": { \"returnType\": \"MouseEvent\", \"optional\": false } },\n    \"x\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"y\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"vDirection\": {\n      \"type\": { \"returnType\": \"VerticalDirection | null\", \"optional\": false }\n    },\n    \"hDirection\": {\n      \"type\": { \"returnType\": \"HorizontalDirection | null\", \"optional\": false }\n    },\n    \"dragSource\": { \"type\": { \"returnType\": \"DragSource\", \"optional\": false } },\n    \"dragItem\": { \"type\": { \"returnType\": \"DragItem\", \"optional\": false } },\n    \"fromNudge\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"api\": { \"type\": { \"returnType\": \"GridApi\", \"optional\": false } },\n    \"columnApi\": { \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false } },\n    \"dropZoneTarget\": {\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    }\n  },\n  \"DragSourceAndListener\": {\n    \"dragSource\": {\n      \"type\": { \"returnType\": \"DragListenerParams\", \"optional\": false }\n    },\n    \"mouseDownListener\": {\n      \"type\": {\n        \"arguments\": { \"mouseEvent\": \"MouseEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"touchEnabled\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"touchStartListener\": {\n      \"type\": {\n        \"returnType\": \"((touchEvent: TouchEvent) => void) | null\",\n        \"optional\": false\n      }\n    }\n  },\n  \"DragListenerParams\": {\n    \"dragStartPixels\": {\n      \"description\": \"/** After how many pixels of dragging should the drag operation start. Default is 4px. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"eElement\": {\n      \"description\": \"/** Dom element to add the drag handling to */\",\n      \"type\": { \"returnType\": \"Element\", \"optional\": false }\n    },\n    \"skipMouseEvent\": {\n      \"description\": \"/** Some places may wish to ignore certain events, eg range selection ignores shift clicks */\",\n      \"type\": {\n        \"arguments\": { \"mouseEvent\": \"MouseEvent\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"onDragStart\": {\n      \"description\": \"/** Callback for drag starting */\",\n      \"type\": {\n        \"arguments\": { \"mouseEvent\": \"MouseEvent | Touch\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onDragStop\": {\n      \"description\": \"/** Callback for drag stopping */\",\n      \"type\": {\n        \"arguments\": { \"mouseEvent\": \"MouseEvent | Touch\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onDragging\": {\n      \"description\": \"/** Callback for mouse move while dragging */\",\n      \"type\": {\n        \"arguments\": { \"mouseEvent\": \"MouseEvent | Touch\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"CellPosition\": {\n    \"column\": {\n      \"description\": \"/** The grid column */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** A positive number from 0 to n, where n is the last row the grid is rendering\\n    * or -1 if you want to navigate to the grid header */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null/undefined (for not pinned) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    }\n  },\n  \"AbstractColDef\": {\n    \"headerName\": {\n      \"description\": \"/** The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"headerValueGetter\": {\n      \"description\": \"/** Function or expression. Gets the value for display in the header. */\",\n      \"type\": {\n        \"returnType\": \"string | HeaderValueGetterFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"headerTooltip\": {\n      \"description\": \"/** Tooltip for the column header */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"headerClass\": {\n      \"description\": \"/** CSS class to use for the header cell. Can be a string, array of strings, or function. */\",\n      \"type\": { \"returnType\": \"HeaderClass\", \"optional\": true }\n    },\n    \"suppressHeaderKeyboardEvent\": {\n      \"description\": \"/** Suppress the grid taking action for the relevant keyboard event when a header is focused. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"SuppressHeaderKeyboardEventParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"columnGroupShow\": {\n      \"description\": \"/** Whether to only show the column when the group is open / closed. If not set the column is always displayed as part of the group. */\",\n      \"type\": { \"returnType\": \"ColumnGroupShowType\", \"optional\": true }\n    },\n    \"toolPanelClass\": {\n      \"description\": \"/** CSS class to use for the tool panel cell. Can be a string, array of strings, or function. */\",\n      \"type\": { \"returnType\": \"ToolPanelClass<TData>\", \"optional\": true }\n    },\n    \"suppressColumnsToolPanel\": {\n      \"description\": \"/** Set to `true` if you do not want this column or group to appear in the Columns Tool Panel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFiltersToolPanel\": {\n      \"description\": \"/** Set to `true` if you do not want this column (filter) or group (filter group) to appear in the Filters Tool Panel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tooltipComponent\": {\n      \"description\": \"/** Provide your own tooltip component for the column.\\n    * See [Tooltip Component](https://www.ag-grid.com/javascript-data-grid/component-tooltip/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"tooltipComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `tooltipComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"tooltipComponentParams\": {\n      \"description\": \"/** The params used to configure `tooltipComponent`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"pivotKeys\": {\n      \"description\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"ColGroupDef\": {\n    \"children\": {\n      \"description\": \"/** A list containing a mix of columns and column groups. */\",\n      \"type\": {\n        \"returnType\": \"(ColDef<TData> | ColGroupDef<TData>)[]\",\n        \"optional\": false\n      }\n    },\n    \"groupId\": {\n      \"description\": \"/** The unique ID to give the column. This is optional. If missing, a unique ID will be generated. This ID is used to identify the column group in the column API. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"openByDefault\": {\n      \"description\": \"/** Set to `true` if this group should be opened by default. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"marryChildren\": {\n      \"description\": \"/** Set to `true` to keep columns in this group beside each other in the grid. Moving the columns outside of the group (and hence breaking the group) is not allowed. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"stickyLabel\": {\n      \"description\": \"/** If `true` the label of the Column Group will scroll alongside the grid to always remain visible. Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"headerGroupComponent\": {\n      \"description\": \"/** The custom header group component to be used for rendering the component header. If none specified the default AG Grid is used.\\n    * See [Header Group Component](https://www.ag-grid.com/javascript-data-grid/component-header/#header-group-components/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"headerGroupComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `headerGroupComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"headerGroupComponentParams\": {\n      \"description\": \"/** The params used to configure the `headerGroupComponent`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"headerName\": {\n      \"description\": \"/** The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"headerValueGetter\": {\n      \"description\": \"/** Function or expression. Gets the value for display in the header. */\",\n      \"type\": {\n        \"returnType\": \"string | HeaderValueGetterFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"headerTooltip\": {\n      \"description\": \"/** Tooltip for the column header */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"headerClass\": {\n      \"description\": \"/** CSS class to use for the header cell. Can be a string, array of strings, or function. */\",\n      \"type\": { \"returnType\": \"HeaderClass\", \"optional\": true }\n    },\n    \"suppressHeaderKeyboardEvent\": {\n      \"description\": \"/** Suppress the grid taking action for the relevant keyboard event when a header is focused. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"SuppressHeaderKeyboardEventParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"columnGroupShow\": {\n      \"description\": \"/** Whether to only show the column when the group is open / closed. If not set the column is always displayed as part of the group. */\",\n      \"type\": { \"returnType\": \"ColumnGroupShowType\", \"optional\": true }\n    },\n    \"toolPanelClass\": {\n      \"description\": \"/** CSS class to use for the tool panel cell. Can be a string, array of strings, or function. */\",\n      \"type\": { \"returnType\": \"ToolPanelClass<TData>\", \"optional\": true }\n    },\n    \"suppressColumnsToolPanel\": {\n      \"description\": \"/** Set to `true` if you do not want this column or group to appear in the Columns Tool Panel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFiltersToolPanel\": {\n      \"description\": \"/** Set to `true` if you do not want this column (filter) or group (filter group) to appear in the Filters Tool Panel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tooltipComponent\": {\n      \"description\": \"/** Provide your own tooltip component for the column.\\n    * See [Tooltip Component](https://www.ag-grid.com/javascript-data-grid/component-tooltip/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"tooltipComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `tooltipComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"tooltipComponentParams\": {\n      \"description\": \"/** The params used to configure `tooltipComponent`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"pivotKeys\": {\n      \"description\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"IAggFunc\": { \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] } },\n  \"IAggFuncParams\": {\n    \"values\": {\n      \"description\": \"/** Values to aggregate */\",\n      \"type\": { \"returnType\": \"TValue[]\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column the aggregation function is working on */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef of the aggregation column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"pivotResultColumn\": {\n      \"description\": \"/** Pivot Result Column being produced using this aggregation */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": true }\n    },\n    \"rowNode\": {\n      \"description\": \"/** The parent RowNode, where the aggregation result will be shown */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** data (if any) of the parent RowNode */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"HeaderClassParams\": {\n    \"colDef\": {\n      \"type\": { \"returnType\": \"AbstractColDef<TData>\", \"optional\": false }\n    },\n    \"column\": { \"type\": { \"returnType\": \"Column | null\", \"optional\": true } },\n    \"columnGroup\": {\n      \"type\": { \"returnType\": \"ColumnGroup | null\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"HeaderClass\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"ToolPanelClassParams\": {\n    \"colDef\": {\n      \"type\": { \"returnType\": \"AbstractColDef<TData>\", \"optional\": false }\n    },\n    \"column\": { \"type\": { \"returnType\": \"Column | null\", \"optional\": true } },\n    \"columnGroup\": {\n      \"type\": { \"returnType\": \"ProvidedColumnGroup | null\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ToolPanelClass\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"ColDef\": {\n    \"colId\": {\n      \"description\": \"/** The unique ID to give the column. This is optional. If missing, the ID will default to the field.\\n     *  If both field and colId are missing, a unique ID will be generated.\\n     *  This ID is used to identify the column in the API for sorting, filtering etc. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"field\": {\n      \"description\": \"/** The field of the row object to get the cell's data from.\\n     * Deep references into a row object is supported via dot notation, i.e `'address.firstLine'`.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"type\": {\n      \"description\": \"/** A comma separated string or array of strings containing `ColumnType` keys which can be used as a template for a column.\\n     * This helps to reduce duplication of properties when you have a lot of common column properties.\\n     */\",\n      \"type\": { \"returnType\": \"string | string[]\", \"optional\": true }\n    },\n    \"valueGetter\": {\n      \"description\": \"/** Function or expression. Gets the value from your data for display. */\",\n      \"type\": {\n        \"returnType\": \"string | ValueGetterFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"valueFormatter\": {\n      \"description\": \"/** A function or expression to format a value, should return a string. Not used for CSV export or copy to clipboard, only for UI cell rendering. */\",\n      \"type\": {\n        \"returnType\": \"string | ValueFormatterFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"refData\": {\n      \"description\": \"/** Provided a reference data map to be used to map column values to their respective value from the map. */\",\n      \"type\": { \"returnType\": \"{ [key: string]: string; }\", \"optional\": true }\n    },\n    \"keyCreator\": {\n      \"description\": \"/** Function to return a string key for a value.\\n     * This string is used for grouping, Set filtering, and searching within cell editor dropdowns.\\n     * When filtering and searching the string is exposed to the user, so make sure to return a human-readable value. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"KeyCreatorParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"equals\": {\n      \"description\": \"/** Custom comparator for values, used by renderer to know if values have changed. Cells who's values have not changed don't get refreshed.\\n     * By default the grid uses `===` is used which should work for most use cases.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"valueA\": \"any\", \"valueB\": \"any\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"tooltipField\": {\n      \"description\": \"/** The field of the tooltip to apply to the cell. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"tooltipValueGetter\": {\n      \"description\": \"/** Callback that should return the string to use for a tooltip, `tooltipField` takes precedence if set.\\n     * If using a custom `tooltipComponent` you may return any custom value to be passed to your tooltip component.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ITooltipParams<TData>\" },\n        \"returnType\": \"string | any\",\n        \"optional\": true\n      }\n    },\n    \"checkboxSelection\": {\n      \"description\": \"/** Set to `true` (or return `true` from function) to render a selection checkbox in the column. Default: `false` */\",\n      \"type\": {\n        \"returnType\": \"boolean | CheckboxSelectionCallback<TData>\",\n        \"optional\": true\n      }\n    },\n    \"showDisabledCheckboxes\": {\n      \"description\": \"/** Set to `true` to display a disabled checkbox when row is not selectable and checkboxes are enabled. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"icons\": {\n      \"description\": \"/** Icons to use inside the column instead of the grid's default icons. Leave undefined to use defaults. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: Function | string; }\",\n        \"optional\": true\n      }\n    },\n    \"suppressNavigable\": {\n      \"description\": \"/** Set to `true` if this column is not navigable (i.e. cannot be tabbed into), otherwise `false`.\\n     * Can also be a callback function to have different rows navigable.\\n     * Default: `false`\\n     */\",\n      \"type\": {\n        \"returnType\": \"boolean | SuppressNavigableCallback<TData>\",\n        \"optional\": true\n      }\n    },\n    \"suppressKeyboardEvent\": {\n      \"description\": \"/** Allows the user to suppress certain keyboard events in the grid cell. Default: `false` */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"SuppressKeyboardEventParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"suppressPaste\": {\n      \"description\": \"/** Pasting is on by default as long as cells are editable (non-editable cells cannot be modified, even with a paste operation).\\n     * Set to `true` turn paste operations off.\\n     */\",\n      \"type\": {\n        \"returnType\": \"boolean | SuppressPasteCallback<TData>\",\n        \"optional\": true\n      }\n    },\n    \"suppressFillHandle\": {\n      \"description\": \"/** Set to true to prevent the fillHandle from being rendered in any cell that belongs to this column */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"hide\": {\n      \"description\": \"/** Set to `true` for this column to be hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"initialHide\": {\n      \"description\": \"/** Same as `hide`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"lockVisible\": {\n      \"description\": \"/** Set to `true` to block making column visible / hidden via the UI (API will still work). Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"lockPosition\": {\n      \"description\": \"/** Lock a column to position to `'left'` or`'right'` to always have this column displayed in that position. `true` is treated as `'left'` */\",\n      \"type\": { \"returnType\": \"boolean | 'left' | 'right'\", \"optional\": true }\n    },\n    \"suppressMovable\": {\n      \"description\": \"/** Set to `true` if you do not want this column to be movable via dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"editable\": {\n      \"description\": \"/** Set to `true` if this column is editable, otherwise `false`. Can also be a function to have different rows editable. Default: `false` */\",\n      \"type\": {\n        \"returnType\": \"boolean | EditableCallback<TData>\",\n        \"optional\": true\n      }\n    },\n    \"valueSetter\": {\n      \"description\": \"/** Function or expression. Sets the value into your data for saving. Return `true` if the data changed. */\",\n      \"type\": {\n        \"returnType\": \"string | ValueSetterFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"valueParser\": {\n      \"description\": \"/** Function or expression. Parses the value for saving. */\",\n      \"type\": {\n        \"returnType\": \"string | ValueParserFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"cellEditor\": {\n      \"description\": \"/** Provide your own cell editor component for this column's cells.\\n    * See [Cell Editor](https://www.ag-grid.com/javascript-data-grid/component-cell-editor/) for framework specific implementation detail.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"cellEditorFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `cellEditor` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"cellEditorParams\": {\n      \"description\": \"/** Params to be passed to the `cellEditor` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"cellEditorSelector\": {\n      \"description\": \"/** Callback to select which cell editor to be used for a given row within the same column. */\",\n      \"type\": {\n        \"returnType\": \"CellEditorSelectorFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"singleClickEdit\": {\n      \"description\": \"/** Set to `true` to have cells under this column enter edit mode after single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellEditorPopup\": {\n      \"description\": \"/** Set to `true`, to have the cell editor appear in a popup.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellEditorPopupPosition\": {\n      \"description\": \"/** Set the position for the popup cell editor. Possible values are\\n     *  - `over` Popup will be positioned over the cell\\n     *  - `under` Popup will be positioned below the cell leaving the cell value visible.\\n     *\\n     * Default: `over`. */\",\n      \"type\": { \"returnType\": \"'over' | 'under'\", \"optional\": true }\n    },\n    \"onCellValueChanged\": {\n      \"description\": \"/** Callback for after the value of a cell has changed, either due to editing or the application calling `api.setValue()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewValueParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onCellClicked\": {\n      \"description\": \"/** Callback called when a cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onCellDoubleClicked\": {\n      \"description\": \"/** Callback called when a cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onCellContextMenu\": {\n      \"description\": \"/** Callback called when a cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getQuickFilterText\": {\n      \"description\": \"/** A function to tell the grid what Quick Filter text to use for this column if you don't want to use the default (which is calling `toString` on the value). */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetQuickFilterTextParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"filterValueGetter\": {\n      \"description\": \"/** Function or expression. Gets the value for filtering purposes. */\",\n      \"type\": {\n        \"returnType\": \"string | ValueGetterFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"floatingFilter\": {\n      \"description\": \"/** Whether to display a floating filter for this column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"wrapHeaderText\": {\n      \"description\": \"/** If enabled then column header names that are too long for the column width will wrap onto the next line. Default `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"autoHeaderHeight\": {\n      \"description\": \"/** If enabled then the column header row will automatically adjust height to accommodate the size of the header cell.\\n    * This can be useful when using your own `headerComponent` or long header names in conjunction with `wrapHeaderText`.\\n    * Default: `false`\\n    */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"headerComponent\": {\n      \"description\": \"/** The custom header component to be used for rendering the component header. If none specified the default AG Grid header component is used.\\n    * See [Header Component](https://www.ag-grid.com/javascript-data-grid/component-header/) for framework specific implementation detail.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"headerComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `headerComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"headerComponentParams\": {\n      \"description\": \"/** The parameters to be passed to the `headerComponent`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"menuTabs\": {\n      \"description\": \"/** Set to an array containing zero, one or many of the following options: `'filterMenuTab' | 'generalMenuTab' | 'columnsMenuTab'`.\\n     * This is used to figure out which menu tabs are present and in which order the tabs are shown.\\n     */\",\n      \"type\": { \"returnType\": \"ColumnMenuTab[]\", \"optional\": true }\n    },\n    \"columnsMenuParams\": {\n      \"description\": \"/** Params used to change the behaviour and appearance of the Columns Menu tab. */\",\n      \"type\": { \"returnType\": \"ColumnsMenuParams\", \"optional\": true }\n    },\n    \"suppressMenu\": {\n      \"description\": \"/** Set to `true` if no menu should be shown for this column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"headerCheckboxSelection\": {\n      \"description\": \"/** If `true` or the callback returns `true`, a 'select all' checkbox will be put into the header. */\",\n      \"type\": {\n        \"returnType\": \"boolean | HeaderCheckboxSelectionCallback<TData>\",\n        \"optional\": true\n      }\n    },\n    \"headerCheckboxSelectionFilteredOnly\": {\n      \"description\": \"/** If `true`, the header checkbox selection will only select filtered items. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"headerCheckboxSelectionCurrentPageOnly\": {\n      \"description\": \"/** If `true`, the header checkbox selection will only select nodes on the current page. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartDataType\": {\n      \"description\": \"/** Defines the chart data type that should be used for a column. */\",\n      \"type\": {\n        \"returnType\": \"'category' | 'series' | 'time' | 'excluded'\",\n        \"optional\": true\n      }\n    },\n    \"pinned\": {\n      \"description\": \"/** Pin a column to one side: `right` or `left`. A value of `true` is converted to `'left'`. */\",\n      \"type\": {\n        \"returnType\": \"boolean | 'left' | 'right' | null\",\n        \"optional\": true\n      }\n    },\n    \"initialPinned\": {\n      \"description\": \"/** Same as `pinned`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"boolean | 'left' | 'right'\", \"optional\": true }\n    },\n    \"lockPinned\": {\n      \"description\": \"/** Set to true to block the user pinning the column, the column can only be pinned via definitions or API. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivot\": {\n      \"description\": \"/** Set to true to pivot by this column. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"initialPivot\": {\n      \"description\": \"/** Same as `pivot`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotIndex\": {\n      \"description\": \"/** Set this in columns you want to pivot by.\\n     * If only pivoting by one column, set this to any number (e.g. `0`).\\n     * If pivoting by multiple columns, set this to where you want this column to be in the order of pivots (e.g. `0` for first, `1` for second, and so on).\\n     */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"initialPivotIndex\": {\n      \"description\": \"/** Same as `pivotIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotComparator\": {\n      \"description\": \"/** Comparator to use when ordering the pivot columns, when this column is used to pivot on.\\n     * The values will always be strings, as the pivot service uses strings as keys for the pivot groups.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"valueA\": \"string\", \"valueB\": \"string\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"enablePivot\": {\n      \"description\": \"/** Set to `true` if you want to be able to pivot by this column via the GUI. This will not block the API or properties being used to achieve pivot. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellStyle\": {\n      \"description\": \"/** An object of css values / or function returning an object of css values for a particular cell. */\",\n      \"type\": {\n        \"returnType\": \"CellStyle | CellStyleFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"cellClass\": {\n      \"description\": \"/** Class to use for the cell. Can be string, array of strings, or function that returns a string or array of strings. */\",\n      \"type\": {\n        \"returnType\": \"string | string[] | CellClassFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"cellClassRules\": {\n      \"description\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"type\": { \"returnType\": \"CellClassRules<TData>\", \"optional\": true }\n    },\n    \"cellRenderer\": {\n      \"description\": \"/** Provide your own cell Renderer component for this column's cells.\\n    * See [Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"cellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `cellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"cellRendererParams\": {\n      \"description\": \"/** Params to be passed to the `cellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"cellRendererSelector\": {\n      \"description\": \"/** Callback to select which cell renderer to be used for a given row within the same column. */\",\n      \"type\": {\n        \"returnType\": \"CellRendererSelectorFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"autoHeight\": {\n      \"description\": \"/** Set to `true` to have the grid calculate the height of a row based on contents of this column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"wrapText\": {\n      \"description\": \"/** Set to `true` to have the text wrap inside the cell - typically used with `autoHeight`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellChangeFlash\": {\n      \"description\": \"/** Set to `true` to flash a cell when it's refreshed. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellFlash\": {\n      \"description\": \"/** Set to `true` to prevent this column from flashing on changes. Only applicable if cell flashing is turned on for the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDrag\": {\n      \"description\": \"/** `boolean` or `Function`. Set to `true` (or return `true` from function) to allow row dragging. Default: `false` */\",\n      \"type\": {\n        \"returnType\": \"boolean | RowDragCallback<TData>\",\n        \"optional\": true\n      }\n    },\n    \"rowDragText\": {\n      \"description\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the `rowDragText` callback in the `gridOptions` will be used and\\n     * if there is no callback in the `gridOptions` the current cell value will be used.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IRowDragItem\", \"dragItemCount\": \"number\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"dndSource\": {\n      \"description\": \"/** `boolean` or `Function`. Set to `true` (or return `true` from function) to allow dragging for native drag and drop. Default: `false` */\",\n      \"type\": {\n        \"returnType\": \"boolean | DndSourceCallback<TData>\",\n        \"optional\": true\n      }\n    },\n    \"dndSourceOnRowDrag\": {\n      \"description\": \"/** Function to allow custom drag functionality for native drag and drop. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"DndSourceOnRowDragParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"rowGroup\": {\n      \"description\": \"/** Set to `true` to row group by this column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"initialRowGroup\": {\n      \"description\": \"/** Same as `rowGroup`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupIndex\": {\n      \"description\": \"/** Set this in columns you want to group by.\\n     * If only grouping by one column, set this to any number (e.g. `0`).\\n     * If grouping by multiple columns, set this to where you want this column to be in the group (e.g. `0` for first, `1` for second, and so on).\\n     */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"initialRowGroupIndex\": {\n      \"description\": \"/** Same as `rowGroupIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"enableRowGroup\": {\n      \"description\": \"/** Set to `true` if you want to be able to row group by this column via the GUI.\\n     * This will not block the API or properties being used to achieve row grouping.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableValue\": {\n      \"description\": \"/** Set to `true` if you want to be able to aggregate by this column via the GUI.\\n     * This will not block the API or properties being used to achieve aggregation.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggFunc\": {\n      \"description\": \"/** Name of function to use for aggregation. In-built options are: `sum`, `min`, `max`, `count`, `avg`, `first`, `last`. Also accepts a custom aggregation name or an aggregation function. */\",\n      \"type\": {\n        \"returnType\": \"string | IAggFunc<TData> | null\",\n        \"optional\": true\n      }\n    },\n    \"initialAggFunc\": {\n      \"description\": \"/** Same as `aggFunc`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"string | IAggFunc<TData>\", \"optional\": true }\n    },\n    \"defaultAggFunc\": {\n      \"description\": \"/** The name of the aggregation function to use for this column when it is enabled via the GUI.\\n     * Note that this does not immediately apply the aggregation function like `aggFunc`\\n     * Default: `sum`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"allowedAggFuncs\": {\n      \"description\": \"/** Aggregation functions allowed on this column e.g. `['sum', 'avg']`.\\n     * If missing, all installed functions are allowed.\\n     * This will only restrict what the GUI allows a user to select, it does not impact when you set a function via the API. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"showRowGroup\": {\n      \"description\": \"/** Set to true to have the grid place the values for the group into the cell, or put the name of a grouped column to just show that group. */\",\n      \"type\": { \"returnType\": \"string | boolean\", \"optional\": true }\n    },\n    \"sortable\": {\n      \"description\": \"/** Set to `true` to allow sorting on this column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"sort\": {\n      \"description\": \"/** If sorting by default, set it here. Set to `asc` or `desc`. */\",\n      \"type\": { \"returnType\": \"SortDirection\", \"optional\": true }\n    },\n    \"initialSort\": {\n      \"description\": \"/** Same as `sort`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"SortDirection\", \"optional\": true }\n    },\n    \"sortIndex\": {\n      \"description\": \"/** If sorting more than one column by default, specifies order in which the sorting should be applied. */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"initialSortIndex\": {\n      \"description\": \"/** Same as `sortIndex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"sortingOrder\": {\n      \"description\": \"/**  Array defining the order in which sorting occurs (if sorting is enabled). An array with any of the following in any order `['asc','desc',null]` */\",\n      \"type\": { \"returnType\": \"(SortDirection)[]\", \"optional\": true }\n    },\n    \"comparator\": {\n      \"description\": \"/** Override the default sorting order by providing a custom sort comparator.\\n     *\\n     * - `valueA`, `valueB` are the values to compare.\\n     * - `nodeA`,  `nodeB` are the corresponding RowNodes. Useful if additional details are required by the sort.\\n     * - `isDescending` - `true` if sort direction is `desc`. Not to be used for inverting the return value as the grid already applies `asc` or `desc` ordering.\\n     *\\n     * Return:\\n     *  - `0`  valueA is the same as valueB\\n     *  - `> 0` Sort valueA after valueB\\n     *  - `< 0` Sort valueA before valueB\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"valueA\": \"any\",\n          \"valueB\": \"any\",\n          \"nodeA\": \"IRowNode<TData>\",\n          \"nodeB\": \"IRowNode<TData>\",\n          \"isDescending\": \"boolean\"\n        },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"unSortIcon\": {\n      \"description\": \"/** Set to `true` if you want the unsorted icon to be shown when no sort is applied to this column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"colSpan\": {\n      \"description\": \"/** By default, each cell will take up the width of one column. You can change this behaviour to allow cells to span multiple columns. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ColSpanParams<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"rowSpan\": {\n      \"description\": \"/** By default, each cell will take up the height of one row. You can change this behaviour to allow cells to span multiple rows. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowSpanParams<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"width\": {\n      \"description\": \"/** Initial width in pixels for the cell. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"initialWidth\": {\n      \"description\": \"/** Same as `width`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"minWidth\": {\n      \"description\": \"/** Minimum width in pixels for the cell. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxWidth\": {\n      \"description\": \"/** Maximum width in pixels for the cell. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"flex\": {\n      \"description\": \"/** Used instead of `width` when the goal is to fill the remaining empty space of the grid. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"initialFlex\": {\n      \"description\": \"/** Same as `flex`, except only applied when creating a new column. Not applied when updating column definitions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"resizable\": {\n      \"description\": \"/** Set to `true` to allow this column should be resized. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressSizeToFit\": {\n      \"description\": \"/** Set to `true` if you want this column's width to be fixed during 'size to fit' operations. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAutoSize\": {\n      \"description\": \"/** Set to `true` if you do not want this column to be auto-resizable by double clicking it's edge. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotValueColumn\": {\n      \"description\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": true }\n    },\n    \"pivotTotalColumnIds\": {\n      \"description\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"spanHeaderHeight\": {\n      \"description\": \"/** Set to `true` if you want this column header for this column to span the whole height of the header container. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"headerName\": {\n      \"description\": \"/** The name to render in the column header. If not specified and field is specified, the field name will be used as the header name. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"headerValueGetter\": {\n      \"description\": \"/** Function or expression. Gets the value for display in the header. */\",\n      \"type\": {\n        \"returnType\": \"string | HeaderValueGetterFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"headerTooltip\": {\n      \"description\": \"/** Tooltip for the column header */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"headerClass\": {\n      \"description\": \"/** CSS class to use for the header cell. Can be a string, array of strings, or function. */\",\n      \"type\": { \"returnType\": \"HeaderClass\", \"optional\": true }\n    },\n    \"suppressHeaderKeyboardEvent\": {\n      \"description\": \"/** Suppress the grid taking action for the relevant keyboard event when a header is focused. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"SuppressHeaderKeyboardEventParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"columnGroupShow\": {\n      \"description\": \"/** Whether to only show the column when the group is open / closed. If not set the column is always displayed as part of the group. */\",\n      \"type\": { \"returnType\": \"ColumnGroupShowType\", \"optional\": true }\n    },\n    \"toolPanelClass\": {\n      \"description\": \"/** CSS class to use for the tool panel cell. Can be a string, array of strings, or function. */\",\n      \"type\": { \"returnType\": \"ToolPanelClass<TData>\", \"optional\": true }\n    },\n    \"suppressColumnsToolPanel\": {\n      \"description\": \"/** Set to `true` if you do not want this column or group to appear in the Columns Tool Panel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFiltersToolPanel\": {\n      \"description\": \"/** Set to `true` if you do not want this column (filter) or group (filter group) to appear in the Filters Tool Panel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tooltipComponent\": {\n      \"description\": \"/** Provide your own tooltip component for the column.\\n    * See [Tooltip Component](https://www.ag-grid.com/javascript-data-grid/component-tooltip/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"tooltipComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `tooltipComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"tooltipComponentParams\": {\n      \"description\": \"/** The params used to configure `tooltipComponent`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"pivotKeys\": {\n      \"description\": \"/** Never set this, it is used internally by grid when doing in-grid pivoting */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"filter\": {\n      \"description\": \"/** Filter component to use for this column.\\n     * - Set to `true` to use the default filter.\\n     * - Set to the name of a provided filter: `set`, `number`, `text`, `date`.\\n     * - Set to a `IFilterComp`.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"filterFramework\": {\n      \"description\": \"/** @deprecated Provided a custom framework filter to use for this column. As of v27, you can use filter instead for Framework Components.  */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"filterParams\": {\n      \"description\": \"/** Params to be passed to the filter component specified in `filter` or `filterFramework`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"floatingFilterComponent\": {\n      \"description\": \"/** The custom component to be used for rendering the floating filter.\\n     * If none is specified the default AG Grid is used.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"floatingFilterComponentFramework\": {\n      \"description\": \"/** @deprecated Floating filter framework component to use for this column. As of v27, you can use floatingFilterComponent instead for Framework Components. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"floatingFilterComponentParams\": {\n      \"description\": \"/** Params to be passed to `floatingFilterComponent` or `floatingFilterComponentFramework`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    }\n  },\n  \"ColumnFunctionCallbackParams\": {\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"CheckboxSelectionCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"CheckboxSelectionCallback\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"RowDragCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"RowDragCallback\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"DndSourceCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"DndSourceOnRowDragParams\": {\n    \"rowNode\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"dragEvent\": {\n      \"description\": \"/** The DOM event that represents a drag and drop interaction */\",\n      \"type\": { \"returnType\": \"DragEvent\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"DndSourceCallback\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"EditableCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"EditableCallback\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"SuppressPasteCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"SuppressPasteCallback\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"SuppressNavigableCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"SuppressNavigableCallback\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"HeaderCheckboxSelectionCallbackParams\": {\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"HeaderCheckboxSelectionCallback\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"IsColumnFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IsColumnFuncParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"GetQuickFilterTextParams\": {\n    \"value\": {\n      \"description\": \"/** Value for the cell. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Row data associated with the node. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ColumnMenuTab\": {},\n  \"ColumnsMenuParams\": {\n    \"suppressSyncLayoutWithGrid\": {\n      \"description\": \"/** To suppress updating the layout of columns as they are rearranged in the grid */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnFilter\": {\n      \"description\": \"/** To suppress Column Filter section*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnSelectAll\": {\n      \"description\": \"/** To suppress Select / Un-select all widget*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnExpandAll\": {\n      \"description\": \"/** To suppress Expand / Collapse all widget*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"contractColumnSelection\": {\n      \"description\": \"/** By default, column groups start expanded.\\n     * Pass true to default to contracted groups*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnLayout\": {\n      \"description\": \"/** Custom Columns Panel layout */\",\n      \"type\": { \"returnType\": \"(ColDef | ColGroupDef)[]\", \"optional\": true }\n    }\n  },\n  \"BaseColDefParams\": {\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"BaseColDefOptionalDataParams\": {\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ValueGetterParams\": {\n    \"getValue\": {\n      \"description\": \"/** A utility method for getting other column values */\",\n      \"type\": {\n        \"arguments\": { \"field\": \"string\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ValueGetterFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"HeaderValueGetterParams\": {\n    \"colDef\": {\n      \"type\": { \"returnType\": \"AbstractColDef<TData>\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback if applicable*/\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": true }\n    },\n    \"columnGroup\": {\n      \"description\": \"/** ColumnGroup for this callback if applicable */\",\n      \"type\": {\n        \"returnType\": \"ColumnGroup | ProvidedColumnGroup | null\",\n        \"optional\": true\n      }\n    },\n    \"providedColumnGroup\": {\n      \"description\": \"/** Original column group if applicable */\",\n      \"type\": { \"returnType\": \"ProvidedColumnGroup | null\", \"optional\": false }\n    },\n    \"location\": {\n      \"description\": \"/** Where the column is going to appear */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"HeaderValueGetterFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"NewValueParams\": {\n    \"oldValue\": {\n      \"description\": \"/** The value before the change */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"newValue\": {\n      \"description\": \"/** The value after the change */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ValueSetterParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"oldValue\": {\n      \"description\": \"/** The value before the change */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"newValue\": {\n      \"description\": \"/** The value after the change */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ValueSetterFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"ValueParserParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"oldValue\": {\n      \"description\": \"/** The value before the change */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"newValue\": {\n      \"description\": \"/** The value after the change */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ValueParserFunc\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] }\n  },\n  \"ValueFormatterParams\": {\n    \"value\": {\n      \"description\": \"/** Value for the cell. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ValueFormatterFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"KeyCreatorParams\": {\n    \"value\": {\n      \"description\": \"/** Value for the cell. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"ColSpanParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"RowSpanParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"SuppressKeyboardEventParams\": {\n    \"event\": {\n      \"description\": \"/** The keyboard event the grid received */\",\n      \"type\": { \"returnType\": \"KeyboardEvent\", \"optional\": false }\n    },\n    \"editing\": {\n      \"description\": \"/** Whether the cell is editing or not */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node. Will be `undefined` for group rows. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"SuppressHeaderKeyboardEventParams\": {\n    \"column\": {\n      \"type\": { \"returnType\": \"Column | ColumnGroup\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"type\": {\n        \"returnType\": \"ColDef<TData> | ColGroupDef<TData> | null\",\n        \"optional\": false\n      }\n    },\n    \"headerRowIndex\": {\n      \"description\": \"/** The index of the header row of the current focused header */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** The keyboard event the grid received */\",\n      \"type\": { \"returnType\": \"KeyboardEvent\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"CellClassParams\": {\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** The colDef associated with the column for this cell */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** The value to be rendered */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"data\": {\n      \"description\": \"/** The data associated with this row from rowData. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The RowNode associated with this row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The index of the row */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"CellClassFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"CellStyleFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"CellStyle\": {},\n  \"CellClassRules\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"CellRendererSelectorFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"CellEditorSelectorFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"CellRendererSelectorResult\": {\n    \"component\": {\n      \"description\": \"/** Equivalent of setting `colDef.cellRenderer` */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"frameworkComponent\": {\n      \"description\": \"/** @deprecated As of v27, use `component` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"params\": {\n      \"description\": \"/** Equivalent of setting `colDef.cellRendererParams` */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    }\n  },\n  \"CellEditorSelectorResult\": {\n    \"component\": {\n      \"description\": \"/** Equivalent of setting `colDef.cellEditor` */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"frameworkComponent\": {\n      \"description\": \"/** @deprecated As of v27, use `component` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"params\": {\n      \"description\": \"/** Equivalent of setting `colDef.cellEditorParams` */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"popup\": {\n      \"description\": \"/** Equivalent of setting `colDef.cellEditorPopup` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"popupPosition\": {\n      \"description\": \"/** Equivalent of setting `colDef.cellEditorPopupPosition` */\",\n      \"type\": { \"returnType\": \"'over' | 'under'\", \"optional\": true }\n    }\n  },\n  \"SortDirection\": {},\n  \"ColumnPinnedType\": {},\n  \"ColumnEventName\": {},\n  \"ColumnGroupShowType\": {},\n  \"GridOptions\": {\n    \"statusBar\": {\n      \"description\": \"/** Specifies the status bar components to use in the status bar. */\",\n      \"type\": {\n        \"returnType\": \"{ statusPanels: StatusPanelDef[]; }\",\n        \"optional\": true\n      }\n    },\n    \"sideBar\": {\n      \"description\": \"/** Specifies the side bar components. */\",\n      \"type\": {\n        \"returnType\": \"SideBarDef | string | string[] | boolean | null\",\n        \"optional\": true\n      }\n    },\n    \"suppressContextMenu\": {\n      \"description\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"preventDefaultOnContextMenu\": {\n      \"description\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"allowContextMenuWithControlKey\": {\n      \"description\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMenuHide\": {\n      \"description\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableBrowserTooltips\": {\n      \"description\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tooltipShowDelay\": {\n      \"description\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltipHideDelay\": {\n      \"description\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltipMouseTrack\": {\n      \"description\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"popupParent\": {\n      \"description\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"copyHeadersToClipboard\": {\n      \"description\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"copyGroupHeadersToClipboard\": {\n      \"description\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"clipboardDeliminator\": {\n      \"description\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"clipboardDelimiter\": {\n      \"description\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"suppressCopyRowsToClipboard\": {\n      \"description\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCopySingleCellRanges\": {\n      \"description\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressLastEmptyLineOnPaste\": {\n      \"description\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClipboardPaste\": {\n      \"description\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClipboardApi\": {\n      \"description\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCutToClipboard\": {\n      \"description\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnDefs\": {\n      \"description\": \"/** Array of Column / Column Group definitions. */\",\n      \"type\": {\n        \"returnType\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\",\n        \"optional\": true\n      }\n    },\n    \"defaultColDef\": {\n      \"description\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": true }\n    },\n    \"defaultColGroupDef\": {\n      \"description\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n      \"type\": { \"returnType\": \"Partial<ColGroupDef<TData>>\", \"optional\": true }\n    },\n    \"columnTypes\": {\n      \"description\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: ColDef<TData>; }\",\n        \"optional\": true\n      }\n    },\n    \"maintainColumnOrder\": {\n      \"description\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFieldDotNotation\": {\n      \"description\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"headerHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"groupHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"floatingFiltersHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotGroupHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"allowDragFromColumnsToolPanel\": {\n      \"description\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMovableColumns\": {\n      \"description\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnMoveAnimation\": {\n      \"description\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressDragLeaveHidesColumns\": {\n      \"description\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowGroupHidesColumns\": {\n      \"description\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"colResizeDefault\": {\n      \"description\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n      \"type\": { \"returnType\": \"'shift'\", \"optional\": true }\n    },\n    \"suppressAutoSize\": {\n      \"description\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"autoSizePadding\": {\n      \"description\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"skipHeaderOnAutoSize\": {\n      \"description\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"components\": {\n      \"description\": \"/** A map of component names to components. */\",\n      \"type\": { \"returnType\": \"{ [p: string]: any; }\", \"optional\": true }\n    },\n    \"frameworkComponents\": {\n      \"description\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n      \"type\": {\n        \"returnType\": \"{ [p: string]: { new(): any; }; } | any\",\n        \"optional\": true\n      }\n    },\n    \"reactUi\": {\n      \"description\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressReactUi\": {\n      \"description\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"editType\": {\n      \"description\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n      \"type\": { \"returnType\": \"'fullRow'\", \"optional\": true }\n    },\n    \"singleClickEdit\": {\n      \"description\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClickEdit\": {\n      \"description\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"readOnlyEdit\": {\n      \"description\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"stopEditingWhenCellsLoseFocus\": {\n      \"description\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enterMovesDown\": {\n      \"description\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enterMovesDownAfterEdit\": {\n      \"description\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellEditingOnBackspace\": {\n      \"description\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"undoRedoCellEditing\": {\n      \"description\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"undoRedoCellEditingLimit\": {\n      \"description\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"defaultCsvExportParams\": {\n      \"description\": \"/** A default configuration object used to export to CSV. */\",\n      \"type\": { \"returnType\": \"CsvExportParams\", \"optional\": true }\n    },\n    \"suppressCsvExport\": {\n      \"description\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"defaultExcelExportParams\": {\n      \"description\": \"/** A default configuration object used to export to Excel. */\",\n      \"type\": { \"returnType\": \"ExcelExportParams\", \"optional\": true }\n    },\n    \"suppressExcelExport\": {\n      \"description\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excelStyles\": {\n      \"description\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n      \"type\": { \"returnType\": \"ExcelStyle[]\", \"optional\": true }\n    },\n    \"quickFilterText\": {\n      \"description\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"cacheQuickFilter\": {\n      \"description\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excludeHiddenColumnsFromQuickFilter\": {\n      \"description\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excludeChildrenWhenTreeDataFiltering\": {\n      \"description\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCharts\": {\n      \"description\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartThemes\": {\n      \"description\": \"/** The list of chart themes to be used. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"customChartThemes\": {\n      \"description\": \"/** A map containing custom chart themes. */\",\n      \"type\": {\n        \"returnType\": \"{ [name: string]: AgChartTheme }\",\n        \"optional\": true\n      }\n    },\n    \"chartThemeOverrides\": {\n      \"description\": \"/** Chart theme overrides applied to all themes. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    },\n    \"enableChartToolPanelsButton\": {\n      \"description\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressChartToolPanelsButton\": {\n      \"description\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartToolPanelsDef\": {\n      \"description\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n      \"type\": { \"returnType\": \"ChartToolPanelsDef\", \"optional\": true }\n    },\n    \"loadingCellRenderer\": {\n      \"description\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererParams\": {\n      \"description\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererSelector\": {\n      \"description\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n      \"type\": {\n        \"returnType\": \"LoadingCellRendererSelectorFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"localeText\": {\n      \"description\": \"/** A map of key->value pairs for localising text within the grid. */\",\n      \"type\": { \"returnType\": \"{ [key: string]: string }\", \"optional\": true }\n    },\n    \"masterDetail\": {\n      \"description\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepDetailRows\": {\n      \"description\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepDetailRowsCount\": {\n      \"description\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"detailCellRenderer\": {\n      \"description\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailCellRendererParams\": {\n      \"description\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailRowHeight\": {\n      \"description\": \"/** Set fixed height in pixels for each detail row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"detailRowAutoHeight\": {\n      \"description\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"context\": {\n      \"description\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"alignedGrids\": {\n      \"description\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n      \"type\": {\n        \"returnType\": \"{ api?: GridApi | null, columnApi?: ColumnApi | null }[]\",\n        \"optional\": true\n      }\n    },\n    \"tabIndex\": {\n      \"description\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowBuffer\": {\n      \"description\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"valueCache\": {\n      \"description\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"valueCacheNeverExpires\": {\n      \"description\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellExpressions\": {\n      \"description\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressParentsInRowNodes\": {\n      \"description\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressTouch\": {\n      \"description\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFocusAfterRefresh\": {\n      \"description\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAsyncEvents\": {\n      \"description\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressBrowserResizeObserver\": {\n      \"description\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPropertyNamesCheck\": {\n      \"description\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressChangeDetection\": {\n      \"description\": \"/** Disables change detection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debug\": {\n      \"description\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"overlayLoadingTemplate\": {\n      \"description\": \"/** Provide a template for 'loading' overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"loadingOverlayComponent\": {\n      \"description\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingOverlayComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingOverlayComponentParams\": {\n      \"description\": \"/** Customise the parameters provided to the loading overlay component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressLoadingOverlay\": {\n      \"description\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"overlayNoRowsTemplate\": {\n      \"description\": \"/** Provide a template for 'no rows' overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"noRowsOverlayComponent\": {\n      \"description\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"noRowsOverlayComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"noRowsOverlayComponentParams\": {\n      \"description\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressNoRowsOverlay\": {\n      \"description\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pagination\": {\n      \"description\": \"/** Set whether pagination is enabled. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"paginationPageSize\": {\n      \"description\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"paginationAutoPageSize\": {\n      \"description\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"paginateChildRows\": {\n      \"description\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPaginationPanel\": {\n      \"description\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotMode\": {\n      \"description\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotPanelShow\": {\n      \"description\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n      \"type\": {\n        \"returnType\": \"'always' | 'onlyWhenPivoting' | 'never'\",\n        \"optional\": true\n      }\n    },\n    \"pivotColumnGroupTotals\": {\n      \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n      \"type\": { \"returnType\": \"'before' | 'after'\", \"optional\": true }\n    },\n    \"pivotRowTotals\": {\n      \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n      \"type\": { \"returnType\": \"'before' | 'after'\", \"optional\": true }\n    },\n    \"pivotSuppressAutoColumn\": {\n      \"description\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressExpandablePivotGroups\": {\n      \"description\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"functionsReadOnly\": {\n      \"description\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggFuncs\": {\n      \"description\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: IAggFunc<TData>; }\",\n        \"optional\": true\n      }\n    },\n    \"suppressAggFuncInHeader\": {\n      \"description\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAggAtRootLevel\": {\n      \"description\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggregateOnlyChangedColumns\": {\n      \"description\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAggFilteredOnly\": {\n      \"description\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"removePivotHeaderRowWhenSingleValueColumn\": {\n      \"description\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"animateRows\": {\n      \"description\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellChangeFlash\": {\n      \"description\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellFlashDelay\": {\n      \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cellFadeDelay\": {\n      \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"allowShowChangeAfterFilter\": {\n      \"description\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"domLayout\": {\n      \"description\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n      \"type\": { \"returnType\": \"DomLayoutType\", \"optional\": true }\n    },\n    \"ensureDomOrder\": {\n      \"description\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRtl\": {\n      \"description\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnVirtualisation\": {\n      \"description\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMaxRenderedRowRestriction\": {\n      \"description\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowVirtualisation\": {\n      \"description\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragManaged\": {\n      \"description\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowDrag\": {\n      \"description\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMoveWhenRowDragging\": {\n      \"description\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragEntireRow\": {\n      \"description\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragMultiRow\": {\n      \"description\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragText\": {\n      \"description\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IRowDragItem\", \"dragItemCount\": \"number\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"fullWidthCellRenderer\": {\n      \"description\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"fullWidthCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"fullWidthCellRendererParams\": {\n      \"description\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"embedFullWidthRows\": {\n      \"description\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupDisplayType\": {\n      \"description\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n      \"type\": { \"returnType\": \"RowGroupingDisplayType\", \"optional\": true }\n    },\n    \"groupDefaultExpanded\": {\n      \"description\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"autoGroupColumnDef\": {\n      \"description\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": true }\n    },\n    \"groupMaintainOrder\": {\n      \"description\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSelectsChildren\": {\n      \"description\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupAggFiltering\": {\n      \"description\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n      \"type\": {\n        \"returnType\": \"boolean | IsRowFilterable<TData>\",\n        \"optional\": true\n      }\n    },\n    \"groupIncludeFooter\": {\n      \"description\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupIncludeTotalFooter\": {\n      \"description\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSuppressBlankHeader\": {\n      \"description\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSelectsFiltered\": {\n      \"description\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showOpenedGroup\": {\n      \"description\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRemoveSingleChildren\": {\n      \"description\": \"/** Set to `true` to collapse groups that only have one child. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRemoveLowestSingleChildren\": {\n      \"description\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupHideOpenParents\": {\n      \"description\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupAllowUnbalanced\": {\n      \"description\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupPanelShow\": {\n      \"description\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n      \"type\": {\n        \"returnType\": \"'always' | 'onlyWhenGrouping' | 'never'\",\n        \"optional\": true\n      }\n    },\n    \"groupRowRenderer\": {\n      \"description\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupRowRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupRowRendererParams\": {\n      \"description\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressMakeColumnVisibleAfterUnGroup\": {\n      \"description\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"treeData\": {\n      \"description\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupPanelSuppressSort\": {\n      \"description\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRowsSticky\": {\n      \"description\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rememberGroupStateWhenNewData\": {\n      \"description\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pinnedTopRowData\": {\n      \"description\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"pinnedBottomRowData\": {\n      \"description\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"rowModelType\": {\n      \"description\": \"/** Sets the row model type. Default: `clientSide` */\",\n      \"type\": { \"returnType\": \"RowModelType\", \"optional\": true }\n    },\n    \"rowData\": {\n      \"description\": \"/** Set the data to be displayed as rows in the grid. */\",\n      \"type\": { \"returnType\": \"TData[] | null\", \"optional\": true }\n    },\n    \"immutableData\": {\n      \"description\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"asyncTransactionWaitMillis\": {\n      \"description\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressModelUpdateAfterUpdateTransaction\": {\n      \"description\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"datasource\": {\n      \"description\": \"/** Provide the datasource for infinite scrolling. */\",\n      \"type\": { \"returnType\": \"IDatasource\", \"optional\": true }\n    },\n    \"cacheOverflowSize\": {\n      \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"infiniteInitialRowCount\": {\n      \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"serverSideInitialRowCount\": {\n      \"description\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"serverSideStoreType\": {\n      \"description\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n      \"type\": { \"returnType\": \"ServerSideStoreType\", \"optional\": true }\n    },\n    \"suppressServerSideInfiniteScroll\": {\n      \"description\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cacheBlockSize\": {\n      \"description\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxBlocksInCache\": {\n      \"description\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxConcurrentDatasourceRequests\": {\n      \"description\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"blockLoadDebounceMillis\": {\n      \"description\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"purgeClosedRowNodes\": {\n      \"description\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideDatasource\": {\n      \"description\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n      \"type\": { \"returnType\": \"IServerSideDatasource\", \"optional\": true }\n    },\n    \"serverSideSortAllLevels\": {\n      \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilterAllLevels\": {\n      \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideSortOnServer\": {\n      \"description\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilterOnServer\": {\n      \"description\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideSortingAlwaysResets\": {\n      \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilteringAlwaysResets\": {\n      \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"viewportDatasource\": {\n      \"description\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n      \"type\": { \"returnType\": \"IViewportDatasource\", \"optional\": true }\n    },\n    \"viewportRowModelPageSize\": {\n      \"description\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"viewportRowModelBufferSize\": {\n      \"description\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"alwaysShowHorizontalScroll\": {\n      \"description\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowVerticalScroll\": {\n      \"description\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceVerticalScrollbar\": {\n      \"description\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressHorizontalScroll\": {\n      \"description\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressScrollOnNewData\": {\n      \"description\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressScrollWhenPopupsAreOpen\": {\n      \"description\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAnimationFrame\": {\n      \"description\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMiddleClickScrolls\": {\n      \"description\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPreventDefaultOnMouseWheel\": {\n      \"description\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"scrollbarWidth\": {\n      \"description\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowSelection\": {\n      \"description\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n      \"type\": { \"returnType\": \"'single' | 'multiple'\", \"optional\": true }\n    },\n    \"rowMultiSelectWithClick\": {\n      \"description\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowDeselection\": {\n      \"description\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowClickSelection\": {\n      \"description\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellSelection\": {\n      \"description\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellFocus\": {\n      \"description\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMultiRangeSelection\": {\n      \"description\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellTextSelection\": {\n      \"description\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRangeSelection\": {\n      \"description\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRangeHandle\": {\n      \"description\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableFillHandle\": {\n      \"description\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fillHandleDirection\": {\n      \"description\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n      \"type\": { \"returnType\": \"'x' | 'y' | 'xy'\", \"optional\": true }\n    },\n    \"suppressClearOnFillReduction\": {\n      \"description\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"sortingOrder\": {\n      \"description\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n      \"type\": { \"returnType\": \"(SortDirection)[]\", \"optional\": true }\n    },\n    \"accentedSort\": {\n      \"description\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"unSortIcon\": {\n      \"description\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMultiSort\": {\n      \"description\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysMultiSort\": {\n      \"description\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"multiSortKey\": {\n      \"description\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n      \"type\": { \"returnType\": \"'ctrl'\", \"optional\": true }\n    },\n    \"suppressMaintainUnsortedOrder\": {\n      \"description\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"icons\": {\n      \"description\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: Function | string; }\",\n        \"optional\": true\n      }\n    },\n    \"rowHeight\": {\n      \"description\": \"/** Default row height in pixels. Default: `25` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowStyle\": {\n      \"description\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n      \"type\": { \"returnType\": \"RowStyle\", \"optional\": true }\n    },\n    \"rowClass\": {\n      \"description\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n      \"type\": { \"returnType\": \"string | string[]\", \"optional\": true }\n    },\n    \"rowClassRules\": {\n      \"description\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"type\": { \"returnType\": \"RowClassRules<TData>\", \"optional\": true }\n    },\n    \"suppressRowHoverHighlight\": {\n      \"description\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowTransform\": {\n      \"description\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnHoverHighlight\": {\n      \"description\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"deltaSort\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"treeDataDisplayType\": {\n      \"type\": { \"returnType\": \"TreeDataDisplayType\", \"optional\": true }\n    },\n    \"functionsPassive\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableGroupEdit\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getContextMenuItems\": {\n      \"description\": \"/** For customising the context menu. */\",\n      \"type\": { \"returnType\": \"GetContextMenuItems<TData>\", \"optional\": true }\n    },\n    \"getMainMenuItems\": {\n      \"description\": \"/** For customising the main 'column header' menu. */\",\n      \"type\": { \"returnType\": \"GetMainMenuItems\", \"optional\": true }\n    },\n    \"postProcessPopup\": {\n      \"description\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PostProcessPopupParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processCellForClipboard\": {\n      \"description\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processHeaderForClipboard\": {\n      \"description\": \"/** Allows you to process header values for the clipboard.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessHeaderForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processGroupHeaderForClipboard\": {\n      \"description\": \"/** Allows you to process group header values for the clipboard.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processCellFromClipboard\": {\n      \"description\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"sendToClipboard\": {\n      \"description\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"SendToClipboardParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processDataFromClipboard\": {\n      \"description\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessDataFromClipboardParams<TData>\" },\n        \"returnType\": \"string[][] | null\",\n        \"optional\": true\n      }\n    },\n    \"isExternalFilterPresent\": {\n      \"description\": \"/** Grid calls this method to know if an external filter is present. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsExternalFilterPresentParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"doesExternalFilterPass\": {\n      \"description\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n      \"type\": {\n        \"arguments\": { \"node\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"getChartToolbarItems\": {\n      \"description\": \"/** Callback to be used to customise the chart toolbar items. */\",\n      \"type\": { \"returnType\": \"GetChartToolbarItems\", \"optional\": true }\n    },\n    \"createChartContainer\": {\n      \"description\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ChartRefParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"navigateToNextHeader\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"NavigateToNextHeaderParams<TData>\" },\n        \"returnType\": \"(HeaderPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"tabToNextHeader\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"TabToNextHeaderParams<TData>\" },\n        \"returnType\": \"(HeaderPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"navigateToNextCell\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"NavigateToNextCellParams<TData>\" },\n        \"returnType\": \"(CellPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"tabToNextCell\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"TabToNextCellParams<TData>\" },\n        \"returnType\": \"(CellPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"localeTextFunc\": {\n      \"description\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n      \"type\": {\n        \"arguments\": {\n          \"key\": \"string\",\n          \"defaultValue\": \"string\",\n          \"variableValues?\": \"string[]\"\n        },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getLocaleText\": {\n      \"description\": \"/** A callback for localising text within the grid. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetLocaleTextParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getDocument\": {\n      \"description\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"Document\", \"optional\": true }\n    },\n    \"paginationNumberFormatter\": {\n      \"description\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PaginationNumberFormatterParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"groupRowAggNodes\": {\n      \"description\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n      \"type\": {\n        \"arguments\": { \"nodes\": \"IRowNode[]\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"getGroupRowAgg\": {\n      \"description\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetGroupRowAggParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"isGroupOpenByDefault\": {\n      \"description\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsGroupOpenByDefaultParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"initialGroupOrderComparator\": {\n      \"description\": \"/** Allows default sorting of groups. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"InitialGroupOrderComparatorParams<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"defaultGroupOrderComparator\": {\n      \"description\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n      \"type\": {\n        \"arguments\": { \"nodeA\": \"IRowNode<TData>\", \"nodeB\": \"IRowNode<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"processSecondaryColDef\": {\n      \"description\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n      \"type\": {\n        \"arguments\": { \"colDef\": \"ColDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processSecondaryColGroupDef\": {\n      \"description\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n      \"type\": {\n        \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processPivotResultColDef\": {\n      \"description\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n      \"type\": {\n        \"arguments\": { \"colDef\": \"ColDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processPivotResultColGroupDef\": {\n      \"description\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n      \"type\": {\n        \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getDataPath\": {\n      \"description\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n      \"type\": { \"returnType\": \"GetDataPath<TData>\", \"optional\": true }\n    },\n    \"getChildCount\": {\n      \"description\": \"/** Allows setting the child count for a group row. */\",\n      \"type\": {\n        \"arguments\": { \"dataItem\": \"any\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"getServerSideGroupLevelParams\": {\n      \"description\": \"/** Allows providing different params for different levels of grouping. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n        \"returnType\": \"ServerSideGroupLevelParams\",\n        \"optional\": true\n      }\n    },\n    \"getServerSideStoreParams\": {\n      \"description\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n        \"returnType\": \"ServerSideGroupLevelParams\",\n        \"optional\": true\n      }\n    },\n    \"isServerSideGroupOpenByDefault\": {\n      \"description\": \"/** Allows groups to be open by default. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsServerSideGroupOpenByDefaultParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"isApplyServerSideTransaction\": {\n      \"description\": \"/** Allows cancelling transactions. */\",\n      \"type\": { \"returnType\": \"IsApplyServerSideTransaction\", \"optional\": true }\n    },\n    \"isServerSideGroup\": {\n      \"description\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n      \"type\": { \"returnType\": \"IsServerSideGroup\", \"optional\": true }\n    },\n    \"getServerSideGroupKey\": {\n      \"description\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n      \"type\": { \"returnType\": \"GetServerSideGroupKey\", \"optional\": true }\n    },\n    \"getBusinessKeyForNode\": {\n      \"description\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"node\": \"IRowNode<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getRowNodeId\": {\n      \"description\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n      \"type\": { \"returnType\": \"GetRowNodeIdFunc<TData>\", \"optional\": true }\n    },\n    \"getRowId\": {\n      \"description\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n      \"type\": { \"returnType\": \"GetRowIdFunc<TData>\", \"optional\": true }\n    },\n    \"resetRowDataOnUpdate\": {\n      \"description\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"processRowPostCreate\": {\n      \"description\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"isRowSelectable\": {\n      \"description\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n      \"type\": { \"returnType\": \"IsRowSelectable<TData>\", \"optional\": true }\n    },\n    \"isRowMaster\": {\n      \"description\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n      \"type\": { \"returnType\": \"IsRowMaster<TData>\", \"optional\": true }\n    },\n    \"fillOperation\": {\n      \"description\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"FillOperationParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"postSort\": {\n      \"description\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n      \"type\": {\n        \"arguments\": { \"nodes\": \"IRowNode<TData>[]\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"postSortRows\": {\n      \"description\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PostSortRowsParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getRowStyle\": {\n      \"description\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n        \"returnType\": \"RowStyle | undefined\",\n        \"optional\": true\n      }\n    },\n    \"getRowClass\": {\n      \"description\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n        \"returnType\": \"string | string[] | undefined\",\n        \"optional\": true\n      }\n    },\n    \"getRowHeight\": {\n      \"description\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowHeightParams<TData>\" },\n        \"returnType\": \"number | undefined | null\",\n        \"optional\": true\n      }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"isFullWidthRow\": {\n      \"description\": \"/** Tells the grid if this row should be rendered as full width. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsFullWidthRowParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"onToolPanelVisibleChanged\": {\n      \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n    },\n    \"toolPanelVisibleChanged\": {\n      \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n    },\n    \"onToolPanelSizeChanged\": {\n      \"description\": \"/** The tool panel size has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n    },\n    \"toolPanelSizeChanged\": {\n      \"description\": \"/** The tool panel size has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n    },\n    \"onPasteStart\": {\n      \"description\": \"/** Paste operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n    },\n    \"pasteStart\": {\n      \"description\": \"/** Paste operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n    },\n    \"onPasteEnd\": {\n      \"description\": \"/** Paste operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n    },\n    \"pasteEnd\": {\n      \"description\": \"/** Paste operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n    },\n    \"onColumnVisible\": {\n      \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n    },\n    \"columnVisible\": {\n      \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n    },\n    \"onColumnPinned\": {\n      \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n    },\n    \"columnPinned\": {\n      \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n    },\n    \"onColumnResized\": {\n      \"description\": \"/** A column was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n    },\n    \"columnResized\": {\n      \"description\": \"/** A column was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n    },\n    \"onColumnMoved\": {\n      \"description\": \"/** A column was moved. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n    },\n    \"columnMoved\": {\n      \"description\": \"/** A column was moved. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n    },\n    \"onColumnValueChanged\": {\n      \"description\": \"/** A value column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n    },\n    \"columnValueChanged\": {\n      \"description\": \"/** A value column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n    },\n    \"onColumnPivotModeChanged\": {\n      \"description\": \"/** The pivot mode flag was changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n    },\n    \"columnPivotModeChanged\": {\n      \"description\": \"/** The pivot mode flag was changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n    },\n    \"onColumnPivotChanged\": {\n      \"description\": \"/** A pivot column was added, removed or order changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n    },\n    \"columnPivotChanged\": {\n      \"description\": \"/** A pivot column was added, removed or order changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n    },\n    \"onColumnGroupOpened\": {\n      \"description\": \"/** A column group was opened / closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n    },\n    \"columnGroupOpened\": {\n      \"description\": \"/** A column group was opened / closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n    },\n    \"onNewColumnsLoaded\": {\n      \"description\": \"/** User set new columns. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n    },\n    \"newColumnsLoaded\": {\n      \"description\": \"/** User set new columns. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n    },\n    \"onGridColumnsChanged\": {\n      \"description\": \"/** The list of grid columns changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n    },\n    \"gridColumnsChanged\": {\n      \"description\": \"/** The list of grid columns changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n    },\n    \"onDisplayedColumnsChanged\": {\n      \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n    },\n    \"displayedColumnsChanged\": {\n      \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n    },\n    \"onVirtualColumnsChanged\": {\n      \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n    },\n    \"virtualColumnsChanged\": {\n      \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n    },\n    \"onColumnEverythingChanged\": {\n      \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n    },\n    \"columnEverythingChanged\": {\n      \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n    },\n    \"onComponentStateChanged\": {\n      \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n    },\n    \"componentStateChanged\": {\n      \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n    },\n    \"onCellValueChanged\": {\n      \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n    },\n    \"cellValueChanged\": {\n      \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n    },\n    \"onCellEditRequest\": {\n      \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n    },\n    \"cellEditRequest\": {\n      \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n    },\n    \"onRowValueChanged\": {\n      \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n    },\n    \"rowValueChanged\": {\n      \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n    },\n    \"onCellEditingStarted\": {\n      \"description\": \"/** Editing a cell has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n    },\n    \"cellEditingStarted\": {\n      \"description\": \"/** Editing a cell has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n    },\n    \"onCellEditingStopped\": {\n      \"description\": \"/** Editing a cell has stopped. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n    },\n    \"cellEditingStopped\": {\n      \"description\": \"/** Editing a cell has stopped. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n    },\n    \"onRowEditingStarted\": {\n      \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n    },\n    \"rowEditingStarted\": {\n      \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n    },\n    \"onRowEditingStopped\": {\n      \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n    },\n    \"rowEditingStopped\": {\n      \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n    },\n    \"onUndoStarted\": {\n      \"description\": \"/** Undo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n    },\n    \"undoStarted\": {\n      \"description\": \"/** Undo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n    },\n    \"onUndoEnded\": {\n      \"description\": \"/** Undo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n    },\n    \"undoEnded\": {\n      \"description\": \"/** Undo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n    },\n    \"onRedoStarted\": {\n      \"description\": \"/** Redo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n    },\n    \"redoStarted\": {\n      \"description\": \"/** Redo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n    },\n    \"onRedoEnded\": {\n      \"description\": \"/** Redo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n    },\n    \"redoEnded\": {\n      \"description\": \"/** Redo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n    },\n    \"onFilterOpened\": {\n      \"description\": \"/** Filter has been opened. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n    },\n    \"filterOpened\": {\n      \"description\": \"/** Filter has been opened. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n    },\n    \"onFilterChanged\": {\n      \"description\": \"/** Filter has been modified and applied. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n    },\n    \"filterChanged\": {\n      \"description\": \"/** Filter has been modified and applied. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n    },\n    \"onFilterModified\": {\n      \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n    },\n    \"filterModified\": {\n      \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n    },\n    \"onChartCreated\": {\n      \"description\": \"/** A chart has been created. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n    },\n    \"chartCreated\": {\n      \"description\": \"/** A chart has been created. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n    },\n    \"onChartRangeSelectionChanged\": {\n      \"description\": \"/** The data range for the chart has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n    },\n    \"chartRangeSelectionChanged\": {\n      \"description\": \"/** The data range for the chart has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n    },\n    \"onChartOptionsChanged\": {\n      \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n    },\n    \"chartOptionsChanged\": {\n      \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n    },\n    \"onChartDestroyed\": {\n      \"description\": \"/** A chart has been destroyed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n    },\n    \"chartDestroyed\": {\n      \"description\": \"/** A chart has been destroyed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n    },\n    \"onCellKeyDown\": {\n      \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n    },\n    \"cellKeyDown\": {\n      \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n    },\n    \"onCellKeyPress\": {\n      \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n    },\n    \"cellKeyPress\": {\n      \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n    },\n    \"onGridReady\": {\n      \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n    },\n    \"gridReady\": {\n      \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n    },\n    \"onFirstDataRendered\": {\n      \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n    },\n    \"firstDataRendered\": {\n      \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n    },\n    \"onGridSizeChanged\": {\n      \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n    },\n    \"gridSizeChanged\": {\n      \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n    },\n    \"onModelUpdated\": {\n      \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n    },\n    \"modelUpdated\": {\n      \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n    },\n    \"onVirtualRowRemoved\": {\n      \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n    },\n    \"virtualRowRemoved\": {\n      \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n    },\n    \"onViewportChanged\": {\n      \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n    },\n    \"viewportChanged\": {\n      \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n    },\n    \"onBodyScroll\": {\n      \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n    },\n    \"bodyScroll\": {\n      \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n    },\n    \"onBodyScrollEnd\": {\n      \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n    },\n    \"bodyScrollEnd\": {\n      \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n    },\n    \"onDragStarted\": {\n      \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n    },\n    \"dragStarted\": {\n      \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n    },\n    \"onDragStopped\": {\n      \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n    },\n    \"dragStopped\": {\n      \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n    },\n    \"onPaginationChanged\": {\n      \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n    },\n    \"paginationChanged\": {\n      \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n    },\n    \"onRowDragEnter\": {\n      \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n    },\n    \"rowDragEnter\": {\n      \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n    },\n    \"onRowDragMove\": {\n      \"description\": \"/** The mouse has moved while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n    },\n    \"rowDragMove\": {\n      \"description\": \"/** The mouse has moved while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n    },\n    \"onRowDragLeave\": {\n      \"description\": \"/** The mouse has left the grid while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n    },\n    \"rowDragLeave\": {\n      \"description\": \"/** The mouse has left the grid while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n    },\n    \"onRowDragEnd\": {\n      \"description\": \"/** The drag has finished over the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n    },\n    \"rowDragEnd\": {\n      \"description\": \"/** The drag has finished over the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n    },\n    \"onColumnRowGroupChanged\": {\n      \"description\": \"/** A row group column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n    },\n    \"columnRowGroupChanged\": {\n      \"description\": \"/** A row group column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n    },\n    \"onRowGroupOpened\": {\n      \"description\": \"/** A row group was opened or closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"rowGroupOpened\": {\n      \"description\": \"/** A row group was opened or closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"onExpandOrCollapseAll\": {\n      \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n    },\n    \"expandOrCollapseAll\": {\n      \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n    },\n    \"onPinnedRowDataChanged\": {\n      \"description\": \"/** The client has set new pinned row data into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n    },\n    \"pinnedRowDataChanged\": {\n      \"description\": \"/** The client has set new pinned row data into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n    },\n    \"onRowDataChanged\": {\n      \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n    },\n    \"rowDataChanged\": {\n      \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n    },\n    \"onRowDataUpdated\": {\n      \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n    },\n    \"rowDataUpdated\": {\n      \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n    },\n    \"onAsyncTransactionsFlushed\": {\n      \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n    },\n    \"asyncTransactionsFlushed\": {\n      \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n    },\n    \"onStoreRefreshed\": {\n      \"description\": \"/** A server side store has finished refreshing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n    },\n    \"storeRefreshed\": {\n      \"description\": \"/** A server side store has finished refreshing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n    },\n    \"onCellClicked\": {\n      \"description\": \"/** Cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n    },\n    \"cellClicked\": {\n      \"description\": \"/** Cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n    },\n    \"onCellDoubleClicked\": {\n      \"description\": \"/** Cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n    },\n    \"cellDoubleClicked\": {\n      \"description\": \"/** Cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n    },\n    \"onCellFocused\": {\n      \"description\": \"/** Cell is focused. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n    },\n    \"cellFocused\": {\n      \"description\": \"/** Cell is focused. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n    },\n    \"onCellMouseOver\": {\n      \"description\": \"/** Mouse entered cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n    },\n    \"cellMouseOver\": {\n      \"description\": \"/** Mouse entered cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n    },\n    \"onCellMouseOut\": {\n      \"description\": \"/** Mouse left cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n    },\n    \"cellMouseOut\": {\n      \"description\": \"/** Mouse left cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n    },\n    \"onCellMouseDown\": {\n      \"description\": \"/** Mouse down on cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n    },\n    \"cellMouseDown\": {\n      \"description\": \"/** Mouse down on cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n    },\n    \"onRowClicked\": {\n      \"description\": \"/** Row is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n    },\n    \"rowClicked\": {\n      \"description\": \"/** Row is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n    },\n    \"onRowDoubleClicked\": {\n      \"description\": \"/** Row is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n    },\n    \"rowDoubleClicked\": {\n      \"description\": \"/** Row is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n    },\n    \"onRowSelected\": {\n      \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n    },\n    \"rowSelected\": {\n      \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n    },\n    \"onSelectionChanged\": {\n      \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n    },\n    \"selectionChanged\": {\n      \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n    },\n    \"onCellContextMenu\": {\n      \"description\": \"/** Cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n    },\n    \"cellContextMenu\": {\n      \"description\": \"/** Cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n    },\n    \"onRangeSelectionChanged\": {\n      \"description\": \"/** A change to range selection has occurred. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n    },\n    \"rangeSelectionChanged\": {\n      \"description\": \"/** A change to range selection has occurred. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n    },\n    \"onSortChanged\": {\n      \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n    },\n    \"sortChanged\": {\n      \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n    },\n    \"onColumnRowGroupChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n    },\n    \"columnRowGroupChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n    },\n    \"onColumnPivotChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n    },\n    \"columnPivotChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n    },\n    \"onColumnValueChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n    },\n    \"columnValueChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n    },\n    \"onColumnAggFuncChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n    },\n    \"columnAggFuncChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n    },\n    \"api\": {\n      \"description\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"type\": { \"returnType\": \"GridApi<TData> | null\", \"optional\": true }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"type\": { \"returnType\": \"ColumnApi | null\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"RowGroupingDisplayType\": {},\n  \"TreeDataDisplayType\": {},\n  \"GetDataPath\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IsServerSideGroup\": {},\n  \"IsRowFilterable\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IsApplyServerSideTransaction\": {},\n  \"GetServerSideGroupKey\": {},\n  \"IsRowMaster\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IsRowSelectable\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"RowClassRules\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"RowStyle\": {},\n  \"RowClassParams\": {\n    \"data\": {\n      \"description\": \"/** The data associated with this row from rowData. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The RowNode associated with this row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The index of the row */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"GetContextMenuItems\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"GetChartToolbarItems\": {},\n  \"MenuItemLeafDef\": {\n    \"name\": {\n      \"description\": \"/** Name of the menu item */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"disabled\": {\n      \"description\": \"/** It the item should be enabled / disabled */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shortcut\": {\n      \"description\": \"/** Shortcut (just display text, saying the shortcut here does nothing) */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"action\": {\n      \"description\": \"/** Function that gets executed when item is chosen */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"checked\": {\n      \"description\": \"/** Set to true to provide a check beside the option */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"icon\": {\n      \"description\": \"/** The icon to display, either a DOM element or HTML string */\",\n      \"type\": { \"returnType\": \"Element | string\", \"optional\": true }\n    },\n    \"cssClasses\": {\n      \"description\": \"/** CSS classes to apply to the menu item */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Tooltip for the menu item */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"MenuItemDef\": {\n    \"subMenu\": {\n      \"description\": \"/** If this item is a sub menu, contains a list of menu item definitions */\",\n      \"type\": { \"returnType\": \"(MenuItemDef | string)[]\", \"optional\": true }\n    },\n    \"name\": {\n      \"description\": \"/** Name of the menu item */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"disabled\": {\n      \"description\": \"/** It the item should be enabled / disabled */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shortcut\": {\n      \"description\": \"/** Shortcut (just display text, saying the shortcut here does nothing) */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"action\": {\n      \"description\": \"/** Function that gets executed when item is chosen */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"checked\": {\n      \"description\": \"/** Set to true to provide a check beside the option */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"icon\": {\n      \"description\": \"/** The icon to display, either a DOM element or HTML string */\",\n      \"type\": { \"returnType\": \"Element | string\", \"optional\": true }\n    },\n    \"cssClasses\": {\n      \"description\": \"/** CSS classes to apply to the menu item */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Tooltip for the menu item */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"GetMainMenuItems\": {},\n  \"GetRowNodeIdFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"GetRowIdFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"ChartRef\": {\n    \"chartId\": {\n      \"description\": \"/** The id of the created chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"chart\": {\n      \"description\": \"/** The chart instance that is produced by AG Charts which can be used to interact with the chart directly. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"chartElement\": {\n      \"description\": \"/** The chart DOM element, which the application is responsible for placing into the DOM. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"destroyChart\": {\n      \"description\": \"/** The application is responsible for calling this when the chart is no longer needed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"ChartRefParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"chartId\": {\n      \"description\": \"/** The id of the created chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"chart\": {\n      \"description\": \"/** The chart instance that is produced by AG Charts which can be used to interact with the chart directly. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"chartElement\": {\n      \"description\": \"/** The chart DOM element, which the application is responsible for placing into the DOM. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"destroyChart\": {\n      \"description\": \"/** The application is responsible for calling this when the chart is no longer needed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"ServerSideStoreType\": {},\n  \"ServerSideGroupLevelParams\": {\n    \"storeType\": {\n      \"description\": \"/** @deprecated\\n     * What store type to use.\\n     * If missing, then defaults to grid option `serverSideStoreType`.\\n     * Deprecated in favor of infiniteScroll.\\n     * If suppressInfiniteScroll==false, then Partial Store is used.\\n     * If suppressInfiniteScroll==false, then Full Store is used.\\n     *  */\",\n      \"type\": { \"returnType\": \"ServerSideStoreType\", \"optional\": true }\n    },\n    \"suppressInfiniteScroll\": {\n      \"description\": \"/** Whether to have infinite scroll active or not for the level.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"maxBlocksInCache\": {\n      \"description\": \"/** For Infinite Scroll only.\\n     * How many blocks to keep in cache.\\n     * If missing, defaults to grid options `maxBlocksInCache`.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cacheBlockSize\": {\n      \"description\": \"/** For Infinite Scroll only.\\n     * Cache block size.\\n     * If missing, defaults to grid options `cacheBlockSize`.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"ServerSideStoreParams\": {\n    \"storeType\": {\n      \"description\": \"/** @deprecated\\n     * What store type to use.\\n     * If missing, then defaults to grid option `serverSideStoreType`.\\n     * Deprecated in favor of infiniteScroll.\\n     * If suppressInfiniteScroll==false, then Partial Store is used.\\n     * If suppressInfiniteScroll==false, then Full Store is used.\\n     *  */\",\n      \"type\": { \"returnType\": \"ServerSideStoreType\", \"optional\": true }\n    },\n    \"suppressInfiniteScroll\": {\n      \"description\": \"/** Whether to have infinite scroll active or not for the level.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"maxBlocksInCache\": {\n      \"description\": \"/** For Infinite Scroll only.\\n     * How many blocks to keep in cache.\\n     * If missing, defaults to grid options `maxBlocksInCache`.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cacheBlockSize\": {\n      \"description\": \"/** For Infinite Scroll only.\\n     * Cache block size.\\n     * If missing, defaults to grid options `cacheBlockSize`.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"LoadingCellRendererSelectorFunc\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"LoadingCellRendererSelectorResult\": {\n    \"component\": {\n      \"description\": \"/** Equivalent of setting `loadingCellRenderer` */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"frameworkComponent\": {\n      \"description\": \"/** @deprecated As of v27, use `component` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"params\": {\n      \"description\": \"/** Equivalent of setting `loadingCellRendererParams` */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    }\n  },\n  \"DomLayoutType\": {},\n  \"RowPosition\": {\n    \"rowIndex\": {\n      \"description\": \"/** A positive number from 0 to n, where n is the last row the grid is rendering\\n    * or -1 if you want to navigate to the grid header */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null/undefined (for not pinned) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    }\n  },\n  \"SASS_PROPERTIES\": {},\n  \"HardCodedSize\": {},\n  \"ModelUpdatedEvent\": {\n    \"animate\": {\n      \"description\": \"/** If true, the grid will try and animate the rows to the new positions */\",\n      \"type\": { \"returnType\": \"boolean | undefined\", \"optional\": false }\n    },\n    \"keepRenderedRows\": {\n      \"description\": \"/** If true, the grid has new data loaded, eg user called setRowData(), otherwise\\n     * it's the same data but sorted or filtered, in which case this is true, and rows\\n     * can animate around (eg rowNode id 24 is the same row node as last time). */\",\n      \"type\": { \"returnType\": \"boolean | undefined\", \"optional\": false }\n    },\n    \"newData\": {\n      \"description\": \"/** If true, then this update was a result of setRowData() getting called. This\\n     * gets the grid to scroll to the top again. */\",\n      \"type\": { \"returnType\": \"boolean | undefined\", \"optional\": false }\n    },\n    \"newPage\": {\n      \"description\": \"/** True when pagination and a new page is navigated to. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"keepUndoRedoStack\": {\n      \"description\": \"/** true if all we did is changed row height, data still the same, no need to clear the undo/redo stacks */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"PaginationChangedEvent\": {\n    \"animate\": {\n      \"description\": \"/** True if rows were animated to new position */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepRenderedRows\": {\n      \"description\": \"/** True if rows were kept (otherwise complete redraw) */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"newData\": {\n      \"description\": \"/** True if data was new (i.e user set new data) */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"newPage\": {\n      \"description\": \"/** True if user went to a new page */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgEvent\": {\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgGridEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ToolPanelVisibleChangedEvent\": {\n    \"source\": {\n      \"type\": { \"returnType\": \"string | undefined\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"InternalToolPanelVisibleChangedEvent\": {\n    \"source\": {\n      \"type\": {\n        \"returnType\": \"'sideBarButtonClicked' | 'sideBarInitializing' | 'api'\",\n        \"optional\": false\n      }\n    },\n    \"key\": {\n      \"description\": \"/** Key of tool panel. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"visible\": {\n      \"description\": \"/** True if now visible; false if now hidden. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ToolPanelSizeChangedEvent\": {\n    \"type\": {\n      \"type\": { \"returnType\": \"'toolPanelSizeChanged'\", \"optional\": false }\n    },\n    \"started\": {\n      \"description\": \"/** True if this is the first change to the Tool Panel size. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"ended\": {\n      \"description\": \"/** True if this is the last change to the Tool Panel size. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"width\": {\n      \"description\": \"/** New width of the ToolPanel component. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ColumnPivotModeChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"VirtualColumnsChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnEverythingChangedEvent\": {\n    \"source\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"NewColumnsLoadedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"GridColumnsChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"DisplayedColumnsChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowDataChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowDataUpdatedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"PinnedRowDataChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"SelectionEventSourceType\": {},\n  \"SelectionChangedEvent\": {\n    \"source\": {\n      \"type\": { \"returnType\": \"SelectionEventSourceType\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FilterChangedEvent\": {\n    \"afterDataChange\": {\n      \"description\": \"/** True if the filter was changed as a result of data changing */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"afterFloatingFilter\": {\n      \"description\": \"/** True if filter was changed via floating filter */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** Columns affected by the filter change. Array contents depend on the source of the event.\\n     *\\n     * - Expect 1 element for UI-driven column filter changes.\\n     * - Expect 0-N elements (all affected columns) for calls to `gridOptions.api.setFilterModel()`.\\n     * - Expect 0-N elements (removed columns) for calls to `gridOptions.api.setColumnDefs()`.\\n     * - Expect 0 elements for quick-filters and calls to `gridOptions.api.onFilterChanged()`.\\n     */\",\n      \"type\": { \"returnType\": \"Column[]\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FilterModifiedEvent\": {\n    \"filterInstance\": {\n      \"type\": { \"returnType\": \"IFilterComp\", \"optional\": false }\n    },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FilterOpenedEvent\": {\n    \"column\": {\n      \"description\": \"/** Column / OriginalColumnGroup that contains the filter */\",\n      \"type\": {\n        \"returnType\": \"Column | ProvidedColumnGroup\",\n        \"optional\": false\n      }\n    },\n    \"source\": {\n      \"description\": \"/** Source of the open request */\",\n      \"type\": { \"returnType\": \"FilterRequestSource\", \"optional\": false }\n    },\n    \"eGui\": {\n      \"description\": \"/** Parent element of the filter */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FilterDestroyedEvent\": {\n    \"source\": {\n      \"type\": {\n        \"returnType\": \"'api' | 'columnChanged' | 'gridDestroyed'\",\n        \"optional\": false\n      }\n    },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"SortChangedEvent\": {\n    \"source\": {\n      \"description\": \"/** Source of the sort change. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"GridReadyEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"DisplayedColumnsWidthChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnHoverChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"BodyHeightChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ComponentStateChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnPanelItemDragStartEvent\": {\n    \"column\": {\n      \"type\": {\n        \"returnType\": \"Column | ProvidedColumnGroup\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnPanelItemDragEndEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AgDragEvent\": {\n    \"target\": {\n      \"description\": \"/** The DOM element that started the event. */\",\n      \"type\": { \"returnType\": \"Element\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"DragStartedEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"'dragStarted'\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"target\": {\n      \"description\": \"/** The DOM element that started the event. */\",\n      \"type\": { \"returnType\": \"Element\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"DragStoppedEvent\": {\n    \"type\": { \"type\": { \"returnType\": \"'dragStopped'\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"target\": {\n      \"description\": \"/** The DOM element that started the event. */\",\n      \"type\": { \"returnType\": \"Element\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"CheckboxChangedEvent\": {\n    \"id\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"name\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"selected\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"previousValue\": {\n      \"type\": { \"returnType\": \"boolean | undefined\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"GridSizeChangedEvent\": {\n    \"clientWidth\": {\n      \"description\": \"/** The grid's DIV's clientWidth */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"clientHeight\": {\n      \"description\": \"/** The grid's DIV's clientHeight */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowDragEvent\": {\n    \"type\": {\n      \"description\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"nodes\": {\n      \"description\": \"/** The list of nodes being dragged. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"type\": { \"returnType\": \"MouseEvent\", \"optional\": false }\n    },\n    \"eventPath\": {\n      \"description\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"vDirection\": {\n      \"description\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"overIndex\": {\n      \"description\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"overNode\": {\n      \"description\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": true }\n    },\n    \"y\": {\n      \"description\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"RowDragEnterEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"description\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"nodes\": {\n      \"description\": \"/** The list of nodes being dragged. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"type\": { \"returnType\": \"MouseEvent\", \"optional\": false }\n    },\n    \"eventPath\": {\n      \"description\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"vDirection\": {\n      \"description\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"overIndex\": {\n      \"description\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"overNode\": {\n      \"description\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": true }\n    },\n    \"y\": {\n      \"description\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"RowDragEndEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"description\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"nodes\": {\n      \"description\": \"/** The list of nodes being dragged. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"type\": { \"returnType\": \"MouseEvent\", \"optional\": false }\n    },\n    \"eventPath\": {\n      \"description\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"vDirection\": {\n      \"description\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"overIndex\": {\n      \"description\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"overNode\": {\n      \"description\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": true }\n    },\n    \"y\": {\n      \"description\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"RowDragMoveEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"description\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"nodes\": {\n      \"description\": \"/** The list of nodes being dragged. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"type\": { \"returnType\": \"MouseEvent\", \"optional\": false }\n    },\n    \"eventPath\": {\n      \"description\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"vDirection\": {\n      \"description\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"overIndex\": {\n      \"description\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"overNode\": {\n      \"description\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": true }\n    },\n    \"y\": {\n      \"description\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"RowDragLeaveEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"type\": {\n      \"description\": \"/** Event identifier: One of rowDragEnter, rowDragMove, rowDragEnd, rowDragLeave */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node getting dragged. Also the node that started the drag when multi-row dragging. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"nodes\": {\n      \"description\": \"/** The list of nodes being dragged. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** The underlying mouse move event associated with the drag. */\",\n      \"type\": { \"returnType\": \"MouseEvent\", \"optional\": false }\n    },\n    \"eventPath\": {\n      \"description\": \"/** The `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"vDirection\": {\n      \"description\": \"/** Direction of the drag, either `'up'`, `'down'` or `null` (if mouse is moving horizontally and not vertically). */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"overIndex\": {\n      \"description\": \"/** The row index the mouse is dragging over or -1 if over no row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"overNode\": {\n      \"description\": \"/** The row node the mouse is dragging over or undefined if over no row. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": true }\n    },\n    \"y\": {\n      \"description\": \"/** The vertical pixel location the mouse is over, with `0` meaning the top of the first row.\\n     * This can be compared to the `rowNode.rowHeight` and `rowNode.rowTop` to work out the mouse position relative to rows.\\n     * The provided attributes `overIndex` and `overNode` means the `y` property is mostly redundant.\\n     * The `y` property can be handy if you want more information such as 'how close is the mouse to the top or bottom of the row?'\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"PasteStartEvent\": {\n    \"source\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"PasteEndEvent\": {\n    \"source\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FillStartEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FillEndEvent\": {\n    \"initialRange\": {\n      \"type\": { \"returnType\": \"CellRange\", \"optional\": false }\n    },\n    \"finalRange\": { \"type\": { \"returnType\": \"CellRange\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"UndoStartedEvent\": {\n    \"source\": {\n      \"description\": \"/** Source of the event. `api` if via API method. `ui` if via keyboard shortcut. */\",\n      \"type\": { \"returnType\": \"'api' | 'ui'\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"UndoEndedEvent\": {\n    \"source\": {\n      \"description\": \"/** Source of the event. `api` if via API method. `ui` if via keyboard shortcut. */\",\n      \"type\": { \"returnType\": \"'api' | 'ui'\", \"optional\": false }\n    },\n    \"operationPerformed\": {\n      \"description\": \"/** `true` if any undo operations were performed. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RedoStartedEvent\": {\n    \"source\": {\n      \"description\": \"/** Source of the event. `api` if via API method. `ui` if via keyboard shortcut. */\",\n      \"type\": { \"returnType\": \"'api' | 'ui'\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RedoEndedEvent\": {\n    \"source\": {\n      \"description\": \"/** Source of the event. `api` if via API method. `ui` if via keyboard shortcut. */\",\n      \"type\": { \"returnType\": \"'api' | 'ui'\", \"optional\": false }\n    },\n    \"operationPerformed\": {\n      \"description\": \"/** `true` if any redo operations were performed. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ViewportChangedEvent\": {\n    \"firstRow\": {\n      \"description\": \"/** Index of the first rendered row */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"lastRow\": {\n      \"description\": \"/** Index of the last rendered row */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FirstDataRenderedEvent\": {\n    \"firstRow\": {\n      \"description\": \"/** Index of the first rendered row */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"lastRow\": {\n      \"description\": \"/** Index of the last rendered row */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RangeSelectionChangedEvent\": {\n    \"id\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"started\": {\n      \"description\": \"/** True for the first change event, otherwise false */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"finished\": {\n      \"description\": \"/** True for the last change event, otherwise false */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ChartCreated\": {\n    \"type\": {\n      \"description\": \"/** Will always be `chartCreated`. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"chartId\": {\n      \"description\": \"/** Id of the created chart. This can later be used to reference the chart via api methods. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ChartRangeSelectionChanged\": {\n    \"type\": {\n      \"description\": \"/** Will always be `chartRangeSelectionChanged`. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"chartId\": {\n      \"description\": \"/** Id of the effected chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"id\": {\n      \"description\": \"/** Same as `chartId`. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"cellRange\": {\n      \"description\": \"/** New cellRange selected. */\",\n      \"type\": { \"returnType\": \"CellRangeParams\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ChartOptionsChanged\": {\n    \"type\": {\n      \"description\": \"/** Will always be `chartOptionsChanged`. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"chartId\": {\n      \"description\": \"/** Id of the effected chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"chartType\": {\n      \"description\": \"/** ChartType */\",\n      \"type\": { \"returnType\": \"ChartType\", \"optional\": false }\n    },\n    \"chartThemeName\": {\n      \"description\": \"/** Chart theme name of currently selected theme. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"chartOptions\": {\n      \"description\": \"/** Chart options.  */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ChartDestroyed\": {\n    \"type\": {\n      \"description\": \"/** Will always be `chartDestroyed`. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"chartId\": {\n      \"description\": \"/** Id of the effected chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ColumnGroupOpenedEvent\": {\n    \"columnGroup\": {\n      \"type\": { \"returnType\": \"ProvidedColumnGroup\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ItemsAddedEvent\": {\n    \"items\": {\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ScrollDirection\": {},\n  \"BodyScrollEvent\": {\n    \"direction\": {\n      \"type\": { \"returnType\": \"ScrollDirection\", \"optional\": false }\n    },\n    \"left\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"top\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"BodyScrollEndEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"direction\": {\n      \"type\": { \"returnType\": \"ScrollDirection\", \"optional\": false }\n    },\n    \"left\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"top\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FlashCellsEvent\": {\n    \"cells\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"PaginationPixelOffsetChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CommonCellFocusParams\": {\n    \"rowIndex\": {\n      \"description\": \"/** Row index of the focused cell */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column of the focused cell */\",\n      \"type\": { \"returnType\": \"Column | string | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** Whether the cell a full width cell or a regular cell */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"CellFocusClearedParams\": {\n    \"rowIndex\": {\n      \"description\": \"/** Row index of the focused cell */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column of the focused cell */\",\n      \"type\": { \"returnType\": \"Column | string | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** Whether the cell a full width cell or a regular cell */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"CellFocusedParams\": {\n    \"forceBrowserFocus\": {\n      \"description\": \"/** Whether browser focus is also set (false when editing) */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"preventScrollOnBrowserFocus\": {\n      \"description\": \"/** When `forceBrowserFocus` is `true`, should scroll be prevented */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"floating\": { \"type\": { \"returnType\": \"string | null\", \"optional\": true } },\n    \"rowIndex\": {\n      \"description\": \"/** Row index of the focused cell */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column of the focused cell */\",\n      \"type\": { \"returnType\": \"Column | string | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** Whether the cell a full width cell or a regular cell */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"CellFocusClearedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** Row index of the focused cell */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column of the focused cell */\",\n      \"type\": { \"returnType\": \"Column | string | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** Whether the cell a full width cell or a regular cell */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"CellFocusedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"forceBrowserFocus\": {\n      \"description\": \"/** Whether browser focus is also set (false when editing) */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"preventScrollOnBrowserFocus\": {\n      \"description\": \"/** When `forceBrowserFocus` is `true`, should scroll be prevented */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"floating\": { \"type\": { \"returnType\": \"string | null\", \"optional\": true } },\n    \"rowIndex\": {\n      \"description\": \"/** Row index of the focused cell */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column of the focused cell */\",\n      \"type\": { \"returnType\": \"Column | string | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** Whether the cell a full width cell or a regular cell */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"FullWidthRowFocusedEvent\": {\n    \"fromBelow\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"forceBrowserFocus\": {\n      \"description\": \"/** Whether browser focus is also set (false when editing) */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"preventScrollOnBrowserFocus\": {\n      \"description\": \"/** When `forceBrowserFocus` is `true`, should scroll be prevented */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"floating\": { \"type\": { \"returnType\": \"string | null\", \"optional\": true } },\n    \"rowIndex\": {\n      \"description\": \"/** Row index of the focused cell */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column of the focused cell */\",\n      \"type\": { \"returnType\": \"Column | string | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** either 'top', 'bottom' or null / undefined (if not pinned) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** Whether the cell a full width cell or a regular cell */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ExpandCollapseAllEvent\": {\n    \"source\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnEventType\": {},\n  \"ColumnEvent\": {\n    \"column\": {\n      \"description\": \"/** The impacted column, only set if action was on one column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"columns\": {\n      \"description\": \"/** List of all impacted columns */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"source\": {\n      \"description\": \"/** String describing where the event is coming from */\",\n      \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnResizedEvent\": {\n    \"finished\": {\n      \"description\": \"/** Set to true for last event in a sequence of move events */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"flexColumns\": {\n      \"description\": \"/** Any columns resized due to flex */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"column\": {\n      \"description\": \"/** The impacted column, only set if action was on one column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"columns\": {\n      \"description\": \"/** List of all impacted columns */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"source\": {\n      \"description\": \"/** String describing where the event is coming from */\",\n      \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnPivotChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"column\": {\n      \"description\": \"/** The impacted column, only set if action was on one column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"columns\": {\n      \"description\": \"/** List of all impacted columns */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"source\": {\n      \"description\": \"/** String describing where the event is coming from */\",\n      \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnRowGroupChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"column\": {\n      \"description\": \"/** The impacted column, only set if action was on one column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"columns\": {\n      \"description\": \"/** List of all impacted columns */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"source\": {\n      \"description\": \"/** String describing where the event is coming from */\",\n      \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnValueChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"column\": {\n      \"description\": \"/** The impacted column, only set if action was on one column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"columns\": {\n      \"description\": \"/** List of all impacted columns */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"source\": {\n      \"description\": \"/** String describing where the event is coming from */\",\n      \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnMovedEvent\": {\n    \"toIndex\": {\n      \"description\": \"/** The position the column was moved to */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"finished\": {\n      \"description\": \"/** `True` when the column has finished moving. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"column\": {\n      \"description\": \"/** The impacted column, only set if action was on one column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"columns\": {\n      \"description\": \"/** List of all impacted columns */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"source\": {\n      \"description\": \"/** String describing where the event is coming from */\",\n      \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnVisibleEvent\": {\n    \"visible\": {\n      \"description\": \"/** True if column was set to visible, false if set to hide */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"column\": {\n      \"description\": \"/** The impacted column, only set if action was on one column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"columns\": {\n      \"description\": \"/** List of all impacted columns */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"source\": {\n      \"description\": \"/** String describing where the event is coming from */\",\n      \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnPinnedEvent\": {\n    \"pinned\": {\n      \"description\": \"/** Either 'left', 'right', or null (it not pinned) */\",\n      \"type\": { \"returnType\": \"ColumnPinnedType\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"column\": {\n      \"description\": \"/** The impacted column, only set if action was on one column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"columns\": {\n      \"description\": \"/** List of all impacted columns */\",\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    },\n    \"source\": {\n      \"description\": \"/** String describing where the event is coming from */\",\n      \"type\": { \"returnType\": \"ColumnEventType\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"BaseRowEvent\": {\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData\", \"TContext\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowEvent\": {\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowWithDataEvent\": {\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowGroupOpenedEvent\": {\n    \"expanded\": {\n      \"description\": \"/** True if the group is expanded. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowValueChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowSelectedEvent\": {\n    \"source\": {\n      \"type\": { \"returnType\": \"SelectionEventSourceType\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"VirtualRowRemovedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowClickedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowDoubleClickedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowEditingStartedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowEditingStoppedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FullWidthCellKeyDownEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FullWidthCellKeyPressEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellEvent\": {\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellWithDataEvent\": {\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellKeyDownEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellKeyPressEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellClickedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellMouseDownEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellDoubleClickedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellMouseOverEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellMouseOutEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellContextMenuEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell if available otherwise undefined. */\",\n      \"type\": { \"returnType\": \"TValue | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellEditingStartedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellEditingStoppedEvent\": {\n    \"oldValue\": {\n      \"description\": \"/** The old value before editing */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"newValue\": {\n      \"description\": \"/** The new value after editing */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"valueChanged\": {\n      \"description\": \"/** Property indicating if the value of the editor has changed */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellValueChangedEvent\": {\n    \"oldValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"newValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"source\": {\n      \"type\": { \"returnType\": \"string | undefined\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CellEditRequestEvent\": {\n    \"oldValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"newValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"source\": {\n      \"type\": { \"returnType\": \"string | undefined\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"colDef\": { \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false } },\n    \"value\": {\n      \"description\": \"/** The value for the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The user provided data for the row. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The visible row index for the row */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either 'top', 'bottom' or null / undefined (if not set) */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"event\": {\n      \"description\": \"/** If event was due to browser event (eg click), this is the browser event */\",\n      \"type\": { \"returnType\": \"Event | null\", \"optional\": true }\n    },\n    \"eventPath\": {\n      \"description\": \"/** If the browser `event` is present the `eventPath` persists the `event.composedPath()` result for access within AG Grid event handlers.  */\",\n      \"type\": { \"returnType\": \"EventTarget[]\", \"optional\": true }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"AsyncTransactionsFlushed\": {\n    \"results\": {\n      \"description\": \"/** Array of result objects. for SSRM it's always list of `ServerSideTransactionResult`.\\n     * For Client-Side Row Model it's a list of `RowNodeTransaction`.\\n     */\",\n      \"type\": {\n        \"returnType\": \"(RowNodeTransaction<TData> | ServerSideTransactionResult)[]\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnRequestEvent\": {\n    \"columns\": { \"type\": { \"returnType\": \"Column[]\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnRowGroupChangeRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"columns\": { \"type\": { \"returnType\": \"Column[]\", \"optional\": false } },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnPivotChangeRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"columns\": { \"type\": { \"returnType\": \"Column[]\", \"optional\": false } },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnValueChangeRequestEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"columns\": { \"type\": { \"returnType\": \"Column[]\", \"optional\": false } },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ColumnAggFuncChangeRequestEvent\": {\n    \"aggFunc\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"columns\": { \"type\": { \"returnType\": \"Column[]\", \"optional\": false } },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"StoreRefreshedEvent\": {\n    \"route\": {\n      \"description\": \"/** The route of the store which has finished refreshing, undefined if root level */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ScrollVisibilityChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"StoreUpdatedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"LeftPinnedWidthChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RightPinnedWidthChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"RowContainerHeightChanged\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"DisplayedRowsChangedEvent\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"CssVariablesChanged\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"IFilterLocaleText\": {\n    \"applyFilter\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"clearFilter\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"resetFilter\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"cancelFilter\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"filterOoo\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"empty\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"equals\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"notEqual\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"lessThan\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"greaterThan\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"inRange\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"inRangeStart\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"inRangeEnd\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"lessThanOrEqual\": {\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"greaterThanOrEqual\": {\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"contains\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"notContains\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"startsWith\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"endsWith\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"blank\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"notBlank\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"andCondition\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"orCondition\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"dateFormatOoo\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"IFilterTitleLocaleText\": {\n    \"textFilter\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"numberFilter\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"dateFilter\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"setFilter\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"FilterRequestSource\": {},\n  \"FilterWrapper\": {\n    \"compiledElement\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"filterPromise\": {\n      \"type\": {\n        \"returnType\": \"AgPromise<IFilterComp> | null\",\n        \"optional\": false\n      }\n    },\n    \"guiPromise\": {\n      \"type\": {\n        \"returnType\": \"AgPromise<HTMLElement | null>\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IFloatingFilterParent\": {\n    \"onFloatingFilterChanged\": {\n      \"description\": \"/** Notification that a new floating-filter value was input by the user.\\n     *\\n     * @param type operation type selected.\\n     * @param value model-typed value entered.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"type\": \"string | null\", \"value\": \"any\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"InbuiltParentType\": {},\n  \"IFloatingFilterParentCallback\": {\n    \"meta\": { \"typeParams\": [\"P = InbuiltParentType\"] }\n  },\n  \"IFloatingFilterParams\": {\n    \"column\": {\n      \"description\": \"/** The column this filter is for. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"filterParams\": {\n      \"description\": \"/** The params object passed to the filter.\\n     * This is to allow the floating filter access to the configuration of the parent filter.\\n     * For example, the provided filters use debounceMs from the parent filter params.\\n     * */\",\n      \"type\": { \"returnType\": \"IFilterParams\", \"optional\": false }\n    },\n    \"suppressFilterButton\": {\n      \"description\": \"/** Boolean flag to indicate if the button in the floating filter that opens the parent filter in a popup should be displayed.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"currentParentModel\": {\n      \"description\": \"/** This is a shortcut to invoke getModel on the parent filter.\\n     * If the parent filter doesn't exist (filters are lazily created as needed)\\n     * then it returns null rather than calling getModel() on the parent filter.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"parentFilterInstance\": {\n      \"description\": \"/** Gets a reference to the parent filter. The result is returned asynchronously\\n     * via a callback as the parent filter may not exist yet. If it does\\n     * not exist, it is created and asynchronously returned (AG Grid itself\\n     * does not create components asynchronously, however if providing a framework\\n     * provided filter e.g. React, it might be).\\n     *\\n     * The floating filter can then call any method it likes on the parent filter.\\n     * The parent filter will typically provide its own method for the floating\\n     * filter to call to set the filter. For example, if creating custom filter A,\\n     * it should have a method your floating A can call to set the state\\n     * when the user updates via the floating filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"callback\": \"IFloatingFilterParentCallback<P>\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"showParentFilter\": {\n      \"description\": \"/** Shows the parent filter popup.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"meta\": {\n      \"typeParams\": [\"P = InbuiltParentType\", \"TData = any\", \"TContext = any\"]\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IFloatingFilter\": {\n    \"onParentModelChanged\": {\n      \"description\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"parentModel\": \"any\",\n          \"filterChangedEvent?\": \"FilterChangedEvent | null\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"IFloatingFilterComp\": {\n    \"meta\": { \"typeParams\": [\"P = any\"] },\n    \"onParentModelChanged\": {\n      \"description\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"parentModel\": \"any\",\n          \"filterChangedEvent?\": \"FilterChangedEvent | null\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IFloatingFilterParams<P>\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"BaseFloatingFilterChange\": {\n    \"model\": {\n      \"type\": { \"returnType\": \"ProvidedFilterModel\", \"optional\": false }\n    },\n    \"apply\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } }\n  },\n  \"FloatingFilterInputService\": {\n    \"setupGui\": {\n      \"type\": {\n        \"arguments\": { \"parentElement\": \"HTMLElement\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setEditable\": {\n      \"type\": {\n        \"arguments\": { \"editable\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getValue\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"string | null | undefined\",\n        \"optional\": false\n      }\n    },\n    \"setValue\": {\n      \"type\": {\n        \"arguments\": {\n          \"value\": \"string | null | undefined\",\n          \"silent?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addValueChangedListener\": {\n      \"type\": {\n        \"arguments\": { \"listener\": \"() => void\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ModelUnion\": {},\n  \"DateFilterModel\": {\n    \"filterType\": {\n      \"description\": \"/** Filter type is always `'date'` */\",\n      \"type\": { \"returnType\": \"'date'\", \"optional\": true }\n    },\n    \"dateFrom\": {\n      \"description\": \"/** The date value(s) associated with the filter. The type is `string` and format is always\\n     * `YYYY-MM-DD hh:mm:ss` e.g. 2019-05-24 00:00:00. Custom filters can have no values (hence both\\n     * are optional). Range filter has two values (from and to).\\n     */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"dateTo\": {\n      \"description\": \"/** Range filter `to` date value.\\n     */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** One of the filter options, e.g. `'equals'` */\",\n      \"type\": {\n        \"returnType\": \"ISimpleFilterModelType | null\",\n        \"optional\": true\n      }\n    }\n  },\n  \"DateFilterParams\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IDateFilterParams\": {\n    \"comparator\": {\n      \"description\": \"/** Required if the data for the column are not native JS `Date` objects. */\",\n      \"type\": { \"returnType\": \"IDateComparatorFunc\", \"optional\": true }\n    },\n    \"browserDatePicker\": {\n      \"description\": \"/** Defines whether the grid uses the browser date picker or a plain text box.\\n     *  - `true`: Force the browser date picker to be used.\\n     *  - `false`: Force a plain text box to be used.\\n     *\\n     * Default: `undefined` - If a date component is not provided, then the grid will use the browser date picker\\n     * for all supported browsers and a plain text box for other browsers.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"minValidYear\": {\n      \"description\": \"/** This is the minimum year that may be entered in a date field for the value to be considered valid. Default: `1000` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxValidYear\": {\n      \"description\": \"/** This is the maximum year that may be entered in a date field for the value to be considered valid. Default is no restriction. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"inRangeFloatingFilterDateFormat\": {\n      \"description\": \"/** Defines the date format for the floating filter text when an in range filter has been applied.\\n     *\\n     * Default: `YYYY-MM-DD`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"inRangeInclusive\": {\n      \"description\": \"/** If `true`, the `'inRange'` filter option will include values equal to the start and end of the range. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInEquals\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'equals'` filter option. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInLessThan\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'lessThan'` and `'lessThanOrEqual'` filter options. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInGreaterThan\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'greaterThan'` and `'greaterThanOrEqual'` filter options. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInRange\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'inRange'` filter option. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterOptions\": {\n      \"description\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"type\": {\n        \"returnType\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n        \"optional\": true\n      }\n    },\n    \"defaultOption\": {\n      \"description\": \"/** The default filter option to be selected. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"defaultJoinOperator\": {\n      \"description\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"type\": { \"returnType\": \"JoinOperator\", \"optional\": true }\n    },\n    \"maxNumConditions\": {\n      \"description\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"numAlwaysVisibleConditions\": {\n      \"description\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressAndOrCondition\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowBothConditions\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterPlaceholder\": {\n      \"description\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"type\": {\n        \"returnType\": \"FilterPlaceholderFunction | string\",\n        \"optional\": true\n      }\n    },\n    \"buttons\": {\n      \"description\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"type\": { \"returnType\": \"FilterButtonType[]\", \"optional\": true }\n    },\n    \"closeOnApply\": {\n      \"description\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceMs\": {\n      \"description\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"readOnly\": {\n      \"description\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"IDateComparatorFunc\": {},\n  \"NumberFilterModel\": {\n    \"filterType\": {\n      \"description\": \"/** Filter type is always `'number'` */\",\n      \"type\": { \"returnType\": \"'number'\", \"optional\": true }\n    },\n    \"filter\": {\n      \"description\": \"/** The number value(s) associated with the filter.\\n     * Custom filters can have no values (hence both are optional).\\n     * Range filter has two values (from and to).\\n     */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"filterTo\": {\n      \"description\": \"/** Range filter `to` value.\\n     */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"type\": {\n      \"description\": \"/** One of the filter options, e.g. `'equals'` */\",\n      \"type\": {\n        \"returnType\": \"ISimpleFilterModelType | null\",\n        \"optional\": true\n      }\n    }\n  },\n  \"NumberFilterParams\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"INumberFilterParams\": {\n    \"allowedCharPattern\": {\n      \"description\": \"/** When specified, the input field will be of type `text`, and this will be used as a regex of all the characters that are allowed to be typed.\\n     * This will be compared against any typed character and prevent the character from appearing in the input if it does not match.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"numberParser\": {\n      \"description\": \"/** Typically used alongside `allowedCharPattern`, this provides a custom parser to convert the value entered in the filter inputs into a number that can be used for comparisons.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"text\": \"string | null\" },\n        \"returnType\": \"number | null\",\n        \"optional\": true\n      }\n    },\n    \"inRangeInclusive\": {\n      \"description\": \"/** If `true`, the `'inRange'` filter option will include values equal to the start and end of the range. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInEquals\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'equals'` filter option. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInLessThan\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'lessThan'` and `'lessThanOrEqual'` filter options. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInGreaterThan\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'greaterThan'` and `'greaterThanOrEqual'` filter options. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInRange\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'inRange'` filter option. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterOptions\": {\n      \"description\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"type\": {\n        \"returnType\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n        \"optional\": true\n      }\n    },\n    \"defaultOption\": {\n      \"description\": \"/** The default filter option to be selected. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"defaultJoinOperator\": {\n      \"description\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"type\": { \"returnType\": \"JoinOperator\", \"optional\": true }\n    },\n    \"maxNumConditions\": {\n      \"description\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"numAlwaysVisibleConditions\": {\n      \"description\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressAndOrCondition\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowBothConditions\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterPlaceholder\": {\n      \"description\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"type\": {\n        \"returnType\": \"FilterPlaceholderFunction | string\",\n        \"optional\": true\n      }\n    },\n    \"buttons\": {\n      \"description\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"type\": { \"returnType\": \"FilterButtonType[]\", \"optional\": true }\n    },\n    \"closeOnApply\": {\n      \"description\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceMs\": {\n      \"description\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"readOnly\": {\n      \"description\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"FilterButtonType\": {},\n  \"ProvidedFilterParams\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IProvidedFilterParams\": {\n    \"buttons\": {\n      \"description\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"type\": { \"returnType\": \"FilterButtonType[]\", \"optional\": true }\n    },\n    \"closeOnApply\": {\n      \"description\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceMs\": {\n      \"description\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"readOnly\": {\n      \"description\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"IProvidedFilter\": {\n    \"applyModel\": {\n      \"description\": \"/** Applies the model shown in the UI (so that `getModel()` will now return what was in the UI\\n     * when `applyModel()` was called).\\n     * @param source The source of the method call. Default 'api'.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"source?\": \"'api' | 'ui' | 'rowDataUpdated'\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModelFromUi\": {\n      \"description\": \"/** Returns the filter model from the UI. If changes have been made to the UI but not yet\\n     * applied, this model will reflect those changes.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"ScalarFilterParams\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IScalarFilterParams\": {\n    \"inRangeInclusive\": {\n      \"description\": \"/** If `true`, the `'inRange'` filter option will include values equal to the start and end of the range. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInEquals\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'equals'` filter option. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInLessThan\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'lessThan'` and `'lessThanOrEqual'` filter options. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInGreaterThan\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'greaterThan'` and `'greaterThanOrEqual'` filter options. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"includeBlanksInRange\": {\n      \"description\": \"/** If `true`, blank (`null` or `undefined`) values will pass the `'inRange'` filter option. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterOptions\": {\n      \"description\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"type\": {\n        \"returnType\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n        \"optional\": true\n      }\n    },\n    \"defaultOption\": {\n      \"description\": \"/** The default filter option to be selected. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"defaultJoinOperator\": {\n      \"description\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"type\": { \"returnType\": \"JoinOperator\", \"optional\": true }\n    },\n    \"maxNumConditions\": {\n      \"description\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"numAlwaysVisibleConditions\": {\n      \"description\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressAndOrCondition\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowBothConditions\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterPlaceholder\": {\n      \"description\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"type\": {\n        \"returnType\": \"FilterPlaceholderFunction | string\",\n        \"optional\": true\n      }\n    },\n    \"buttons\": {\n      \"description\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"type\": { \"returnType\": \"FilterButtonType[]\", \"optional\": true }\n    },\n    \"closeOnApply\": {\n      \"description\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceMs\": {\n      \"description\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"readOnly\": {\n      \"description\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"Comparator\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"JoinOperator\": {},\n  \"ISimpleFilter\": {\n    \"applyModel\": {\n      \"description\": \"/** Applies the model shown in the UI (so that `getModel()` will now return what was in the UI\\n     * when `applyModel()` was called).\\n     * @param source The source of the method call. Default 'api'.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"source?\": \"'api' | 'ui' | 'rowDataUpdated'\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModelFromUi\": {\n      \"description\": \"/** Returns the filter model from the UI. If changes have been made to the UI but not yet\\n     * applied, this model will reflect those changes.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onFloatingFilterChanged\": {\n      \"description\": \"/** Notification that a new floating-filter value was input by the user.\\n     *\\n     * @param type operation type selected.\\n     * @param value model-typed value entered.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"type\": \"string | null\", \"value\": \"any\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IFilterPlaceholderFunctionParams\": {\n    \"filterOptionKey\": {\n      \"description\": \"/** The filter option key\\n     */\",\n      \"type\": { \"returnType\": \"ISimpleFilterModelType\", \"optional\": false }\n    },\n    \"filterOption\": {\n      \"description\": \"/** The filter option name as localised text\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"placeholder\": {\n      \"description\": \"/** The default placeholder text\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"FilterPlaceholderFunction\": {},\n  \"SimpleFilterParams\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"ISimpleFilterParams\": {\n    \"filterOptions\": {\n      \"description\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"type\": {\n        \"returnType\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n        \"optional\": true\n      }\n    },\n    \"defaultOption\": {\n      \"description\": \"/** The default filter option to be selected. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"defaultJoinOperator\": {\n      \"description\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"type\": { \"returnType\": \"JoinOperator\", \"optional\": true }\n    },\n    \"maxNumConditions\": {\n      \"description\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"numAlwaysVisibleConditions\": {\n      \"description\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressAndOrCondition\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowBothConditions\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterPlaceholder\": {\n      \"description\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"type\": {\n        \"returnType\": \"FilterPlaceholderFunction | string\",\n        \"optional\": true\n      }\n    },\n    \"buttons\": {\n      \"description\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"type\": { \"returnType\": \"FilterButtonType[]\", \"optional\": true }\n    },\n    \"closeOnApply\": {\n      \"description\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceMs\": {\n      \"description\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"readOnly\": {\n      \"description\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ISimpleFilterModelType\": {},\n  \"ISimpleFilterModel\": {\n    \"type\": {\n      \"description\": \"/** One of the filter options, e.g. `'equals'` */\",\n      \"type\": {\n        \"returnType\": \"ISimpleFilterModelType | null\",\n        \"optional\": true\n      }\n    },\n    \"filterType\": { \"type\": { \"returnType\": \"string\", \"optional\": true } }\n  },\n  \"ICombinedSimpleModel\": {\n    \"operator\": { \"type\": { \"returnType\": \"JoinOperator\", \"optional\": false } },\n    \"condition1\": {\n      \"description\": \"/** @deprecated As of v29.2, supply as the first element of `conditions`. */\",\n      \"type\": { \"returnType\": \"M\", \"optional\": false }\n    },\n    \"condition2\": {\n      \"description\": \"/** @deprecated As of v29.2, supply as the second element of `conditions`. */\",\n      \"type\": { \"returnType\": \"M\", \"optional\": false }\n    },\n    \"conditions\": {\n      \"description\": \"/** Will be mandatory in a future release. */\",\n      \"type\": { \"returnType\": \"M[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"M extends ISimpleFilterModel\"] },\n    \"filterType\": { \"type\": { \"returnType\": \"string\", \"optional\": true } }\n  },\n  \"Tuple\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"TextFilterModel\": {\n    \"filterType\": {\n      \"description\": \"/** Filter type is always `'text'` */\",\n      \"type\": { \"returnType\": \"'text'\", \"optional\": true }\n    },\n    \"filter\": {\n      \"description\": \"/** The text value associated with the filter.\\n     * It's optional as custom filters may not have a text value.\\n     * */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": true }\n    },\n    \"filterTo\": {\n      \"description\": \"/** The 2nd text value associated with the filter, if supported.\\n     * */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": true }\n    },\n    \"type\": {\n      \"description\": \"/** One of the filter options, e.g. `'equals'` */\",\n      \"type\": {\n        \"returnType\": \"ISimpleFilterModelType | null\",\n        \"optional\": true\n      }\n    }\n  },\n  \"TextMatcherParams\": {\n    \"filterOption\": {\n      \"description\": \"/** The applicable filter option being tested.\\n     * One of: `equals`, `notEqual`, `contains`, `notContains`, `startsWith`, `endsWith`.\\n     */\",\n      \"type\": { \"returnType\": \"string | null | undefined\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** The value about to be filtered.\\n     * If this column has a value getter, this value will be coming from the value getter,\\n     * otherwise it is the raw value injected into the grid.\\n     * If a `textFormatter` is provided, this value will have been formatted.\\n     * If no `textFormatter` is provided and `caseSensitive` is not provided or is `false`,\\n     * the value will have been converted to lower case.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"filterText\": {\n      \"description\": \"/** The value to filter by.\\n     * If a `textFormatter` is provided, this value will have been formatted.\\n     * If no `textFormatter` is provided and `caseSensitive` is not provided or is `false`,\\n     * the value will have been converted to lower case.\\n     */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"textFormatter\": {\n      \"type\": { \"returnType\": \"TextFormatter\", \"optional\": true }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the given row */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data associated with the node */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column for this callback */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** ColDef provided for this column */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"TextMatcher\": {},\n  \"TextFormatter\": {},\n  \"TextFilterParams\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"ITextFilterParams\": {\n    \"textMatcher\": {\n      \"description\": \"/** Used to override how to filter based on the user input.\\n     * Returns `true` if the value passes the filter, otherwise `false`.\\n     */\",\n      \"type\": { \"returnType\": \"TextMatcher\", \"optional\": true }\n    },\n    \"caseSensitive\": {\n      \"description\": \"/** By default, text filtering is case-insensitive. Set this to `true` to make text filtering case-sensitive.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"textFormatter\": {\n      \"description\": \"/** Formats the text before applying the filter compare logic.\\n     * Useful if you want to substitute accented characters, for example.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"from\": \"string\" },\n        \"returnType\": \"string | null\",\n        \"optional\": true\n      }\n    },\n    \"trimInput\": {\n      \"description\": \"/** If `true`, the input that the user enters will be trimmed when the filter is applied, so any leading or trailing whitespace will be removed.\\n     * If only whitespace is entered, it will be left as-is.\\n     * If you enable `trimInput`, it is best to also increase the `debounceMs` to give users more time to enter text.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterOptions\": {\n      \"description\": \"/** Array of filter options to present to the user.\\n     */\",\n      \"type\": {\n        \"returnType\": \"(IFilterOptionDef | ISimpleFilterModelType)[]\",\n        \"optional\": true\n      }\n    },\n    \"defaultOption\": {\n      \"description\": \"/** The default filter option to be selected. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"defaultJoinOperator\": {\n      \"description\": \"/** By default, the two conditions are combined using `AND`.\\n     * You can change this default by setting this property.\\n     * Options: `AND`, `OR`\\n     */\",\n      \"type\": { \"returnType\": \"JoinOperator\", \"optional\": true }\n    },\n    \"maxNumConditions\": {\n      \"description\": \"/** Maximum number of conditions allowed in the filter.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"numAlwaysVisibleConditions\": {\n      \"description\": \"/** By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered\\n     * (up to `maxNumConditions`). To have more conditions shown by default, set this to the number required.\\n     * Conditions will be disabled until the previous conditions have been entered.\\n     * Note that this cannot be greater than `maxNumConditions` - anything larger will be ignored. \\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressAndOrCondition\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `maxNumConditions = 1` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowBothConditions\": {\n      \"description\": \"/** @deprecated As of v29.2 there can be more than two conditions in the filter. Use `numAlwaysVisibleConditions = 2` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"filterPlaceholder\": {\n      \"description\": \"/** Placeholder text for the filter textbox\\n     */\",\n      \"type\": {\n        \"returnType\": \"FilterPlaceholderFunction | string\",\n        \"optional\": true\n      }\n    },\n    \"buttons\": {\n      \"description\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"type\": { \"returnType\": \"FilterButtonType[]\", \"optional\": true }\n    },\n    \"closeOnApply\": {\n      \"description\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceMs\": {\n      \"description\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"readOnly\": {\n      \"description\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"GridParams\": {\n    \"globalEventListener\": {\n      \"type\": { \"returnType\": \"Function\", \"optional\": true }\n    },\n    \"frameworkOverrides\": {\n      \"type\": { \"returnType\": \"IFrameworkOverrides\", \"optional\": true }\n    },\n    \"providedBeanInstances\": {\n      \"type\": { \"returnType\": \"{ [key: string]: any; }\", \"optional\": true }\n    },\n    \"modules\": { \"type\": { \"returnType\": \"Module[]\", \"optional\": true } }\n  },\n  \"DetailGridInfo\": {\n    \"id\": {\n      \"description\": \"/** Id of the detail grid, the format is `detail_{ROW-ID}`,\\n     * where `ROW-ID` is the `id` of the parent row.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** Grid api of the detail grid. */\",\n      \"type\": { \"returnType\": \"GridApi\", \"optional\": true }\n    },\n    \"columnApi\": {\n      \"description\": \"/** Column api of the detail grid. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": true }\n    }\n  },\n  \"StartEditingCellParams\": {\n    \"rowIndex\": {\n      \"description\": \"/** The row index of the row to start editing */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"colKey\": {\n      \"description\": \"/** The column key of the row to start editing */\",\n      \"type\": { \"returnType\": \"string | Column\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Set to `'top'` or `'bottom'` to start editing a pinned row */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": true }\n    },\n    \"key\": {\n      \"description\": \"/** The key to pass to the cell editor */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"charPress\": {\n      \"description\": \"/** The charPress to pass to the cell editor */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"RowAnimationCssClasses\": {},\n  \"IGridBodyComp\": {\n    \"setColumnMovingCss\": {\n      \"type\": {\n        \"arguments\": { \"cssClass\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setCellSelectableCss\": {\n      \"type\": {\n        \"arguments\": { \"cssClass\": \"string | null\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setTopHeight\": {\n      \"type\": {\n        \"arguments\": { \"height\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setTopDisplay\": {\n      \"type\": {\n        \"arguments\": { \"display\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setBottomHeight\": {\n      \"type\": {\n        \"arguments\": { \"height\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setBottomDisplay\": {\n      \"type\": {\n        \"arguments\": { \"display\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setStickyTopHeight\": {\n      \"type\": {\n        \"arguments\": { \"height\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setStickyTopTop\": {\n      \"type\": {\n        \"arguments\": { \"offsetTop\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setStickyTopWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setColumnCount\": {\n      \"type\": {\n        \"arguments\": { \"count\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowCount\": {\n      \"type\": {\n        \"arguments\": { \"count\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowAnimationCssOnBodyViewport\": {\n      \"type\": {\n        \"arguments\": { \"cssClass\": \"string\", \"animate\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setAlwaysVerticalScrollClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClass\": \"string | null\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setPinnedTopBottomOverflowY\": {\n      \"type\": {\n        \"arguments\": { \"overflow\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"registerBodyViewportResizeListener\": {\n      \"type\": {\n        \"arguments\": { \"listener\": \"(() => void)\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setBodyViewportWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"updateLayoutClasses\": {\n      \"type\": {\n        \"arguments\": {\n          \"layoutClass\": \"string\",\n          \"params\": \"UpdateLayoutClassesParams\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"NavigateParams\": {\n    \"scrollIndex\": {\n      \"description\": \"/** The rowIndex to vertically scroll to. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"scrollType\": {\n      \"description\": \"/** The position to put scroll index. */\",\n      \"type\": { \"returnType\": \"'top' | 'bottom' | null\", \"optional\": false }\n    },\n    \"scrollColumn\": {\n      \"description\": \"/**  The column to horizontally scroll to. */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"focusIndex\": {\n      \"description\": \"/** For page up/down, we want to scroll to one row/column but focus another (ie. scrollRow could be stub). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"focusColumn\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"isAsync\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } }\n  },\n  \"RowContainerName\": {},\n  \"RowContainerType\": {},\n  \"IRowContainerComp\": {\n    \"setViewportHeight\": {\n      \"type\": {\n        \"arguments\": { \"height\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowCtrls\": {\n      \"type\": {\n        \"arguments\": { \"rowCtrls\": \"RowCtrl[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDomOrder\": {\n      \"type\": {\n        \"arguments\": { \"domOrder\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setContainerWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"RowDropZoneEvents\": {\n    \"onDragEnter\": {\n      \"description\": \"/** Callback function that will be executed when the rowDrag enters the target. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowDragEnterEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragLeave\": {\n      \"description\": \"/** Callback function that will be executed when the rowDrag leaves the target */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowDragLeaveEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragging\": {\n      \"description\": \"/** Callback function that will be executed when the rowDrag is dragged inside the target.\\n     * Note: this gets called multiple times.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowDragMoveEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragStop\": {\n      \"description\": \"/** Callback function that will be executed when the rowDrag drops rows within the target. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowDragEndEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"RowDropZoneParams\": {\n    \"getContainer\": {\n      \"description\": \"/** A callback method that returns the DropZone HTMLElement. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"onDragEnter\": {\n      \"description\": \"/** Callback function that will be executed when the rowDrag enters the target. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowDragEnterEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragLeave\": {\n      \"description\": \"/** Callback function that will be executed when the rowDrag leaves the target */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowDragLeaveEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragging\": {\n      \"description\": \"/** Callback function that will be executed when the rowDrag is dragged inside the target.\\n     * Note: this gets called multiple times.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowDragMoveEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onDragStop\": {\n      \"description\": \"/** Callback function that will be executed when the rowDrag drops rows within the target. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowDragEndEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"SetScrollsVisibleParams\": {\n    \"horizontalScrollShowing\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"verticalScrollShowing\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"IGridComp\": {\n    \"setRtlClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClass\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"destroyGridUi\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"forceFocusOutOfContainer\": {\n      \"type\": {\n        \"arguments\": { \"up\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addOrRemoveKeyboardFocusClass\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getFocusableContainers\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement[]\",\n        \"optional\": false\n      }\n    },\n    \"setCursor\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"string | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setUserSelect\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"string | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"updateLayoutClasses\": {\n      \"type\": {\n        \"arguments\": {\n          \"layoutClass\": \"string\",\n          \"params\": \"UpdateLayoutClassesParams\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"GetKeys\": { \"meta\": { \"typeParams\": [\"T\", \"U\"] } },\n  \"KeysOfType\": { \"meta\": { \"typeParams\": [\"U\"] } },\n  \"BooleanProps\": {},\n  \"NumberProps\": {},\n  \"NoArgFuncs\": {},\n  \"AnyArgFuncs\": {},\n  \"CallbackProps\": {},\n  \"NonPrimitiveProps\": {},\n  \"ExtractParamsFromCallback\": { \"meta\": { \"typeParams\": [\"TCallback\"] } },\n  \"ExtractReturnTypeFromCallback\": { \"meta\": { \"typeParams\": [\"TCallback\"] } },\n  \"WrappedCallback\": {\n    \"meta\": {\n      \"typeParams\": [\n        \"K extends CallbackProps\",\n        \"OriginalCallback extends GridOptions[K]\"\n      ]\n    }\n  },\n  \"PropertyChangedEvent\": {\n    \"type\": {\n      \"type\": { \"returnType\": \"keyof GridOptions\", \"optional\": false }\n    },\n    \"currentValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"previousValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } }\n  },\n  \"PropertyChangedListener\": {\n    \"meta\": { \"typeParams\": [\"T extends PropertyChangedEvent\"] }\n  },\n  \"DeprecatedReference\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"IAbstractHeaderCellComp\": {},\n  \"IHeaderCellComp\": {\n    \"setWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addOrRemoveCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setColId\": {\n      \"type\": {\n        \"arguments\": { \"id\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setAriaDescription\": {\n      \"type\": {\n        \"arguments\": { \"description?\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setAriaSort\": {\n      \"type\": {\n        \"arguments\": { \"sort?\": \"ColumnSortState\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setUserCompDetails\": {\n      \"type\": {\n        \"arguments\": { \"compDetails\": \"UserCompDetails\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getUserCompInstance\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"IHeader | undefined\",\n        \"optional\": false\n      }\n    },\n    \"setTitle\": {\n      \"type\": {\n        \"arguments\": { \"title\": \"string | undefined\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IHeaderParams\": {\n    \"column\": {\n      \"description\": \"/** The column the header is for. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"displayName\": {\n      \"description\": \"/** The name to display for the column.\\n     * If the column is using a headerValueGetter, the displayName will take this into account.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"enableSorting\": {\n      \"description\": \"/** Whether sorting is enabled for the column.\\n     * Only put sort logic into your header if this is true.\\n     */\",\n      \"type\": { \"returnType\": \"boolean | undefined\", \"optional\": false }\n    },\n    \"enableMenu\": {\n      \"description\": \"/** Whether menu is enabled for the column.\\n     * Only display a menu button in your header if this is true.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"showColumnMenu\": {\n      \"description\": \"/** Callback to request the grid to show the column menu.\\n     * Pass in the html element of the column menu to have the\\n     *  grid position the menu over the button.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"source\": \"HTMLElement\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"progressSort\": {\n      \"description\": \"/** Callback to progress the sort for this column.\\n     * The grid will decide the next sort direction eg ascending, descending or 'no sort'.\\n     * Pass `multiSort=true` if you want to do a multi sort (eg user has Shift held down when they click).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"multiSort?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setSort\": {\n      \"description\": \"/** Callback to set the sort for this column.\\n     * Pass the sort direction to use ignoring the current sort eg one of 'asc', 'desc' or null (for no sort).\\n     * Pass `multiSort=true` if you want to do a multi sort (eg user has Shift held down when they click)\\n     */\",\n      \"type\": {\n        \"arguments\": { \"sort\": \"SortDirection\", \"multiSort?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"template\": {\n      \"description\": \"/** Custom header template if provided to `headerComponentParams`, otherwise will be `undefined`. See [Header Templates](https://ag-grid.com/javascript-data-grid/column-headers/#header-templates) */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"eGridHeader\": {\n      \"description\": \"/** The header the grid provides.\\n     * The custom header component is a child of the grid provided header.\\n     * The grid's header component is what contains the grid managed functionality such as resizing, keyboard navigation etc.\\n     * This is provided should you want to make changes to this cell,\\n     * eg add ARIA tags, or add keyboard event listener (as focus goes here when navigating to the header).\\n     */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IHeader\": {\n    \"refresh\": {\n      \"description\": \"/** Get the header to refresh. Gets called whenever Column Defs are updated. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IHeaderParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IHeaderComp\": {\n    \"refresh\": {\n      \"description\": \"/** Get the header to refresh. Gets called whenever Column Defs are updated. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IHeaderParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IHeaderParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"SelectionCount\": {\n    \"selected\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"notSelected\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"IHeaderGroupCellComp\": {\n    \"addOrRemoveCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setResizableDisplayed\": {\n      \"type\": {\n        \"arguments\": { \"displayed\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setColId\": {\n      \"type\": {\n        \"arguments\": { \"id\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setAriaExpanded\": {\n      \"type\": {\n        \"arguments\": { \"expanded\": \"'true' | 'false' | undefined\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setUserCompDetails\": {\n      \"type\": {\n        \"arguments\": { \"compDetails\": \"UserCompDetails\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setTitle\": {\n      \"type\": {\n        \"arguments\": { \"title\": \"string | undefined\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IHeaderGroupParams\": {\n    \"columnGroup\": {\n      \"description\": \"/** The column group the header is for. */\",\n      \"type\": { \"returnType\": \"ColumnGroup\", \"optional\": false }\n    },\n    \"displayName\": {\n      \"description\": \"/** The text label to render.\\n     * If the column is using a headerValueGetter, the displayName will take this into account.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"setExpanded\": {\n      \"description\": \"/** Opens / closes the column group */\",\n      \"type\": {\n        \"arguments\": { \"expanded\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IHeaderGroup\": {},\n  \"IHeaderGroupComp\": {\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IHeaderGroupParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"IHeaderFilterCellComp\": {\n    \"addOrRemoveCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addOrRemoveBodyCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setButtonWrapperDisplayed\": {\n      \"type\": {\n        \"arguments\": { \"displayed\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setCompDetails\": {\n      \"type\": {\n        \"arguments\": { \"compDetails\": \"UserCompDetails\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getFloatingFilterComp\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"AgPromise<IFloatingFilter> | null\",\n        \"optional\": false\n      }\n    },\n    \"setWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setMenuIcon\": {\n      \"type\": {\n        \"arguments\": { \"icon\": \"HTMLElement\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"DropListener\": {\n    \"getIconName\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"string | null\",\n        \"optional\": false\n      }\n    },\n    \"onDragEnter\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"DraggingEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onDragLeave\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"DraggingEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onDragging\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"DraggingEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onDragStop\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"DraggingEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"HeaderNavigationDirection\": {},\n  \"HeaderPosition\": {\n    \"headerRowIndex\": {\n      \"description\": \"/** A number from 0 to n, where n is the last header row the grid is rendering */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** The grid column or column group */\",\n      \"type\": { \"returnType\": \"Column | ColumnGroup\", \"optional\": false }\n    }\n  },\n  \"HorizontalResizeParams\": {\n    \"eResizeBar\": {\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"dragStartPixels\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"onResizeStart\": {\n      \"type\": {\n        \"arguments\": { \"shiftKey\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onResizing\": {\n      \"type\": {\n        \"arguments\": { \"delta\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onResizeEnd\": {\n      \"type\": {\n        \"arguments\": { \"delta\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IGridHeaderComp\": {\n    \"addOrRemoveCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setHeightAndMinHeight\": {\n      \"type\": {\n        \"arguments\": { \"height\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"HeaderRowType\": {},\n  \"IHeaderRowComp\": {\n    \"setTransform\": {\n      \"type\": {\n        \"arguments\": { \"transform\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setTop\": {\n      \"type\": {\n        \"arguments\": { \"top\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setHeight\": {\n      \"type\": {\n        \"arguments\": { \"height\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setHeaderCtrls\": {\n      \"type\": {\n        \"arguments\": { \"ctrls\": \"AbstractHeaderCellCtrl[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setAriaRowIndex\": {\n      \"type\": {\n        \"arguments\": { \"rowIndex\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IHeaderRowContainerComp\": {\n    \"setCenterWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setViewportScrollLeft\": {\n      \"type\": {\n        \"arguments\": { \"left\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setPinnedContainerWidth\": {\n      \"type\": {\n        \"arguments\": { \"width\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDisplayed\": {\n      \"type\": {\n        \"arguments\": { \"displayed\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setCtrls\": {\n      \"type\": {\n        \"arguments\": { \"ctrls\": \"HeaderRowCtrl[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ILogger\": {\n    \"log\": {\n      \"type\": {\n        \"arguments\": { \"message\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"BaseExportParams\": {\n    \"allColumns\": {\n      \"description\": \"/** If `true`, all columns will be exported in the order they appear in the columnDefs.\\n     * When `false` only the columns currently being displayed will be exported.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnKeys\": {\n      \"description\": \"/** Provide a list (an array) of column keys or Column objects if you want to export specific columns.\\n     */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    },\n    \"rowPositions\": {\n      \"description\": \"/** Row node positions. */\",\n      \"type\": { \"returnType\": \"RowPosition[]\", \"optional\": true }\n    },\n    \"fileName\": {\n      \"description\": \"/** String to use as the file name.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"exportedRows\": {\n      \"description\": \"/** Determines whether rows are exported before being filtered and sorted.\\n     * Default: `filteredAndSorted`\\n     */\",\n      \"type\": { \"returnType\": \"'all' | 'filteredAndSorted'\", \"optional\": true }\n    },\n    \"onlySelected\": {\n      \"description\": \"/** Export only selected rows.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"onlySelectedAllPages\": {\n      \"description\": \"/** Only export selected rows including other pages (only makes sense when using pagination).\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipColumnGroupHeaders\": {\n      \"description\": \"/** Set to `true` to exclude header column groups.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipColumnHeaders\": {\n      \"description\": \"/** Set to `true` if you don't want to export column headers.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipRowGroups\": {\n      \"description\": \"/** Set to `true` to skip row group headers if grouping rows. Only relevant when grouping rows.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipPinnedTop\": {\n      \"description\": \"/** Set to `true` to suppress exporting rows pinned to the top of the grid.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipPinnedBottom\": {\n      \"description\": \"/** Set to `true` to suppress exporting rows pinned to the bottom of the grid.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shouldRowBeSkipped\": {\n      \"description\": \"/** A callback function that will be invoked once per row in the grid. Return true to omit the row from the export.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ShouldRowBeSkippedParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"processCellCallback\": {\n      \"description\": \"/** A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. For example this is useful for formatting date values.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processHeaderCallback\": {\n      \"description\": \"/** A callback function invoked once per column. Return a string to be displayed in the column header.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessHeaderForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processGroupHeaderCallback\": {\n      \"description\": \"/** A callback function invoked once per column group. Return a `string` to be displayed in the column group header.\\n     * Note that column groups are exported by default, this option will not work with `skipColumnGroupHeaders=true`.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processRowGroupCallback\": {\n      \"description\": \"/** A callback function invoked once per row group. Return a `string` to be displayed in the group cell.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowGroupForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"columnGroups\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipGroups\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipHeader\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ExportParams\": {\n    \"prependContent\": {\n      \"description\": \"/** Content to put at the top of the exported sheet.\\n     */\",\n      \"type\": { \"returnType\": \"T\", \"optional\": true }\n    },\n    \"appendContent\": {\n      \"description\": \"/** Content to put at the bottom of the exported sheet.\\n     */\",\n      \"type\": { \"returnType\": \"T\", \"optional\": true }\n    },\n    \"customHeader\": {\n      \"description\": \"/** @deprecated Use prependContent\\n     */\",\n      \"type\": { \"returnType\": \"T\", \"optional\": true }\n    },\n    \"customFooter\": {\n      \"description\": \"/** @deprecated Use appendContent\\n     */\",\n      \"type\": { \"returnType\": \"T\", \"optional\": true }\n    },\n    \"getCustomContentBelowRow\": {\n      \"description\": \"/** A callback function to return content to be inserted below a row in the export. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowGroupForExportParams\" },\n        \"returnType\": \"T | undefined\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"T\"] },\n    \"allColumns\": {\n      \"description\": \"/** If `true`, all columns will be exported in the order they appear in the columnDefs.\\n     * When `false` only the columns currently being displayed will be exported.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnKeys\": {\n      \"description\": \"/** Provide a list (an array) of column keys or Column objects if you want to export specific columns.\\n     */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    },\n    \"rowPositions\": {\n      \"description\": \"/** Row node positions. */\",\n      \"type\": { \"returnType\": \"RowPosition[]\", \"optional\": true }\n    },\n    \"fileName\": {\n      \"description\": \"/** String to use as the file name.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"exportedRows\": {\n      \"description\": \"/** Determines whether rows are exported before being filtered and sorted.\\n     * Default: `filteredAndSorted`\\n     */\",\n      \"type\": { \"returnType\": \"'all' | 'filteredAndSorted'\", \"optional\": true }\n    },\n    \"onlySelected\": {\n      \"description\": \"/** Export only selected rows.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"onlySelectedAllPages\": {\n      \"description\": \"/** Only export selected rows including other pages (only makes sense when using pagination).\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipColumnGroupHeaders\": {\n      \"description\": \"/** Set to `true` to exclude header column groups.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipColumnHeaders\": {\n      \"description\": \"/** Set to `true` if you don't want to export column headers.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipRowGroups\": {\n      \"description\": \"/** Set to `true` to skip row group headers if grouping rows. Only relevant when grouping rows.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipPinnedTop\": {\n      \"description\": \"/** Set to `true` to suppress exporting rows pinned to the top of the grid.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipPinnedBottom\": {\n      \"description\": \"/** Set to `true` to suppress exporting rows pinned to the bottom of the grid.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shouldRowBeSkipped\": {\n      \"description\": \"/** A callback function that will be invoked once per row in the grid. Return true to omit the row from the export.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ShouldRowBeSkippedParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"processCellCallback\": {\n      \"description\": \"/** A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. For example this is useful for formatting date values.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processHeaderCallback\": {\n      \"description\": \"/** A callback function invoked once per column. Return a string to be displayed in the column header.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessHeaderForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processGroupHeaderCallback\": {\n      \"description\": \"/** A callback function invoked once per column group. Return a `string` to be displayed in the column group header.\\n     * Note that column groups are exported by default, this option will not work with `skipColumnGroupHeaders=true`.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processRowGroupCallback\": {\n      \"description\": \"/** A callback function invoked once per row group. Return a `string` to be displayed in the group cell.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowGroupForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"columnGroups\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipGroups\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipHeader\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"PackageFileParams\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"CsvCell\": {\n    \"data\": {\n      \"description\": \"/** The data that will be added to the cell. */\",\n      \"type\": { \"returnType\": \"CsvCellData\", \"optional\": false }\n    },\n    \"mergeAcross\": {\n      \"description\": \"/** The number of cells to span across (1 means span 2 columns).\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"CsvCellData\": {\n    \"value\": {\n      \"description\": \"/** The value of the cell. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    }\n  },\n  \"CsvCustomContent\": {},\n  \"CsvExportParams\": {\n    \"columnSeparator\": {\n      \"description\": \"/** Delimiter to insert between cell values.\\n     * Default: `,`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"suppressQuotes\": {\n      \"description\": \"/** By default cell values are encoded according to CSV format rules: values are wrapped in double quotes, and any double quotes within the values are escaped, so my value becomes \\\\\\\"my\\\\\\\"\\\\\\\"value\\\\\\\". Pass `true` to insert the value into the CSV file without escaping.\\n     * In this case it is your responsibility to ensure that no cells contain the columnSeparator character.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"prependContent\": {\n      \"description\": \"/** Content to put at the top of the exported sheet.\\n     */\",\n      \"type\": { \"returnType\": \"CsvCustomContent\", \"optional\": true }\n    },\n    \"appendContent\": {\n      \"description\": \"/** Content to put at the bottom of the exported sheet.\\n     */\",\n      \"type\": { \"returnType\": \"CsvCustomContent\", \"optional\": true }\n    },\n    \"customHeader\": {\n      \"description\": \"/** @deprecated Use prependContent\\n     */\",\n      \"type\": { \"returnType\": \"CsvCustomContent\", \"optional\": true }\n    },\n    \"customFooter\": {\n      \"description\": \"/** @deprecated Use appendContent\\n     */\",\n      \"type\": { \"returnType\": \"CsvCustomContent\", \"optional\": true }\n    },\n    \"getCustomContentBelowRow\": {\n      \"description\": \"/** A callback function to return content to be inserted below a row in the export. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowGroupForExportParams\" },\n        \"returnType\": \"CsvCustomContent | undefined\",\n        \"optional\": true\n      }\n    },\n    \"allColumns\": {\n      \"description\": \"/** If `true`, all columns will be exported in the order they appear in the columnDefs.\\n     * When `false` only the columns currently being displayed will be exported.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnKeys\": {\n      \"description\": \"/** Provide a list (an array) of column keys or Column objects if you want to export specific columns.\\n     */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    },\n    \"rowPositions\": {\n      \"description\": \"/** Row node positions. */\",\n      \"type\": { \"returnType\": \"RowPosition[]\", \"optional\": true }\n    },\n    \"fileName\": {\n      \"description\": \"/** String to use as the file name.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"exportedRows\": {\n      \"description\": \"/** Determines whether rows are exported before being filtered and sorted.\\n     * Default: `filteredAndSorted`\\n     */\",\n      \"type\": { \"returnType\": \"'all' | 'filteredAndSorted'\", \"optional\": true }\n    },\n    \"onlySelected\": {\n      \"description\": \"/** Export only selected rows.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"onlySelectedAllPages\": {\n      \"description\": \"/** Only export selected rows including other pages (only makes sense when using pagination).\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipColumnGroupHeaders\": {\n      \"description\": \"/** Set to `true` to exclude header column groups.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipColumnHeaders\": {\n      \"description\": \"/** Set to `true` if you don't want to export column headers.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipRowGroups\": {\n      \"description\": \"/** Set to `true` to skip row group headers if grouping rows. Only relevant when grouping rows.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipPinnedTop\": {\n      \"description\": \"/** Set to `true` to suppress exporting rows pinned to the top of the grid.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipPinnedBottom\": {\n      \"description\": \"/** Set to `true` to suppress exporting rows pinned to the bottom of the grid.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shouldRowBeSkipped\": {\n      \"description\": \"/** A callback function that will be invoked once per row in the grid. Return true to omit the row from the export.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ShouldRowBeSkippedParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"processCellCallback\": {\n      \"description\": \"/** A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. For example this is useful for formatting date values.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processHeaderCallback\": {\n      \"description\": \"/** A callback function invoked once per column. Return a string to be displayed in the column header.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessHeaderForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processGroupHeaderCallback\": {\n      \"description\": \"/** A callback function invoked once per column group. Return a `string` to be displayed in the column group header.\\n     * Note that column groups are exported by default, this option will not work with `skipColumnGroupHeaders=true`.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processRowGroupCallback\": {\n      \"description\": \"/** A callback function invoked once per row group. Return a `string` to be displayed in the group cell.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowGroupForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"columnGroups\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipGroups\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipHeader\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ShouldRowBeSkippedParams\": {\n    \"node\": {\n      \"description\": \"/** Row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ProcessCellForExportParams\": {\n    \"value\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"accumulatedRowIndex\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"node\": {\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": true }\n    },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"type\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ProcessHeaderForExportParams\": {\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ProcessGroupHeaderForExportParams\": {\n    \"columnGroup\": {\n      \"type\": { \"returnType\": \"ColumnGroup\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ProcessRowGroupForExportParams\": {\n    \"node\": {\n      \"description\": \"/** Row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ContainerType\": {},\n  \"IAfterGuiAttachedParams\": {\n    \"container\": {\n      \"description\": \"/** Where this component is attached to. */\",\n      \"type\": { \"returnType\": \"ContainerType\", \"optional\": true }\n    },\n    \"hidePopup\": {\n      \"description\": \"/** Call this to hide the popup. \\n     * i.e useful if your component has an action button and you want to hide the popup after it is pressed.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"suppressFocus\": {\n      \"description\": \"/** Set to `true` to not have the component focus its default item. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"AgChartThemeOverrides\": {},\n  \"AgChartThemePalette\": {},\n  \"AgChartThemeDefinition\": {},\n  \"AgChartTheme\": {},\n  \"IAggFuncService\": {\n    \"addAggFuncs\": {\n      \"type\": {\n        \"arguments\": { \"aggFuncs\": \"{ [key: string]: IAggFunc; }\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addAggFunc\": {\n      \"type\": {\n        \"arguments\": { \"key\": \"string\", \"aggFunc\": \"IAggFunc\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"clear\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getDefaultAggFunc\": {\n      \"type\": {\n        \"arguments\": { \"column\": \"Column\" },\n        \"returnType\": \"string | null\",\n        \"optional\": false\n      }\n    },\n    \"getFuncNames\": {\n      \"type\": {\n        \"arguments\": { \"column\": \"Column\" },\n        \"returnType\": \"string[]\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IAggregationStage\": {\n    \"aggregateValues\": {\n      \"type\": {\n        \"arguments\": {\n          \"values\": \"any[]\",\n          \"aggFuncOrString\": \"string | IAggFunc\"\n        },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    }\n  },\n  \"GetContextMenuItemsParams\": {\n    \"defaultItems\": {\n      \"description\": \"/** Names of the items that would be provided by default. */\",\n      \"type\": { \"returnType\": \"string[] | undefined\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** The column, if a cell was clicked, otherwise null. */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node, if a cell was clicked, otherwise null. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** The value, if a cell was clicked, otherwise null.  */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"GetMainMenuItemsParams\": {\n    \"column\": {\n      \"description\": \"/** The column that was clicked */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"defaultItems\": {\n      \"description\": \"/** List of the items that would be displayed by default */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"PostProcessPopupParams\": {\n    \"column\": {\n      \"description\": \"/** If popup is for a column, this gives the Column */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": true }\n    },\n    \"rowNode\": {\n      \"description\": \"/** If popup is for a row, this gives the RowNode */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": true }\n    },\n    \"ePopup\": {\n      \"description\": \"/** The popup we are showing */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** The different types are:\\n     *  'contextMenu', 'columnMenu', 'aggFuncSelect', 'popupCellEditor' */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"eventSource\": {\n      \"description\": \"/** If the popup is as a result of a button click (eg menu button),\\n     *  this is the component that the user clicked */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"mouseEvent\": {\n      \"description\": \"/** If the popup is as a result of a click or touch,\\n     *  this is the event - eg user showing context menu */\",\n      \"type\": { \"returnType\": \"MouseEvent | Touch | null\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"SendToClipboardParams\": {\n    \"data\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ProcessDataFromClipboardParams\": {\n    \"data\": {\n      \"description\": \"/** 2D array of all cells from the clipboard */\",\n      \"type\": { \"returnType\": \"string[][]\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"GetChartToolbarItemsParams\": {\n    \"defaultItems\": {\n      \"type\": { \"returnType\": \"ChartMenuOptions[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"NavigateToNextHeaderParams\": {\n    \"key\": {\n      \"description\": \"/** The key for the arrow key pressed,\\n     *  left = 'ArrowLeft', up = 'ArrowUp', right = 'ArrowRight', down = 'ArrowDown' */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"previousHeaderPosition\": {\n      \"description\": \"/** The header that currently has focus */\",\n      \"type\": { \"returnType\": \"HeaderPosition | null\", \"optional\": false }\n    },\n    \"nextHeaderPosition\": {\n      \"description\": \"/** The header the grid would normally pick as the next header for this navigation */\",\n      \"type\": { \"returnType\": \"HeaderPosition | null\", \"optional\": false }\n    },\n    \"headerRowCount\": {\n      \"description\": \"/** The number of header rows present in the grid */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"event\": { \"type\": { \"returnType\": \"KeyboardEvent\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"TabToNextHeaderParams\": {\n    \"backwards\": {\n      \"description\": \"/** True if the Shift key is also down */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"previousHeaderPosition\": {\n      \"description\": \"/** The header that currently has focus */\",\n      \"type\": { \"returnType\": \"HeaderPosition | null\", \"optional\": false }\n    },\n    \"nextHeaderPosition\": {\n      \"description\": \"/** The header the grid would normally pick as the next header for this navigation */\",\n      \"type\": { \"returnType\": \"HeaderPosition | null\", \"optional\": false }\n    },\n    \"headerRowCount\": {\n      \"description\": \"/** The number of header rows present in the grid */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"TabToNextCellParams\": {\n    \"backwards\": {\n      \"description\": \"/** True if the Shift key is also down */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"editing\": {\n      \"description\": \"/** True if the current cell is editing\\n     * (you may want to skip cells that are not editable, as the grid will enter the next cell in editing mode also if tabbing) */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"previousCellPosition\": {\n      \"description\": \"/** The cell that currently has focus */\",\n      \"type\": { \"returnType\": \"CellPosition\", \"optional\": false }\n    },\n    \"nextCellPosition\": {\n      \"description\": \"/** The cell the grid would normally pick as the next cell for navigation.  */\",\n      \"type\": { \"returnType\": \"CellPosition | null\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"NavigateToNextCellParams\": {\n    \"key\": {\n      \"description\": \"/** The keycode for the arrow key pressed:\\n     *  left = 'ArrowLeft', up = 'ArrowUp', right = 'ArrowRight', down = 'ArrowDown' */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"previousCellPosition\": {\n      \"description\": \"/** The cell that currently has focus */\",\n      \"type\": { \"returnType\": \"CellPosition\", \"optional\": false }\n    },\n    \"nextCellPosition\": {\n      \"description\": \"/** The cell the grid would normally pick as the next cell for navigation */\",\n      \"type\": { \"returnType\": \"CellPosition | null\", \"optional\": false }\n    },\n    \"event\": {\n      \"type\": { \"returnType\": \"KeyboardEvent | null\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"PaginationNumberFormatterParams\": {\n    \"value\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IsGroupOpenByDefaultParams\": {\n    \"rowNode\": {\n      \"description\": \"/** The row node being considered. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowGroupColumn\": {\n      \"description\": \"/** The Column for which this row is grouping. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"level\": {\n      \"description\": \"/** Same as `rowNode.level` - what level the group is at, e.g. 0 for top level, 1 for second etc */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"field\": {\n      \"description\": \"/** Same as `rowNode.field` - the field we are grouping on, e.g. 'country' */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"key\": {\n      \"description\": \"/** Same as `rowNode.key`, the value of this group, e.g. 'Ireland' */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"GetServerSideGroupLevelParamsParams\": {\n    \"level\": {\n      \"description\": \"/** The level of the store. Top level is 0. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"parentRowNode\": {\n      \"description\": \"/** The Row Node for the group that got expanded, or undefined if top level (ie no parent) */\",\n      \"type\": { \"returnType\": \"IRowNode\", \"optional\": true }\n    },\n    \"rowGroupColumns\": {\n      \"description\": \"/** Active Row Group Columns, if any. */\",\n      \"type\": { \"returnType\": \"Column[]\", \"optional\": false }\n    },\n    \"pivotColumns\": {\n      \"description\": \"/** Active Pivot Columns, if any. */\",\n      \"type\": { \"returnType\": \"Column[]\", \"optional\": false }\n    },\n    \"pivotMode\": {\n      \"description\": \"/** true if pivot mode is active. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<any>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"GetServerSideStoreParamsParams\": {\n    \"level\": {\n      \"description\": \"/** The level of the store. Top level is 0. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"parentRowNode\": {\n      \"description\": \"/** The Row Node for the group that got expanded, or undefined if top level (ie no parent) */\",\n      \"type\": { \"returnType\": \"IRowNode\", \"optional\": true }\n    },\n    \"rowGroupColumns\": {\n      \"description\": \"/** Active Row Group Columns, if any. */\",\n      \"type\": { \"returnType\": \"Column[]\", \"optional\": false }\n    },\n    \"pivotColumns\": {\n      \"description\": \"/** Active Pivot Columns, if any. */\",\n      \"type\": { \"returnType\": \"Column[]\", \"optional\": false }\n    },\n    \"pivotMode\": {\n      \"description\": \"/** true if pivot mode is active. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<any>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"IsServerSideGroupOpenByDefaultParams\": {\n    \"data\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"rowNode\": { \"type\": { \"returnType\": \"IRowNode\", \"optional\": false } },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<any>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"IsApplyServerSideTransactionParams\": {\n    \"transaction\": {\n      \"description\": \"/** The transaction getting applied. */\",\n      \"type\": { \"returnType\": \"ServerSideTransaction\", \"optional\": false }\n    },\n    \"parentNode\": {\n      \"description\": \"/** The parent RowNode, if transaction is applied to a group. */\",\n      \"type\": { \"returnType\": \"IRowNode\", \"optional\": false }\n    },\n    \"storeInfo\": {\n      \"description\": \"/** @deprecated use groupLevelInfo instead */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"groupLevelInfo\": {\n      \"description\": \"/** Store info, if any, as passed via the success() callback when loading data. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<any>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"GetRowIdParams\": {\n    \"data\": {\n      \"description\": \"/** The data item provided to the grid for the row in question */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"level\": {\n      \"description\": \"/** If grouping, the level, ie how many levels from the top. Used by ServerSide Row Model only */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"parentKeys\": {\n      \"description\": \"/** If grouping, provides the keys of the parent groups. Used by ServerSide Row Model only */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ProcessRowParams\": {\n    \"eRow\": { \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false } },\n    \"ePinnedLeftRow\": {\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"ePinnedRightRow\": {\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"rowIndex\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"node\": { \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false } },\n    \"addRenderedRowListener\": {\n      \"type\": {\n        \"arguments\": { \"eventType\": \"string\", \"listener\": \"Function\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"FillOperationParams\": {\n    \"event\": {\n      \"description\": \"/** The mouse event for the fill operation. */\",\n      \"type\": { \"returnType\": \"MouseEvent\", \"optional\": false }\n    },\n    \"values\": {\n      \"description\": \"/** The values that have been processed by the fill operation. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": false }\n    },\n    \"rowNode\": {\n      \"description\": \"/** The RowNode of the current cell being changed. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** The Column of the current cell being changed. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"initialValues\": {\n      \"description\": \"/** The values that were present before processing started. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": false }\n    },\n    \"currentIndex\": {\n      \"description\": \"/** The index of the current processed value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"currentCellValue\": {\n      \"description\": \"/** The value of the cell being currently processed by the Fill Operation. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"direction\": {\n      \"description\": \"/** The direction of the Fill Operation. */\",\n      \"type\": {\n        \"returnType\": \"'up' | 'down' | 'left' | 'right'\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"RowHeightParams\": {\n    \"data\": {\n      \"description\": \"/** The data associated with this row from rowData. Data is `undefined` for row groups. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The RowNode of the row in question. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IsExternalFilterPresentParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"InitialGroupOrderComparatorParams\": {\n    \"nodeA\": { \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false } },\n    \"nodeB\": { \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"GetGroupRowAggParams\": {\n    \"nodes\": {\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"PostSortRowsParams\": {\n    \"nodes\": {\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IsFullWidthRowParams\": {\n    \"rowNode\": {\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"GetLocaleTextParams\": {\n    \"key\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"defaultValue\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"variableValues\": {\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"GetGroupAggFilteringParams\": {\n    \"node\": { \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ICellEditor\": {\n    \"getValue\": {\n      \"description\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"isPopup\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getPopupPosition\": {\n      \"description\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"'over' | 'under' | undefined\",\n        \"optional\": true\n      }\n    },\n    \"isCancelBeforeStart\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"isCancelAfterEnd\": {\n      \"description\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"focusIn\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"focusOut\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"ICellEditorParams\": {\n    \"value\": {\n      \"description\": \"/** Current value of the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"eventKey\": {\n      \"description\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"charPress\": {\n      \"description\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Grid column */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** Column definition */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the cell */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Row data */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** Editing row index */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"cellStartedEdit\": {\n      \"description\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"onKeyDown\": {\n      \"description\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"KeyboardEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"stopEditing\": {\n      \"description\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"type\": {\n        \"arguments\": { \"suppressNavigateAfterEdit?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"parseValue\": {\n      \"description\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"formatValue\": {\n      \"description\": \"/** Utility function to format a value using the column's `colDef.valueFormatter` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ICellEditorComp\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"getValue\": {\n      \"description\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"isPopup\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getPopupPosition\": {\n      \"description\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"'over' | 'under' | undefined\",\n        \"optional\": true\n      }\n    },\n    \"isCancelBeforeStart\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"isCancelAfterEnd\": {\n      \"description\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"focusIn\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"focusOut\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"T\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ChartGroupsDef\": {\n    \"columnGroup\": {\n      \"type\": {\n        \"returnType\": \"('column' | 'stackedColumn' | 'normalizedColumn')[]\",\n        \"optional\": true\n      }\n    },\n    \"barGroup\": {\n      \"type\": {\n        \"returnType\": \"('bar' | 'stackedBar' | 'normalizedBar')[]\",\n        \"optional\": true\n      }\n    },\n    \"pieGroup\": {\n      \"type\": { \"returnType\": \"('pie' | 'doughnut')[]\", \"optional\": true }\n    },\n    \"lineGroup\": { \"type\": { \"returnType\": \"('line')[]\", \"optional\": true } },\n    \"scatterGroup\": {\n      \"type\": { \"returnType\": \"('scatter' | 'bubble')[]\", \"optional\": true }\n    },\n    \"areaGroup\": {\n      \"type\": {\n        \"returnType\": \"('area' | 'stackedArea' | 'normalizedArea')[]\",\n        \"optional\": true\n      }\n    },\n    \"histogramGroup\": {\n      \"type\": { \"returnType\": \"('histogram')[]\", \"optional\": true }\n    },\n    \"combinationGroup\": {\n      \"type\": {\n        \"returnType\": \"('columnLineCombo' | 'areaColumnCombo' | 'customCombo')[]\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ChartToolPanelName\": {},\n  \"ChartSettingsPanel\": {\n    \"chartGroupsDef\": {\n      \"description\": \"/** Chart groups customisations for which charts are displayed in the settings panel */\",\n      \"type\": { \"returnType\": \"ChartGroupsDef\", \"optional\": true }\n    }\n  },\n  \"ChartFormatPanelGroup\": {},\n  \"ChartDataPanelGroup\": {},\n  \"ChartPanelGroupDef\": {\n    \"type\": {\n      \"description\": \"/** The panel group type */\",\n      \"type\": { \"returnType\": \"GroupType\", \"optional\": false }\n    },\n    \"isOpen\": {\n      \"description\": \"/** Whether the panel group is open by default. If not specified, it is closed */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"GroupType\"] }\n  },\n  \"ChartFormatPanel\": {\n    \"groups\": {\n      \"description\": \"/** The format panel group configurations, their order and whether they are shown. If not specified shows all groups */\",\n      \"type\": {\n        \"returnType\": \"ChartPanelGroupDef<ChartFormatPanelGroup>[]\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ChartDataPanel\": {\n    \"groups\": {\n      \"description\": \"/** The data panel group configurations, their order and whether they are shown. If not specified shows all groups */\",\n      \"type\": {\n        \"returnType\": \"ChartPanelGroupDef<ChartDataPanelGroup>[]\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ChartToolPanelsDef\": {\n    \"settingsPanel\": {\n      \"description\": \"/** Customisations for the settings panel and chart menu items in the Context Menu. */\",\n      \"type\": { \"returnType\": \"ChartSettingsPanel\", \"optional\": true }\n    },\n    \"formatPanel\": {\n      \"description\": \"/** Customisations for the format panel */\",\n      \"type\": { \"returnType\": \"ChartFormatPanel\", \"optional\": true }\n    },\n    \"dataPanel\": {\n      \"description\": \"/** Customisations for the data panel */\",\n      \"type\": { \"returnType\": \"ChartDataPanel\", \"optional\": true }\n    },\n    \"panels\": {\n      \"description\": \"/** The ordered list of panels to show in the chart tool panels. If none specified, all panels are shown */\",\n      \"type\": { \"returnType\": \"ChartToolPanelName[]\", \"optional\": true }\n    },\n    \"defaultToolPanel\": {\n      \"description\": \"/** The panel to open by default when the chart loads. If none specified, the tool panel is hidden by default and the first panel is open when triggered. */\",\n      \"type\": { \"returnType\": \"ChartToolPanelName\", \"optional\": true }\n    }\n  },\n  \"ChartType\": {},\n  \"CrossFilterChartType\": {},\n  \"ChartToolPanelMenuOptions\": {},\n  \"ChartToolbarMenuItemOptions\": {},\n  \"ChartMenuOptions\": {},\n  \"SeriesChartType\": {\n    \"colId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"chartType\": { \"type\": { \"returnType\": \"ChartType\", \"optional\": false } },\n    \"secondaryAxis\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } }\n  },\n  \"GetChartImageDataUrlParams\": {\n    \"chartId\": {\n      \"description\": \"/** The id of the created chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"fileFormat\": {\n      \"description\": \"/** A string indicating the image format.\\n     * The default format type is `image/png`.\\n     * Options: `image/png`, `image/jpeg`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"ChartDownloadParams\": {\n    \"chartId\": {\n      \"description\": \"/** The id of the created chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"fileName\": {\n      \"description\": \"/** Name of downloaded image file. The chart title will be used by default */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fileFormat\": {\n      \"description\": \"/** A string indicating the image format.\\n     * The default format type is `image/png`.\\n     * Options: `image/png`, `image/jpeg`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"dimensions\": {\n      \"description\": \"/** Dimensions of downloaded chart image in pixels. The current chart dimensions will be used if not specified.\\n     */\",\n      \"type\": {\n        \"returnType\": \"{\\n        width: number;\\n        height: number;\\n    }\",\n        \"optional\": true\n      }\n    }\n  },\n  \"CloseChartToolPanelParams\": {\n    \"chartId\": {\n      \"description\": \"/** The id of the created chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ChartModelType\": {},\n  \"OpenChartToolPanelParams\": {\n    \"chartId\": {\n      \"description\": \"/** The id of the created chart. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"panel\": {\n      \"description\": \"/** Name of the Chart Tool Panel. The default 'Settings' Tool Panel will be used if not specified.*/\",\n      \"type\": { \"returnType\": \"ChartToolPanelName\", \"optional\": true }\n    }\n  },\n  \"ChartModel\": {\n    \"version\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"modelType\": {\n      \"type\": { \"returnType\": \"ChartModelType\", \"optional\": false }\n    },\n    \"chartId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"chartType\": { \"type\": { \"returnType\": \"ChartType\", \"optional\": false } },\n    \"cellRange\": {\n      \"type\": { \"returnType\": \"CellRangeParams\", \"optional\": false }\n    },\n    \"chartThemeName\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"chartOptions\": {\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": false }\n    },\n    \"chartPalette\": {\n      \"type\": { \"returnType\": \"AgChartThemePalette\", \"optional\": true }\n    },\n    \"suppressChartRanges\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggFunc\": {\n      \"type\": { \"returnType\": \"string | IAggFunc\", \"optional\": true }\n    },\n    \"unlinkChart\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"seriesChartTypes\": {\n      \"type\": { \"returnType\": \"SeriesChartType[]\", \"optional\": true }\n    }\n  },\n  \"IChartService\": {\n    \"getChartModels\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ChartModel[]\",\n        \"optional\": false\n      }\n    },\n    \"getChartRef\": {\n      \"type\": {\n        \"arguments\": { \"chartId\": \"string\" },\n        \"returnType\": \"ChartRef | undefined\",\n        \"optional\": false\n      }\n    },\n    \"createRangeChart\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"CreateRangeChartParams\" },\n        \"returnType\": \"ChartRef | undefined\",\n        \"optional\": false\n      }\n    },\n    \"createCrossFilterChart\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"CreateCrossFilterChartParams\" },\n        \"returnType\": \"ChartRef | undefined\",\n        \"optional\": false\n      }\n    },\n    \"createChartFromCurrentRange\": {\n      \"type\": {\n        \"arguments\": { \"chartType\": \"ChartType\" },\n        \"returnType\": \"ChartRef | undefined\",\n        \"optional\": false\n      }\n    },\n    \"createPivotChart\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"CreatePivotChartParams\" },\n        \"returnType\": \"ChartRef | undefined\",\n        \"optional\": false\n      }\n    },\n    \"restoreChart\": {\n      \"type\": {\n        \"arguments\": {\n          \"model\": \"ChartModel\",\n          \"chartContainer?\": \"HTMLElement\"\n        },\n        \"returnType\": \"ChartRef | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getChartImageDataURL\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"GetChartImageDataUrlParams\" },\n        \"returnType\": \"string | undefined\",\n        \"optional\": false\n      }\n    },\n    \"downloadChart\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"ChartDownloadParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"openChartToolPanel\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"OpenChartToolPanelParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"closeChartToolPanel\": {\n      \"type\": {\n        \"arguments\": { \"chartId\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"CreateChartParams\": {\n    \"chartType\": {\n      \"description\": \"/** The type of chart to create. */\",\n      \"type\": { \"returnType\": \"ChartType\", \"optional\": false }\n    },\n    \"chartThemeName\": {\n      \"description\": \"/** The default theme to use, either a default option or your own custom theme. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"chartContainer\": {\n      \"description\": \"/** Provide to display the chart outside of the grid in your own container. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"chartThemeOverrides\": {\n      \"description\": \"/** Allows specific chart options in the current theme to be overridden. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    },\n    \"unlinkChart\": {\n      \"description\": \"/** When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ChartParamsCellRange\": {},\n  \"CreateRangeChartParams\": {\n    \"cellRange\": {\n      \"description\": \"/** The range of cells to be charted. If no rows / rowIndexes are specified all rows will be included. */\",\n      \"type\": { \"returnType\": \"ChartParamsCellRange\", \"optional\": false }\n    },\n    \"suppressChartRanges\": {\n      \"description\": \"/** Suppress highlighting the selected range in the grid. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggFunc\": {\n      \"description\": \"/** The aggregation function that should be applied to all series data. */\",\n      \"type\": { \"returnType\": \"string | IAggFunc\", \"optional\": true }\n    },\n    \"seriesChartTypes\": {\n      \"description\": \"/** The series chart type configurations used in combination charts */\",\n      \"type\": { \"returnType\": \"SeriesChartType[]\", \"optional\": true }\n    },\n    \"chartType\": {\n      \"description\": \"/** The type of chart to create. */\",\n      \"type\": { \"returnType\": \"ChartType\", \"optional\": false }\n    },\n    \"chartThemeName\": {\n      \"description\": \"/** The default theme to use, either a default option or your own custom theme. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"chartContainer\": {\n      \"description\": \"/** Provide to display the chart outside of the grid in your own container. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"chartThemeOverrides\": {\n      \"description\": \"/** Allows specific chart options in the current theme to be overridden. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    },\n    \"unlinkChart\": {\n      \"description\": \"/** When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"CreateCrossFilterChartParams\": {\n    \"chartType\": {\n      \"description\": \"/** The type of cross-filter chart to create. */\",\n      \"type\": { \"returnType\": \"CrossFilterChartType\", \"optional\": false }\n    },\n    \"cellRange\": {\n      \"description\": \"/** The range of cells to be charted. If no rows / rowIndexes are specified all rows will be included. */\",\n      \"type\": { \"returnType\": \"ChartParamsCellRange\", \"optional\": false }\n    },\n    \"suppressChartRanges\": {\n      \"description\": \"/** Suppress highlighting the selected range in the grid. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggFunc\": {\n      \"description\": \"/** The aggregation function that should be applied to all series data. */\",\n      \"type\": { \"returnType\": \"string | IAggFunc\", \"optional\": true }\n    },\n    \"chartThemeName\": {\n      \"description\": \"/** The default theme to use, either a default option or your own custom theme. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"chartContainer\": {\n      \"description\": \"/** Provide to display the chart outside of the grid in your own container. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"chartThemeOverrides\": {\n      \"description\": \"/** Allows specific chart options in the current theme to be overridden. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    },\n    \"unlinkChart\": {\n      \"description\": \"/** When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"CreatePivotChartParams\": {\n    \"chartType\": {\n      \"description\": \"/** The type of chart to create. */\",\n      \"type\": { \"returnType\": \"ChartType\", \"optional\": false }\n    },\n    \"chartThemeName\": {\n      \"description\": \"/** The default theme to use, either a default option or your own custom theme. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"chartContainer\": {\n      \"description\": \"/** Provide to display the chart outside of the grid in your own container. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"chartThemeOverrides\": {\n      \"description\": \"/** Allows specific chart options in the current theme to be overridden. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    },\n    \"unlinkChart\": {\n      \"description\": \"/** When enabled the chart will be unlinked from the grid after creation, any updates to the data will not be reflected in the chart. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ClientSideRowModelStep\": {},\n  \"ClientSideRowModelSteps\": {},\n  \"IClientSideRowModel\": {\n    \"onRowGroupOpened\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"rowGroupOpened\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"updateRowData\": {\n      \"type\": {\n        \"arguments\": {\n          \"rowDataTran\": \"RowDataTransaction<TData>\",\n          \"rowNodeOrder?\": \"{ [id: string]: number; } | null\"\n        },\n        \"returnType\": \"RowNodeTransaction<TData> | null\",\n        \"optional\": false\n      }\n    },\n    \"setRowData\": {\n      \"type\": {\n        \"arguments\": { \"rowData\": \"any[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"refreshModel\": {\n      \"type\": {\n        \"arguments\": {\n          \"paramsOrStep\": \"RefreshModelParams | ClientSideRowModelStep | undefined\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"expandOrCollapseAll\": {\n      \"type\": {\n        \"arguments\": { \"expand\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"forEachLeafNode\": {\n      \"type\": {\n        \"arguments\": { \"callback\": \"(node: RowNode, index: number) => void\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"forEachNodeAfterFilter\": {\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(node: RowNode, index: number) => void\",\n          \"includeFooterNodes?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"forEachNodeAfterFilterAndSort\": {\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(node: RowNode, index: number) => void\",\n          \"includeFooterNodes?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"forEachPivotNode\": {\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(node: RowNode, index: number) => void\",\n          \"includeFooterNodes?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"resetRowHeights\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"onRowHeightChanged\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"onRowHeightChangedDebounced\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"batchUpdateRowData\": {\n      \"type\": {\n        \"arguments\": {\n          \"rowDataTransaction\": \"RowDataTransaction<TData>\",\n          \"callback?\": \"(res: RowNodeTransaction<TData>) => void\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"flushAsyncTransactions\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getRootNode\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"RowNode\", \"optional\": false }\n    },\n    \"doAggregate\": {\n      \"type\": {\n        \"arguments\": { \"changedPath?\": \"ChangedPath\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getTopLevelNodes\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"RowNode[] | null\",\n        \"optional\": false\n      }\n    },\n    \"ensureRowsAtPixel\": {\n      \"type\": {\n        \"arguments\": {\n          \"rowNode\": \"RowNode[]\",\n          \"pixel\": \"number\",\n          \"increment\": \"number\"\n        },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"highlightRowAtPixel\": {\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"RowNode | null\", \"pixel?\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getHighlightPosition\": {\n      \"type\": {\n        \"arguments\": { \"pixel\": \"number\", \"rowNode?\": \"RowNode\" },\n        \"returnType\": \"RowHighlightPosition\",\n        \"optional\": false\n      }\n    },\n    \"getLastHighlightedRowNode\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"RowNode | null\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"getRow\": {\n      \"description\": \"/** Returns the rowNode at the given index. */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowNode\": {\n      \"description\": \"/** Returns the rowNode for given id. */\",\n      \"type\": {\n        \"arguments\": { \"id\": \"string\" },\n        \"returnType\": \"RowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowCount\": {\n      \"description\": \"/** Returns the number of rows */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowCount\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowDisplayedIndex\": {\n      \"type\": {\n        \"arguments\": { \"topLevelIndex\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"getRowIndexAtPixel\": {\n      \"description\": \"/** Returns the row index at the given pixel */\",\n      \"type\": {\n        \"arguments\": { \"pixel\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"isRowPresent\": {\n      \"description\": \"/** Returns true if the provided rowNode is in the list of rows to render */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"RowNode\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getRowBounds\": {\n      \"description\": \"/** Returns row top and bottom for a given row */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowBounds | null\",\n        \"optional\": false\n      }\n    },\n    \"isEmpty\": {\n      \"description\": \"/** Returns true if this model has no rows, regardless of model filter. EG if rows present, but filtered\\n     * out, this still returns false. If it returns true, then the grid shows the 'no rows' overlay - but we\\n     * don't show that overlay if the rows are just filtered out. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"isRowsToRender\": {\n      \"description\": \"/** Returns true if no rows (either no rows at all, or the rows are filtered out). This is what the grid\\n     * uses to know if there are rows to render or not. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getNodesInRangeForSelection\": {\n      \"description\": \"/** Returns all rows in range that should be selected. If there is a gap in range (non ClientSideRowModel) then\\n     *  then no rows should be returned  */\",\n      \"type\": {\n        \"arguments\": { \"first\": \"RowNode\", \"last\": \"RowNode | null\" },\n        \"returnType\": \"RowNode[]\",\n        \"optional\": false\n      }\n    },\n    \"forEachNode\": {\n      \"description\": \"/** Iterate through each node. What this does depends on the model type. For clientSide, goes through\\n     * all nodes. For serverSide, goes through what's loaded in memory. */\",\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(rowNode: RowNode, index: number) => void\",\n          \"includeFooterNodes?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getType\": {\n      \"description\": \"/** The base class returns the type. We use this instead of 'instanceof' as the client might provide\\n     * their own implementation of the models in the future. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"RowModelType\",\n        \"optional\": false\n      }\n    },\n    \"isLastRowIndexKnown\": {\n      \"description\": \"/** It tells us if this row model knows about the last row that it can produce. This is used by the\\n     * PaginationPanel, if last row is not found, then the 'last' button is disabled and the last page is\\n     * not shown. This is always true for ClientSideRowModel. It toggles for InfiniteRowModel.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"ensureRowHeightsValid\": {\n      \"description\": \"/** Used by CSRM only - is makes sure there are now estimated row heights within the range. */\",\n      \"type\": {\n        \"arguments\": {\n          \"startPixel\": \"number\",\n          \"endPixel\": \"number\",\n          \"startLimitIndex\": \"number\",\n          \"endLimitIndex\": \"number\"\n        },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"start\": {\n      \"description\": \"/** Gets called after grid is initialised. What happens depends on row model. Client Side will take rowData\\n     * from gridOptions, the other row models will start calling their datasources. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"RefreshModelParams\": {\n    \"step\": {\n      \"type\": { \"returnType\": \"ClientSideRowModelSteps\", \"optional\": false }\n    },\n    \"groupState\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"keepRenderedRows\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"animate\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"keepEditingRows\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowNodeTransactions\": {\n      \"type\": { \"returnType\": \"RowNodeTransaction<TData>[]\", \"optional\": true }\n    },\n    \"rowNodeOrder\": {\n      \"type\": { \"returnType\": \"{ [id: string]: number }\", \"optional\": true }\n    },\n    \"newData\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"afterColumnsChanged\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepUndoRedoStack\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"IClipboardCopyParams\": {\n    \"includeHeaders\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"includeGroupHeaders\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"IClipboardCopyRowsParams\": {\n    \"columnKeys\": {\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    },\n    \"includeHeaders\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"includeGroupHeaders\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"IClipboardService\": {\n    \"pasteFromClipboard\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"copyToClipboard\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"IClipboardCopyParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"cutToClipboard\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"IClipboardCopyParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"copySelectedRowsToClipboard\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"IClipboardCopyRowsParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"copySelectedRangeToClipboard\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"IClipboardCopyParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"copyRangeDown\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"IColumnToolPanel\": {\n    \"expandColumnGroups\": {\n      \"type\": {\n        \"arguments\": { \"groupIds?\": \"string[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"collapseColumnGroups\": {\n      \"type\": {\n        \"arguments\": { \"groupIds?\": \"string[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setColumnLayout\": {\n      \"type\": {\n        \"arguments\": { \"colDefs\": \"(ColDef | ColGroupDef)[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"syncLayoutWithGrid\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"setPivotModeSectionVisible\": {\n      \"type\": {\n        \"arguments\": { \"visible\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowGroupsSectionVisible\": {\n      \"type\": {\n        \"arguments\": { \"visible\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setValuesSectionVisible\": {\n      \"type\": {\n        \"arguments\": { \"visible\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setPivotSectionVisible\": {\n      \"type\": {\n        \"arguments\": { \"visible\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"refresh\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"ColumnVO\": {\n    \"id\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"displayName\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"field\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"aggFunc\": { \"type\": { \"returnType\": \"string\", \"optional\": true } }\n  },\n  \"WithoutGridCommon\": {\n    \"meta\": { \"typeParams\": [\"T extends AgGridCommon<any, any>\"] }\n  },\n  \"AgGridCommon\": {\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData\", \"TContext\"] }\n  },\n  \"IComponent\": {\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"T\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"T\"] }\n  },\n  \"IContextMenuFactory\": {\n    \"onContextMenu\": {\n      \"type\": {\n        \"arguments\": {\n          \"mouseEvent\": \"MouseEvent | null\",\n          \"touchEvent\": \"TouchEvent | null\",\n          \"rowNode\": \"RowNode | null\",\n          \"column\": \"Column | null\",\n          \"value\": \"any\",\n          \"anchorToElement\": \"HTMLElement\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"hideActiveMenu\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"ICsvCreator\": {\n    \"getDataAsCsv\": {\n      \"type\": {\n        \"arguments\": {\n          \"params?\": \"CsvExportParams\",\n          \"skipDefaultParams?\": \"boolean\"\n        },\n        \"returnType\": \"string\",\n        \"optional\": false\n      }\n    },\n    \"exportDataAsCsv\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"CsvExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IDatasource\": {\n    \"rowCount\": {\n      \"description\": \"/** If you know up front how many rows are in the dataset, set it here. Otherwise leave blank. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"getRows\": {\n      \"description\": \"/** Callback the grid calls that you implement to fetch rows from the server. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IGetRowsParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Optional destroy method, if your datasource has state it needs to clean up. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"IGetRowsParams\": {\n    \"startRow\": {\n      \"description\": \"/** The first row index to get. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"endRow\": {\n      \"description\": \"/** The first row index to NOT get. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"successCallback\": {\n      \"description\": \"/** Callback to call for the result when successful. */\",\n      \"type\": {\n        \"arguments\": { \"rowsThisBlock\": \"any[]\", \"lastRow?\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"failCallback\": {\n      \"description\": \"/** Callback to call when the request fails. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"sortModel\": {\n      \"description\": \"/** If doing server side sorting, contains the sort model */\",\n      \"type\": { \"returnType\": \"SortModelItem[]\", \"optional\": false }\n    },\n    \"filterModel\": {\n      \"description\": \"/** If doing server side filtering, contains the filter model */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** The context as provided on `gridOptions.context` */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"IEventEmitter\": {\n    \"addEventListener\": {\n      \"type\": {\n        \"arguments\": {\n          \"eventType\": \"string\",\n          \"listener\": \"EventListener\",\n          \"async?\": \"boolean\",\n          \"options?\": \"AddEventListenerOptions\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"removeEventListener\": {\n      \"type\": {\n        \"arguments\": {\n          \"eventType\": \"string\",\n          \"listener\": \"EventListener\",\n          \"async?\": \"boolean\",\n          \"options?\": \"AddEventListenerOptions\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ExcelStyle\": {\n    \"id\": {\n      \"description\": \"/** The id of the Excel Style, this should match a CSS cell class. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"alignment\": {\n      \"description\": \"/** Use this property to customise cell alignment properties. */\",\n      \"type\": { \"returnType\": \"ExcelAlignment\", \"optional\": true }\n    },\n    \"borders\": {\n      \"description\": \"/** Use this property to customise cell borders. */\",\n      \"type\": { \"returnType\": \"ExcelBorders\", \"optional\": true }\n    },\n    \"dataType\": {\n      \"description\": \"/** Use this property to specify the type of data being exported. */\",\n      \"type\": { \"returnType\": \"ExcelDataType\", \"optional\": true }\n    },\n    \"font\": {\n      \"description\": \"/** Use this property to customise the font used in the cell. */\",\n      \"type\": { \"returnType\": \"ExcelFont\", \"optional\": true }\n    },\n    \"interior\": {\n      \"description\": \"/** Use this property to customise the cell background. */\",\n      \"type\": { \"returnType\": \"ExcelInterior\", \"optional\": true }\n    },\n    \"numberFormat\": {\n      \"description\": \"/** Use this property to customise the cell value as a formatted number. */\",\n      \"type\": { \"returnType\": \"ExcelNumberFormat\", \"optional\": true }\n    },\n    \"protection\": {\n      \"description\": \"/** Use this property to setup cell protection. */\",\n      \"type\": { \"returnType\": \"ExcelProtection\", \"optional\": true }\n    },\n    \"name\": {\n      \"description\": \"/** @deprecated Legacy property\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"ExcelAlignment\": {\n    \"horizontal\": {\n      \"description\": \"/** Use this property to change the cell horizontal alignment.\\n     * Default: `Automatic`\\n     */\",\n      \"type\": {\n        \"returnType\": \"'Automatic' | 'Left' | 'Center' | 'Right' | 'Fill' | 'Justify' | 'CenterAcrossSelection' | 'Distributed' | 'JustifyDistributed'\",\n        \"optional\": true\n      }\n    },\n    \"indent\": {\n      \"description\": \"/** Use this property to change the level of indentation in the cell.\\n     * Default: 0\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"readingOrder\": {\n      \"description\": \"/** Use this property to change the cell reading order.\\n     * Default: `LeftToRight`\\n     */\",\n      \"type\": {\n        \"returnType\": \"'RightToLeft' | 'LeftToRight' | 'Context'\",\n        \"optional\": true\n      }\n    },\n    \"rotate\": {\n      \"description\": \"/** The number of degrees between 0 and 359 to rotate the text.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"shrinkToFit\": {\n      \"description\": \"/** If set to `true`, the font size of the cell will automatically change to force the text to fit within the cell.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"vertical\": {\n      \"description\": \"/** Use this property to change the cell vertical alignment.\\n     * Default: `Automatic`\\n     */\",\n      \"type\": {\n        \"returnType\": \"'Automatic' | 'Top' | 'Bottom' | 'Center' | 'Justify' | 'Distributed' | 'JustifyDistributed'\",\n        \"optional\": true\n      }\n    },\n    \"wrapText\": {\n      \"description\": \"/** If set to `true`, multiline text will be displayed as multiline by Excel.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"verticalText\": {\n      \"description\": \"/** @deprecated Legacy property\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ExcelBorders\": {\n    \"borderBottom\": {\n      \"description\": \"/** Use to set the cell's bottom border. */\",\n      \"type\": { \"returnType\": \"ExcelBorder\", \"optional\": true }\n    },\n    \"borderLeft\": {\n      \"description\": \"/** Use to set the cell's left border. */\",\n      \"type\": { \"returnType\": \"ExcelBorder\", \"optional\": true }\n    },\n    \"borderRight\": {\n      \"description\": \"/** Use to set the cell's right border. */\",\n      \"type\": { \"returnType\": \"ExcelBorder\", \"optional\": true }\n    },\n    \"borderTop\": {\n      \"description\": \"/** Use to set the cell's top border. */\",\n      \"type\": { \"returnType\": \"ExcelBorder\", \"optional\": true }\n    }\n  },\n  \"ExcelBorder\": {\n    \"color\": {\n      \"description\": \"/** The color or the border.\\n     * Default: `black`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"lineStyle\": {\n      \"description\": \"/** The style of the border.\\n     * Default: `None`\\n     */\",\n      \"type\": {\n        \"returnType\": \"'None' | 'Continuous' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot' | 'SlantDashDot' | 'Double'\",\n        \"optional\": true\n      }\n    },\n    \"weight\": {\n      \"description\": \"/** The thickness of the border from 0 (thin) to 3 (thick).\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"0 | 1 | 2 | 3\", \"optional\": true }\n    }\n  },\n  \"ExcelFont\": {\n    \"bold\": {\n      \"description\": \"/** Set to `true` to set the cell text to bold.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The color of the cell font.\\n     * Default: `#000000`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"family\": {\n      \"description\": \"/** The family of the font to used in the cell.\\n     * Options: `Automatic`,`Roman`,`Swiss`,`Modern`,`Script`,`Decorative`,\\n     * Default: `Automatic`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontName\": {\n      \"description\": \"/** The name of the font to be used in the cell.\\n     * Default: `Calibri`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"italic\": {\n      \"description\": \"/** Set to `true` to display the cell font as italic.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"outline\": {\n      \"description\": \"/** Set to `true` to add a text outline.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shadow\": {\n      \"description\": \"/** Set to `true` to add text shadow.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** Set this property to used a different font size other than the default.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"strikeThrough\": {\n      \"description\": \"/** Set to `true` to add a strikeThrough line.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"underline\": {\n      \"description\": \"/** Use this property to underline the cell text.     \\n     */\",\n      \"type\": { \"returnType\": \"'Single' | 'Double'\", \"optional\": true }\n    },\n    \"verticalAlign\": {\n      \"description\": \"/** Use this property to change the default font alignment. Note: This is different than setting cell vertical alignment. */\",\n      \"type\": { \"returnType\": \"'Superscript' | 'Subscript'\", \"optional\": true }\n    },\n    \"charSet\": {\n      \"description\": \"/** @deprecated Legacy property\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"ExcelInterior\": {\n    \"pattern\": {\n      \"description\": \"/** Use this property to set background color patterns. */\",\n      \"type\": {\n        \"returnType\": \"'None' | 'Solid' | 'Gray75' | 'Gray50' | 'Gray25' | 'Gray125' | 'Gray0625' | 'HorzStripe' | 'VertStripe' | 'ReverseDiagStripe' | 'DiagStripe' | 'DiagCross' | 'ThickDiagCross' | 'ThinHorzStripe' | 'ThinVertStripe' | 'ThinReverseDiagStripe' | 'ThinDiagStripe' | 'ThinHorzCross' | 'ThinDiagCross'\",\n        \"optional\": false\n      }\n    },\n    \"color\": {\n      \"description\": \"/** The colour to be used as a secondary colour combined with patterns. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"patternColor\": {\n      \"description\": \"/** The pattern color. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"ExcelNumberFormat\": {\n    \"format\": {\n      \"description\": \"/** Use this property to provide a pattern to format a number. (eg. 10000 could become $10,000.00). */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"ExcelProtection\": {\n    \"protected\": {\n      \"description\": \"/** Set to `false` to disable cell protection (locking)\\n     * Default: `true`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"hideFormula\": {\n      \"description\": \"/** Set to `true` to hide formulas within protected cells.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"ExcelWorksheet\": {\n    \"name\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"table\": { \"type\": { \"returnType\": \"ExcelTable\", \"optional\": false } }\n  },\n  \"ExcelTable\": {\n    \"columns\": { \"type\": { \"returnType\": \"ExcelColumn[]\", \"optional\": false } },\n    \"rows\": { \"type\": { \"returnType\": \"ExcelRow[]\", \"optional\": false } }\n  },\n  \"ExcelColumn\": {\n    \"min\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"max\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"outlineLevel\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"s\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"hidden\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"bestFit\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } }\n  },\n  \"ExcelRow\": {\n    \"collapsed\": {\n      \"description\": \"/** Collapsed state. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"hidden\": {\n      \"description\": \"/** Hidden state. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"outlineLevel\": {\n      \"description\": \"/** The indentation level if the current row is part of a row group. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cells\": {\n      \"description\": \"/** An array of ExcelCells. */\",\n      \"type\": { \"returnType\": \"ExcelCell[]\", \"optional\": false }\n    }\n  },\n  \"ExcelCell\": {\n    \"data\": {\n      \"description\": \"/** The data that will be added to the cell. */\",\n      \"type\": { \"returnType\": \"ExcelData\", \"optional\": true }\n    },\n    \"ref\": {\n      \"description\": \"/** Cell reference. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"collapsibleRanges\": {\n      \"description\": \"/** Collapsible ranges. */\",\n      \"type\": { \"returnType\": \"number[][]\", \"optional\": true }\n    },\n    \"styleId\": {\n      \"description\": \"/** The ExcelStyle id to be associated with the cell. */\",\n      \"type\": { \"returnType\": \"string | string[]\", \"optional\": true }\n    },\n    \"mergeAcross\": {\n      \"description\": \"/** The number of cells to span across (1 means span 2 columns).\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"ExcelImagePosition\": {\n    \"row\": {\n      \"description\": \"/** The row containing this image. This property is set automatically, don't change it unless you know what you are doing. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowSpan\": {\n      \"description\": \"/** The amount of rows this image will cover.\\n     * Default: `1`\\n     *  */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"column\": {\n      \"description\": \"/** The column containing this image. This property is set automatically, don't change it unless you know what you are doing. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"colSpan\": {\n      \"description\": \"/** The amount of columns this image will cover.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"offsetX\": {\n      \"description\": \"/** The amount in pixels the image should be offset horizontally.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"offsetY\": {\n      \"description\": \"/** The amount in pixels the image should be offset vertically.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"ExcelImage\": {\n    \"id\": {\n      \"description\": \"/** The image `id`. This field is required so the same image doesn't get imported multiple times.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"base64\": {\n      \"description\": \"/** A base64 string that represents the image being imported.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"imageType\": {\n      \"description\": \"/** The type of image being exported. */\",\n      \"type\": { \"returnType\": \"'jpg' | 'png' | 'gif'\", \"optional\": false }\n    },\n    \"altText\": {\n      \"description\": \"/** Alt Text for the image. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fitCell\": {\n      \"description\": \"/** If set to `true`, the image will cover the whole cell that is being imported to.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"transparency\": {\n      \"description\": \"/** Set a value between 0 - 100 that will indicate the percentage of transparency of the image.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rotation\": {\n      \"description\": \"/** Set a value between 0 - 359 that will indicate the number of degrees to rotate the image clockwise.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"recolor\": {\n      \"description\": \"/** Set this property to select a preset that changes the appearance of the image. */\",\n      \"type\": {\n        \"returnType\": \"'Grayscale' | 'Sepia' | 'Washout'\",\n        \"optional\": true\n      }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the image in pixels. If this value is not selected, `fitCell` will be automatically set to true. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the image in pixels. If this value is not selected, `fitCell` will be automatically set to true. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** Position of the image. */\",\n      \"type\": { \"returnType\": \"ExcelImagePosition\", \"optional\": true }\n    }\n  },\n  \"ExcelDataType\": {},\n  \"ExcelOOXMLDataType\": {},\n  \"ExcelData\": {\n    \"type\": {\n      \"description\": \"/** The type of data being in the cell. */\",\n      \"type\": {\n        \"returnType\": \"ExcelDataType | ExcelOOXMLDataType\",\n        \"optional\": false\n      }\n    },\n    \"value\": {\n      \"description\": \"/** The value of the cell. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    }\n  },\n  \"ExcelRelationship\": {\n    \"Id\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"Type\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"Target\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"ExcelContentType\": {\n    \"name\": {\n      \"type\": { \"returnType\": \"'Default' | 'Override'\", \"optional\": false }\n    },\n    \"ContentType\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"Extension\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"PartName\": { \"type\": { \"returnType\": \"string\", \"optional\": true } }\n  },\n  \"ExcelXMLTemplate\": {\n    \"getTemplate\": {\n      \"type\": {\n        \"arguments\": {\n          \"styleProperties?\": \"ExcelStyle | ExcelWorksheet | ExcelColumn | ExcelRow | ExcelCell\"\n        },\n        \"returnType\": \"XmlElement\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ExcelOOXMLTemplate\": {\n    \"getTemplate\": {\n      \"type\": {\n        \"arguments\": {\n          \"config?\": \"any\",\n          \"idx?\": \"number\",\n          \"currentSheet?\": \"number\"\n        },\n        \"returnType\": \"XmlElement\",\n        \"optional\": false\n      }\n    },\n    \"convertType\": {\n      \"type\": {\n        \"arguments\": { \"type\": \"string\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ExcelFactoryMode\": {},\n  \"ColumnWidthCallbackParams\": {\n    \"column\": { \"type\": { \"returnType\": \"Column | null\", \"optional\": false } },\n    \"index\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"RowHeightCallbackParams\": {\n    \"rowIndex\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"ExcelExportParams\": {\n    \"author\": {\n      \"description\": \"/** The author of the exported file. Default: `\\\"AG Grid\\\"` */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"autoConvertFormulas\": {\n      \"description\": \"/** If set to `true`, this will try to convert any cell that starts with `=` to a formula, instead of setting the cell value as regular string that starts with `=`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnWidth\": {\n      \"description\": \"/** Defines the default column width. If no value is present, each column will have value currently set in the application with a min value of 75px. This property can also be supplied a callback function that returns a number.\\n     */\",\n      \"type\": {\n        \"returnType\": \"number | ((params: ColumnWidthCallbackParams) => number)\",\n        \"optional\": true\n      }\n    },\n    \"exportMode\": {\n      \"description\": \"/** For backwards compatibility, this property could be set to `xml`, which will export an Excel Spreadsheet compatible with old Office versions (prior to Office 2007). Setting this to `xml` is not recommended as some features will not work in legacy mode.\\n     * Default: `xlsx`\\n     */\",\n      \"type\": { \"returnType\": \"'xlsx' | 'xml'\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The default value for the font size of the Excel document.\\n     * Default: `11`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"headerRowHeight\": {\n      \"description\": \"/** The height in pixels of header rows. Defaults to Excel default value. This property can also be supplied a callback function that returns a number.\\n     */\",\n      \"type\": {\n        \"returnType\": \"number | ((params: RowHeightCallbackParams) => number)\",\n        \"optional\": true\n      }\n    },\n    \"rowHeight\": {\n      \"description\": \"/** The height in pixels of all rows. Defaults to Excel default value. This property can also be supplied a callback function that returns a number.\\n     */\",\n      \"type\": {\n        \"returnType\": \"number | ((params: RowHeightCallbackParams) => number)\",\n        \"optional\": true\n      }\n    },\n    \"sheetName\": {\n      \"description\": \"/** The name of the sheet in Excel where the grid will be exported. There is a max limit of 31 characters.\\n     * Default: `ag-grid`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"margins\": {\n      \"description\": \"/** The Excel document page margins. Relevant for printing. */\",\n      \"type\": { \"returnType\": \"ExcelSheetMargin\", \"optional\": true }\n    },\n    \"pageSetup\": {\n      \"description\": \"/** Allows you to setup the page orientation and size. */\",\n      \"type\": { \"returnType\": \"ExcelSheetPageSetup\", \"optional\": true }\n    },\n    \"headerFooterConfig\": {\n      \"description\": \"/** The configuration for header and footers. */\",\n      \"type\": { \"returnType\": \"ExcelHeaderFooterConfig\", \"optional\": true }\n    },\n    \"suppressTextAsCDATA\": {\n      \"description\": \"/** If `true`, text content will be encoded with XML character entities like `&amp;lt;` and `&amp;gt;`. This is only relevant when `exportMode='xml'`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"mimeType\": {\n      \"description\": \"/** The mimeType of the Excel file. Note that this defaults to `application/vnd.ms-excel` if exportMode is `xml`.\\n     * Default: `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"addImageToCell\": {\n      \"description\": \"/** Use to export an image for the gridCell in question. */\",\n      \"type\": {\n        \"arguments\": {\n          \"rowIndex\": \"number\",\n          \"column\": \"Column\",\n          \"value\": \"string\"\n        },\n        \"returnType\": \"{ image: ExcelImage; value?: string; } | undefined\",\n        \"optional\": true\n      }\n    },\n    \"prependContent\": {\n      \"description\": \"/** Content to put at the top of the exported sheet.\\n     */\",\n      \"type\": { \"returnType\": \"ExcelRow[]\", \"optional\": true }\n    },\n    \"appendContent\": {\n      \"description\": \"/** Content to put at the bottom of the exported sheet.\\n     */\",\n      \"type\": { \"returnType\": \"ExcelRow[]\", \"optional\": true }\n    },\n    \"customHeader\": {\n      \"description\": \"/** @deprecated Use prependContent\\n     */\",\n      \"type\": { \"returnType\": \"ExcelRow[]\", \"optional\": true }\n    },\n    \"customFooter\": {\n      \"description\": \"/** @deprecated Use appendContent\\n     */\",\n      \"type\": { \"returnType\": \"ExcelRow[]\", \"optional\": true }\n    },\n    \"getCustomContentBelowRow\": {\n      \"description\": \"/** A callback function to return content to be inserted below a row in the export. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowGroupForExportParams\" },\n        \"returnType\": \"ExcelRow[] | undefined\",\n        \"optional\": true\n      }\n    },\n    \"allColumns\": {\n      \"description\": \"/** If `true`, all columns will be exported in the order they appear in the columnDefs.\\n     * When `false` only the columns currently being displayed will be exported.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnKeys\": {\n      \"description\": \"/** Provide a list (an array) of column keys or Column objects if you want to export specific columns.\\n     */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    },\n    \"rowPositions\": {\n      \"description\": \"/** Row node positions. */\",\n      \"type\": { \"returnType\": \"RowPosition[]\", \"optional\": true }\n    },\n    \"fileName\": {\n      \"description\": \"/** String to use as the file name.\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"exportedRows\": {\n      \"description\": \"/** Determines whether rows are exported before being filtered and sorted.\\n     * Default: `filteredAndSorted`\\n     */\",\n      \"type\": { \"returnType\": \"'all' | 'filteredAndSorted'\", \"optional\": true }\n    },\n    \"onlySelected\": {\n      \"description\": \"/** Export only selected rows.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"onlySelectedAllPages\": {\n      \"description\": \"/** Only export selected rows including other pages (only makes sense when using pagination).\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipColumnGroupHeaders\": {\n      \"description\": \"/** Set to `true` to exclude header column groups.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipColumnHeaders\": {\n      \"description\": \"/** Set to `true` if you don't want to export column headers.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipRowGroups\": {\n      \"description\": \"/** Set to `true` to skip row group headers if grouping rows. Only relevant when grouping rows.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipPinnedTop\": {\n      \"description\": \"/** Set to `true` to suppress exporting rows pinned to the top of the grid.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipPinnedBottom\": {\n      \"description\": \"/** Set to `true` to suppress exporting rows pinned to the bottom of the grid.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shouldRowBeSkipped\": {\n      \"description\": \"/** A callback function that will be invoked once per row in the grid. Return true to omit the row from the export.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ShouldRowBeSkippedParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"processCellCallback\": {\n      \"description\": \"/** A callback function invoked once per cell in the grid. Return a string value to be displayed in the export. For example this is useful for formatting date values.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processHeaderCallback\": {\n      \"description\": \"/** A callback function invoked once per column. Return a string to be displayed in the column header.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessHeaderForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processGroupHeaderCallback\": {\n      \"description\": \"/** A callback function invoked once per column group. Return a `string` to be displayed in the column group header.\\n     * Note that column groups are exported by default, this option will not work with `skipColumnGroupHeaders=true`.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"processRowGroupCallback\": {\n      \"description\": \"/** A callback function invoked once per row group. Return a `string` to be displayed in the group cell.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowGroupForExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"columnGroups\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipGroups\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipHeader\": {\n      \"description\": \"/** @deprecated */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ExcelExportMultipleSheetParams\": {\n    \"author\": {\n      \"description\": \"/** The author of the exported file.\\n     * Default: `AG Grid`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** Array of strings containing the raw data for Excel workbook sheets.\\n     * This property is only used when exporting to multiple sheets using `api.exportMultipleSheetsAsExcel()` and the data for each sheet is obtained by calling `api.getSheetDataForExcel()`.\\n     */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"fileName\": {\n      \"description\": \"/** String to use as the file name.\\n     * Default: `export.xlsx`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** The default value for the font size of the Excel document.\\n     * Default: `11`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"mimeType\": {\n      \"description\": \"/** The mimeType of the Excel file.\\n     * Default: `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"ExcelHeaderFooterConfig\": {\n    \"all\": {\n      \"description\": \"/** The configuration for header and footer on every page. */\",\n      \"type\": { \"returnType\": \"ExcelHeaderFooter\", \"optional\": true }\n    },\n    \"first\": {\n      \"description\": \"/** The configuration for header and footer on the first page only. */\",\n      \"type\": { \"returnType\": \"ExcelHeaderFooter\", \"optional\": true }\n    },\n    \"even\": {\n      \"description\": \"/** The configuration for header and footer on even numbered pages only. */\",\n      \"type\": { \"returnType\": \"ExcelHeaderFooter\", \"optional\": true }\n    }\n  },\n  \"ExcelHeaderFooter\": {\n    \"header\": {\n      \"description\": \"/** An array of maximum 3 items (`Left`, `Center`, `Right`), containing header configurations. */\",\n      \"type\": { \"returnType\": \"ExcelHeaderFooterContent[]\", \"optional\": true }\n    },\n    \"footer\": {\n      \"description\": \"/** An array of maximum 3 items (`Left`, `Center`, `Right`), containing footer configurations. */\",\n      \"type\": { \"returnType\": \"ExcelHeaderFooterContent[]\", \"optional\": true }\n    }\n  },\n  \"ExcelHeaderFooterContent\": {\n    \"value\": {\n      \"description\": \"/** The value of the text to be included in the header. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"position\": {\n      \"description\": \"/** Configures where the text should be added: `Left`, `Center` or `Right`.\\n     * Default: `Left`\\n     */\",\n      \"type\": { \"returnType\": \"'Left' | 'Center' | 'Right'\", \"optional\": true }\n    },\n    \"font\": {\n      \"description\": \"/** The font style of the header/footer value. */\",\n      \"type\": { \"returnType\": \"ExcelFont\", \"optional\": true }\n    }\n  },\n  \"IExcelCreator\": {\n    \"exportDataAsExcel\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"ExcelExportParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getDataAsExcel\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"ExcelExportParams\" },\n        \"returnType\": \"Blob | string | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getSheetDataForExcel\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"ExcelExportParams\" },\n        \"returnType\": \"string\",\n        \"optional\": false\n      }\n    },\n    \"getMultipleSheetsAsExcel\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"ExcelExportMultipleSheetParams\" },\n        \"returnType\": \"Blob | undefined\",\n        \"optional\": false\n      }\n    },\n    \"exportMultipleSheetsAsExcel\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"ExcelExportMultipleSheetParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setFactoryMode\": {\n      \"description\": \"/** private methods */\",\n      \"type\": {\n        \"arguments\": {\n          \"factoryMode\": \"ExcelFactoryMode\",\n          \"exportMode\": \"'xml' | 'xlsx'\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getFactoryMode\": {\n      \"type\": {\n        \"arguments\": { \"exportMode\": \"'xml' | 'xlsx'\" },\n        \"returnType\": \"ExcelFactoryMode\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ExcelSheetMargin\": {\n    \"top\": {\n      \"description\": \"/** The sheet top margin.\\n     * Default: `0.75`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"right\": {\n      \"description\": \"/** The sheet right margin.\\n     * Default: `0.7`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"bottom\": {\n      \"description\": \"/** The sheet bottom margin.\\n     * Default: `0.75`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"left\": {\n      \"description\": \"/** The sheet left margin.\\n     * Default: `0.7`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"header\": {\n      \"description\": \"/** The sheet header margin.\\n     * Default: `0.3`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"footer\": {\n      \"description\": \"/** The sheet footer margin.\\n     * Default: `0.3`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"ExcelSheetPageSetup\": {\n    \"orientation\": {\n      \"description\": \"/** Use this property to change the print orientation.\\n     * Default: `Portrait`\\n     */\",\n      \"type\": { \"returnType\": \"'Portrait' | 'Landscape'\", \"optional\": true }\n    },\n    \"pageSize\": {\n      \"description\": \"/** Use this property to set the sheet size.\\n     * Default: `Letter`\\n     */\",\n      \"type\": {\n        \"returnType\": \"'Letter' | 'Letter Small' | 'Tabloid' | 'Ledger' | 'Legal' | 'Statement' | 'Executive' | 'A3' | 'A4' | 'A4 Small' | 'A5' | 'A6' | 'B4' | 'B5' | 'Folio' | 'Envelope' | 'Envelope DL' | 'Envelope C5' | 'Envelope B5' | 'Envelope C3' | 'Envelope C4' | 'Envelope C6' | 'Envelope Monarch' | 'Japanese Postcard' | 'Japanese Double Postcard'\",\n        \"optional\": true\n      }\n    }\n  },\n  \"IFilterType\": {},\n  \"IFloatingFilterType\": {},\n  \"IFilterDef\": {\n    \"filter\": {\n      \"description\": \"/** Filter component to use for this column.\\n     * - Set to `true` to use the default filter.\\n     * - Set to the name of a provided filter: `set`, `number`, `text`, `date`.\\n     * - Set to a `IFilterComp`.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"filterFramework\": {\n      \"description\": \"/** @deprecated Provided a custom framework filter to use for this column. As of v27, you can use filter instead for Framework Components.  */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"filterParams\": {\n      \"description\": \"/** Params to be passed to the filter component specified in `filter` or `filterFramework`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"floatingFilterComponent\": {\n      \"description\": \"/** The custom component to be used for rendering the floating filter.\\n     * If none is specified the default AG Grid is used.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"floatingFilterComponentFramework\": {\n      \"description\": \"/** @deprecated Floating filter framework component to use for this column. As of v27, you can use floatingFilterComponent instead for Framework Components. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"floatingFilterComponentParams\": {\n      \"description\": \"/** Params to be passed to `floatingFilterComponent` or `floatingFilterComponentFramework`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    }\n  },\n  \"IFilter\": {\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"ProvidedFilterModel\": {\n    \"filterType\": { \"type\": { \"returnType\": \"string\", \"optional\": true } }\n  },\n  \"IFilterComp\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IFilterParams<TData>\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    },\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"IDoesFilterPassParams\": {\n    \"node\": {\n      \"description\": \"/** The row node in question. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The data part of the row node in question. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"IFilterOptionDef\": {\n    \"displayKey\": {\n      \"description\": \"/** A unique key that does not clash with the built-in filter keys. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"displayName\": {\n      \"description\": \"/** Display name for the filter. Can be replaced by a locale-specific value using a `localeTextFunc`. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"predicate\": {\n      \"description\": \"/** Custom filter logic that returns a boolean based on the `filterValues` and `cellValue`. */\",\n      \"type\": {\n        \"arguments\": { \"filterValues\": \"any[]\", \"cellValue\": \"any\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"numberOfInputs\": {\n      \"description\": \"/** Number of inputs to display for this option. Defaults to `1` if unspecified. */\",\n      \"type\": { \"returnType\": \"0 | 1 | 2\", \"optional\": true }\n    },\n    \"test\": {\n      \"description\": \"/** @deprecated v26.2 use `predicate` instead. */\",\n      \"type\": {\n        \"arguments\": { \"filterValue\": \"any\", \"cellValue\": \"any\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"hideFilterInput\": {\n      \"description\": \"/** @deprecated v26.2 use `numberOfInputs: 0` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"IFilterParams\": {\n    \"column\": {\n      \"description\": \"/** The column this filter is for. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** The column definition for the column. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"rowModel\": {\n      \"description\": \"/** The row model, helpful for looking up data values if needed.\\n     * If the filter needs to know which rows are\\n     * a) in the table,\\n     * b) currently visible (i.e. not already filtered),\\n     * c) which groups,\\n     * d) what order - all of this can be read from the rowModel.\\n     */\",\n      \"type\": { \"returnType\": \"IRowModel\", \"optional\": false }\n    },\n    \"filterChangedCallback\": {\n      \"description\": \"/** A function callback to be called when the filter changes. The\\n     * grid will then respond by filtering the grid data. The callback\\n     * takes one optional parameter which, if included, will get merged\\n     * to the FilterChangedEvent object (useful for passing additional\\n     * information to anyone listening to this event, however such extra\\n     * attributes are not used by the grid).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"additionalEventAttributes?\": \"any\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"filterModifiedCallback\": {\n      \"description\": \"/** A function callback, to be optionally called, when the filter UI changes.\\n     * The grid will respond with emitting a FilterModifiedEvent.\\n     * Apart from emitting the event, the grid takes no further action.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"valueGetter\": {\n      \"description\": \"/** A function callback for the filter to get cell values from provided row data. Called with a\\n     * `ValueGetterParams` to get the value for this filter's column for the provided row data.\\n     *\\n     * The callback takes care of selecting the right column definition and deciding whether to use\\n     * the column `valueGetter` or raw field etc.\\n     */\",\n      \"type\": { \"returnType\": \"ValueGetterFunc<TData>\", \"optional\": false }\n    },\n    \"doesRowPassOtherFilter\": {\n      \"description\": \"/** A function callback, call with a node to be told whether the node passes all filters except the current filter.\\n     * This is useful if you want to only present to the user values that this filter can filter given the status of the other filters.\\n     * The set filter uses this to remove from the list,\\n     * items that are no longer available due to the state of other filters (like Excel type filtering).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IFiltersToolPanel\": {\n    \"setFilterLayout\": {\n      \"type\": {\n        \"arguments\": { \"colDefs\": \"ColDef[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"expandFilterGroups\": {\n      \"type\": {\n        \"arguments\": { \"groupIds?\": \"string[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"collapseFilterGroups\": {\n      \"type\": {\n        \"arguments\": { \"groupIds?\": \"string[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"expandFilters\": {\n      \"type\": {\n        \"arguments\": { \"colIds?\": \"string[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"collapseFilters\": {\n      \"type\": {\n        \"arguments\": { \"colIds?\": \"string[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"syncLayoutWithGrid\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"refresh\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"IFrameworkOverrides\": {\n    \"setTimeout\": {\n      \"description\": \"/** Because Angular uses Zones, you should not use setTimeout or setInterval (as it'll keep angular constantly doing dirty checks etc\\n     * So to get around this, we allow the framework to specify how to execute setTimeout. The default is to just call the browser setTimeout().\\n     */\",\n      \"type\": {\n        \"arguments\": { \"action\": \"any\", \"timeout?\": \"any\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setInterval\": {\n      \"type\": {\n        \"arguments\": { \"action\": \"any\", \"interval?\": \"any\" },\n        \"returnType\": \"AgPromise<number>\",\n        \"optional\": false\n      }\n    },\n    \"addEventListener\": {\n      \"description\": \"/** Again because Angular uses Zones, we allow adding some events outside of Zone JS so that we do not kick off\\n     * the Angular change detection. We do this for some events ONLY, and not all events, just events that get fired\\n     * a lot (eg mouse move), but we need to make sure in AG Grid that we do NOT call any grid callbacks while processing\\n     * these events, as we will be outside of ZoneJS and hence Angular2 Change Detection won't work. However it's fine\\n     * for our code to result in AG Grid events (and Angular application action on these) as these go through\\n     * Event Emitter's.\\n     *\\n     * This was done by Niall and Sean. The problematic events are mouseover, mouseout, mouseenter and mouseleave.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"element\": \"HTMLElement\",\n          \"type\": \"string\",\n          \"listener\": \"EventListenerOrEventListenerObject\",\n          \"options?\": \"boolean | AddEventListenerOptions\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"dispatchEvent\": {\n      \"type\": {\n        \"arguments\": {\n          \"eventType\": \"string\",\n          \"listener\": \"() => {}\",\n          \"global\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"frameworkComponent\": {\n      \"type\": {\n        \"arguments\": { \"name\": \"string\", \"components?\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"isFrameworkComponent\": {\n      \"type\": {\n        \"arguments\": { \"comp\": \"any\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IHeaderColumn\": {\n    \"getUniqueId\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string\", \"optional\": false }\n    },\n    \"getActualWidth\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getMinWidth\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"number | null | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getLeft\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"number | null\",\n        \"optional\": false\n      }\n    },\n    \"getOldLeft\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"number | null\",\n        \"optional\": false\n      }\n    },\n    \"getDefinition\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"AbstractColDef | null\",\n        \"optional\": false\n      }\n    },\n    \"getColumnGroupShow\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ColumnGroupShowType | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getParent\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"IHeaderColumn\",\n        \"optional\": false\n      }\n    },\n    \"isResizable\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"setParent\": {\n      \"type\": {\n        \"arguments\": { \"parent\": \"ColumnGroup | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"isEmptyGroup\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"isMoving\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getPinned\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ColumnPinnedType\",\n        \"optional\": false\n      }\n    },\n    \"addEventListener\": {\n      \"type\": {\n        \"arguments\": {\n          \"eventType\": \"string\",\n          \"listener\": \"EventListener\",\n          \"async?\": \"boolean\",\n          \"options?\": \"AddEventListenerOptions\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"removeEventListener\": {\n      \"type\": {\n        \"arguments\": {\n          \"eventType\": \"string\",\n          \"listener\": \"EventListener\",\n          \"async?\": \"boolean\",\n          \"options?\": \"AddEventListenerOptions\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IImmutableService\": {\n    \"setRowData\": {\n      \"type\": {\n        \"arguments\": { \"data\": \"any[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"isActive\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"IInfiniteRowModel\": {\n    \"setDatasource\": {\n      \"type\": {\n        \"arguments\": { \"datasource\": \"IDatasource | undefined\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"refreshCache\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"purgeCache\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"setRowCount\": {\n      \"type\": {\n        \"arguments\": { \"rowCount\": \"number\", \"maxRowFound?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getRow\": {\n      \"description\": \"/** Returns the rowNode at the given index. */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowNode\": {\n      \"description\": \"/** Returns the rowNode for given id. */\",\n      \"type\": {\n        \"arguments\": { \"id\": \"string\" },\n        \"returnType\": \"RowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowCount\": {\n      \"description\": \"/** Returns the number of rows */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowCount\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowDisplayedIndex\": {\n      \"type\": {\n        \"arguments\": { \"topLevelIndex\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"getRowIndexAtPixel\": {\n      \"description\": \"/** Returns the row index at the given pixel */\",\n      \"type\": {\n        \"arguments\": { \"pixel\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"isRowPresent\": {\n      \"description\": \"/** Returns true if the provided rowNode is in the list of rows to render */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"RowNode\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getRowBounds\": {\n      \"description\": \"/** Returns row top and bottom for a given row */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowBounds | null\",\n        \"optional\": false\n      }\n    },\n    \"isEmpty\": {\n      \"description\": \"/** Returns true if this model has no rows, regardless of model filter. EG if rows present, but filtered\\n     * out, this still returns false. If it returns true, then the grid shows the 'no rows' overlay - but we\\n     * don't show that overlay if the rows are just filtered out. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"isRowsToRender\": {\n      \"description\": \"/** Returns true if no rows (either no rows at all, or the rows are filtered out). This is what the grid\\n     * uses to know if there are rows to render or not. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getNodesInRangeForSelection\": {\n      \"description\": \"/** Returns all rows in range that should be selected. If there is a gap in range (non ClientSideRowModel) then\\n     *  then no rows should be returned  */\",\n      \"type\": {\n        \"arguments\": { \"first\": \"RowNode\", \"last\": \"RowNode | null\" },\n        \"returnType\": \"RowNode[]\",\n        \"optional\": false\n      }\n    },\n    \"forEachNode\": {\n      \"description\": \"/** Iterate through each node. What this does depends on the model type. For clientSide, goes through\\n     * all nodes. For serverSide, goes through what's loaded in memory. */\",\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(rowNode: RowNode, index: number) => void\",\n          \"includeFooterNodes?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getType\": {\n      \"description\": \"/** The base class returns the type. We use this instead of 'instanceof' as the client might provide\\n     * their own implementation of the models in the future. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"RowModelType\",\n        \"optional\": false\n      }\n    },\n    \"isLastRowIndexKnown\": {\n      \"description\": \"/** It tells us if this row model knows about the last row that it can produce. This is used by the\\n     * PaginationPanel, if last row is not found, then the 'last' button is disabled and the last page is\\n     * not shown. This is always true for ClientSideRowModel. It toggles for InfiniteRowModel.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"ensureRowHeightsValid\": {\n      \"description\": \"/** Used by CSRM only - is makes sure there are now estimated row heights within the range. */\",\n      \"type\": {\n        \"arguments\": {\n          \"startPixel\": \"number\",\n          \"endPixel\": \"number\",\n          \"startLimitIndex\": \"number\",\n          \"endLimitIndex\": \"number\"\n        },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"start\": {\n      \"description\": \"/** Gets called after grid is initialised. What happens depends on row model. Client Side will take rowData\\n     * from gridOptions, the other row models will start calling their datasources. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"IMenuFactory\": {\n    \"showMenuAfterButtonClick\": {\n      \"type\": {\n        \"arguments\": {\n          \"column\": \"Column | null\",\n          \"eventSource\": \"HTMLElement\",\n          \"containerType\": \"ContainerType\",\n          \"defaultTab?\": \"string\",\n          \"restrictToTabs?\": \"string[]\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"showMenuAfterMouseEvent\": {\n      \"type\": {\n        \"arguments\": {\n          \"column\": \"Column\",\n          \"mouseEvent\": \"MouseEvent | Touch\",\n          \"defaultTab?\": \"string\",\n          \"restrictToTabs?\": \"string[]\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"isMenuEnabled\": {\n      \"type\": {\n        \"arguments\": { \"column\": \"Column\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"hideActiveMenu\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"ModuleValidationValidResult\": {},\n  \"ModuleValidationInvalidResult\": {},\n  \"ModuleValidationResult\": {},\n  \"Module\": {\n    \"version\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"validate\": {\n      \"description\": \"/** Validation run when registering the module\\n     * \\n     * @return Whether the module is valid or not. If not, a message explaining why it is not valid\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ModuleValidationResult\",\n        \"optional\": true\n      }\n    },\n    \"moduleName\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"beans\": { \"type\": { \"returnType\": \"any[]\", \"optional\": true } },\n    \"agStackComponents\": {\n      \"type\": { \"returnType\": \"ComponentMeta[]\", \"optional\": true }\n    },\n    \"controllers\": {\n      \"type\": { \"returnType\": \"ControllerMeta[]\", \"optional\": true }\n    },\n    \"userComponents\": {\n      \"type\": {\n        \"returnType\": \"{componentName: string, componentClass: any}[]\",\n        \"optional\": true\n      }\n    },\n    \"rowModel\": { \"type\": { \"returnType\": \"RowModelType\", \"optional\": true } },\n    \"dependantModules\": {\n      \"type\": { \"returnType\": \"Module[]\", \"optional\": true }\n    }\n  },\n  \"IMultiFilter\": {\n    \"getChildFilterInstance\": {\n      \"description\": \"/** @returns the child filter instance at the given index. */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"IFilter | undefined\",\n        \"optional\": false\n      }\n    },\n    \"applyModel\": {\n      \"description\": \"/** Applies the model shown in the UI (so that `getModel()` will now return what was in the UI\\n     * when `applyModel()` was called).\\n     * @param source The source of the method call. Default 'api'.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"source?\": \"'api' | 'ui' | 'rowDataUpdated'\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModelFromUi\": {\n      \"description\": \"/** Returns the filter model from the UI. If changes have been made to the UI but not yet\\n     * applied, this model will reflect those changes.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"IMultiFilterDef\": {\n    \"display\": {\n      \"description\": \"/** Configures how the filter is shown in the Multi Filter.\\n     * Default: `inline`\\n     */\",\n      \"type\": {\n        \"returnType\": \"'inline' | 'accordion' | 'subMenu'\",\n        \"optional\": true\n      }\n    },\n    \"title\": {\n      \"description\": \"/** The title to be used when a filter is displayed inside a sub-menu or accordion. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"filter\": {\n      \"description\": \"/** Child filter component to use inside the Multi Filter. */\",\n      \"type\": { \"returnType\": \"IFilterType\", \"optional\": true }\n    },\n    \"filterFramework\": {\n      \"description\": \"/** Child filter component to use inside the Multi Filter. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"filterParams\": {\n      \"description\": \"/** Custom parameters to be passed to the child filter component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"floatingFilterComponent\": {\n      \"description\": \"/** Floating filter component to use for the child filter. */\",\n      \"type\": { \"returnType\": \"IFloatingFilterType\", \"optional\": true }\n    },\n    \"floatingFilterComponentFramework\": {\n      \"description\": \"/** Floating framework filter component to use for the child filter. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"floatingFilterComponentParams\": {\n      \"description\": \"/** Custom parameters to be passed to the floating filter component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    }\n  },\n  \"MultiFilterParams\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IMultiFilterParams\": {\n    \"filters\": {\n      \"description\": \"/** An array of filter definition objects. */\",\n      \"type\": { \"returnType\": \"IMultiFilterDef[]\", \"optional\": true }\n    },\n    \"readOnly\": {\n      \"description\": \"/** If true, all UI inputs managed by this filter are for display only, and the filter can only\\n     * be affected by API calls. Does NOT affect child filters, they need to be individually\\n     * configured with `readOnly` where applicable.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"IMultiFilterModel\": {\n    \"filterType\": {\n      \"description\": \"/** Multi filter type.  */\",\n      \"type\": { \"returnType\": \"'multi'\", \"optional\": true }\n    },\n    \"filterModels\": {\n      \"description\": \"/** Child filter models in the same order as the filters are specified in `filterParams`.\\n     */\",\n      \"type\": { \"returnType\": \"any[] | null\", \"optional\": false }\n    }\n  },\n  \"IMultiFilterComp\": {\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is not active. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ProvidedFilterModel | null\",\n        \"optional\": false\n      }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the child filters using the supplied models. Providing `null` will\\n     * de-activate all child filters.\\n     * \\n     * **Note:** if you are providing values asynchronously to a child Set Filter,\\n     * you need to wait for these changes to be applied before performing any further actions by\\n     * waiting on the returned grid promise, e.g.\\n     * `filter.setModel([null, { values: ['a', 'b'] }]).then(function() { gridApi.onFilterChanged(); });`\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"IMultiFilterModel | null\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"getChildFilterInstance\": {\n      \"description\": \"/** Returns the child filter instance at the specified index or `undefined` for an invalid index.  */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"IFilterComp | undefined\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IPopupComponent\": {\n    \"isPopup\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the component will appear in a popup, and it will be\\n     *  constrained to the boundaries of the popupParent. This is great if you want to, for example, provide you own\\n     * custom dropdown list for selection. Default is false (ie if you don't provide the method). */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"focusIn\": {\n      \"description\": \"/** Called when focus is within the component */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"focusOut\": {\n      \"description\": \"/** Called when focus is leaving the component */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"T\"] },\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"T\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"IProvidedColumn\": {\n    \"isVisible\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getInstanceId\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getColumnGroupShow\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ColumnGroupShowType | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getId\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string\", \"optional\": false }\n    },\n    \"setOriginalParent\": {\n      \"type\": {\n        \"arguments\": { \"originalParent\": \"ProvidedColumnGroup | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IRangeService\": {\n    \"isEmpty\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"removeAllCellRanges\": {\n      \"type\": {\n        \"arguments\": { \"silent?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getCellRangeCount\": {\n      \"type\": {\n        \"arguments\": { \"cell\": \"CellPosition\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"isCellInAnyRange\": {\n      \"type\": {\n        \"arguments\": { \"cell\": \"CellPosition\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"isCellInSpecificRange\": {\n      \"type\": {\n        \"arguments\": { \"cell\": \"CellPosition\", \"range\": \"CellRange\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"isBottomRightCell\": {\n      \"type\": {\n        \"arguments\": { \"cellRange\": \"CellRange\", \"cell\": \"CellPosition\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"isContiguousRange\": {\n      \"type\": {\n        \"arguments\": { \"cellRange\": \"CellRange\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"isMoreThanOneCell\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"areAllRangesAbleToMerge\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"onDragStart\": {\n      \"type\": {\n        \"arguments\": { \"mouseEvent\": \"MouseEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onDragStop\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"onDragging\": {\n      \"type\": {\n        \"arguments\": { \"mouseEvent\": \"MouseEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getCellRanges\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"CellRange[]\",\n        \"optional\": false\n      }\n    },\n    \"setRangeToCell\": {\n      \"type\": {\n        \"arguments\": { \"cell\": \"CellPosition\", \"appendRange?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"intersectLastRange\": {\n      \"type\": {\n        \"arguments\": { \"fromMouseClick?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setCellRange\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"CellRangeParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addCellRange\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"CellRangeParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"extendLatestRangeInDirection\": {\n      \"type\": {\n        \"arguments\": { \"event\": \"KeyboardEvent\" },\n        \"returnType\": \"CellPosition | undefined\",\n        \"optional\": false\n      }\n    },\n    \"extendLatestRangeToCell\": {\n      \"type\": {\n        \"arguments\": { \"cell\": \"CellPosition\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"updateRangeEnd\": {\n      \"type\": {\n        \"arguments\": {\n          \"cellRange\": \"CellRange\",\n          \"cellPosition\": \"CellPosition\",\n          \"silent?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getRangeStartRow\": {\n      \"type\": {\n        \"arguments\": { \"cellRange\": \"CellRange\" },\n        \"returnType\": \"RowPosition\",\n        \"optional\": false\n      }\n    },\n    \"getRangeEndRow\": {\n      \"type\": {\n        \"arguments\": { \"cellRange\": \"CellRange\" },\n        \"returnType\": \"RowPosition\",\n        \"optional\": false\n      }\n    },\n    \"createCellRangeFromCellRangeParams\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"CellRangeParams\" },\n        \"returnType\": \"CellRange | undefined\",\n        \"optional\": false\n      }\n    },\n    \"setCellRanges\": {\n      \"type\": {\n        \"arguments\": { \"cellRanges\": \"CellRange[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"clearCellRangeCellValues\": {\n      \"type\": {\n        \"arguments\": { \"cellRanges?\": \"CellRange[]\", \"source?\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ISelectionHandle\": {\n    \"getGui\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"getType\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"SelectionHandleType\",\n        \"optional\": false\n      }\n    },\n    \"refresh\": {\n      \"type\": {\n        \"arguments\": { \"cellCtrl\": \"CellCtrl\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ISelectionHandleFactory\": {\n    \"createSelectionHandle\": {\n      \"type\": {\n        \"arguments\": { \"type\": \"SelectionHandleType\" },\n        \"returnType\": \"ISelectionHandle\",\n        \"optional\": false\n      }\n    }\n  },\n  \"SelectionHandleType\": {},\n  \"CellRangeType\": {},\n  \"CellRange\": {\n    \"id\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"type\": { \"type\": { \"returnType\": \"CellRangeType\", \"optional\": true } },\n    \"startRow\": {\n      \"description\": \"/** The start row of the range */\",\n      \"type\": { \"returnType\": \"RowPosition\", \"optional\": true }\n    },\n    \"endRow\": {\n      \"description\": \"/** The end row of the range */\",\n      \"type\": { \"returnType\": \"RowPosition\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** The columns in the range */\",\n      \"type\": { \"returnType\": \"Column[]\", \"optional\": false }\n    },\n    \"startColumn\": {\n      \"description\": \"/** The start column for the range */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    }\n  },\n  \"CellRangeParams\": {\n    \"rowStartIndex\": {\n      \"description\": \"/** Start row index */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowStartPinned\": {\n      \"description\": \"/** Pinned state of start row. Either 'top', 'bottom' or null */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": true }\n    },\n    \"rowEndIndex\": {\n      \"description\": \"/** End row index */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"rowEndPinned\": {\n      \"description\": \"/** Pinned state of end row. Either 'top', 'bottom' or null */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": true }\n    },\n    \"columnStart\": {\n      \"description\": \"/** Starting column for range */\",\n      \"type\": { \"returnType\": \"string | Column\", \"optional\": true }\n    },\n    \"columnEnd\": {\n      \"description\": \"/** End column for range */\",\n      \"type\": { \"returnType\": \"string | Column\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** Specify Columns to include instead of using `columnStart` and `columnEnd` */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    }\n  },\n  \"RangeSelection\": {\n    \"start\": { \"type\": { \"returnType\": \"CellPosition\", \"optional\": false } },\n    \"end\": { \"type\": { \"returnType\": \"CellPosition\", \"optional\": false } },\n    \"columns\": {\n      \"type\": { \"returnType\": \"Column[] | null\", \"optional\": false }\n    }\n  },\n  \"AddRangeSelectionParams\": {\n    \"rowStart\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"floatingStart\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"rowEnd\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"floatingEnd\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"columnStart\": {\n      \"type\": { \"returnType\": \"string | Column\", \"optional\": false }\n    },\n    \"columnEnd\": {\n      \"type\": { \"returnType\": \"string | Column\", \"optional\": false }\n    }\n  },\n  \"CellValue\": {},\n  \"IRichCellEditorParams\": {\n    \"values\": {\n      \"description\": \"/** The list of values to be selected from. */\",\n      \"type\": { \"returnType\": \"CellValue[]\", \"optional\": false }\n    },\n    \"cellHeight\": {\n      \"description\": \"/** The row height, in pixels, of each value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"cellRenderer\": {\n      \"description\": \"/** The cell renderer to use to render each value. Cell renderers are useful for rendering rich HTML values, or when processing complex data. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"searchDebounceDelay\": {\n      \"description\": \"/** The value in `ms` for the fuzzy search debounce delay. Default: `300` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"formatValue\": {\n      \"description\": \"/** A callback function that allows you to change the displayed value for simple data. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"value\": {\n      \"description\": \"/** Current value of the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"eventKey\": {\n      \"description\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"charPress\": {\n      \"description\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Grid column */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** Column definition */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the cell */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Row data */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** Editing row index */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"cellStartedEdit\": {\n      \"description\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"onKeyDown\": {\n      \"description\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"KeyboardEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"stopEditing\": {\n      \"description\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"type\": {\n        \"arguments\": { \"suppressNavigateAfterEdit?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"parseValue\": {\n      \"description\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"RowBounds\": {\n    \"rowTop\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"rowHeight\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"rowIndex\": { \"type\": { \"returnType\": \"number\", \"optional\": true } }\n  },\n  \"RowModelType\": {},\n  \"IRowModel\": {\n    \"getRow\": {\n      \"description\": \"/** Returns the rowNode at the given index. */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowNode\": {\n      \"description\": \"/** Returns the rowNode for given id. */\",\n      \"type\": {\n        \"arguments\": { \"id\": \"string\" },\n        \"returnType\": \"RowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowCount\": {\n      \"description\": \"/** Returns the number of rows */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowCount\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowDisplayedIndex\": {\n      \"type\": {\n        \"arguments\": { \"topLevelIndex\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"getRowIndexAtPixel\": {\n      \"description\": \"/** Returns the row index at the given pixel */\",\n      \"type\": {\n        \"arguments\": { \"pixel\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"isRowPresent\": {\n      \"description\": \"/** Returns true if the provided rowNode is in the list of rows to render */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"RowNode\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getRowBounds\": {\n      \"description\": \"/** Returns row top and bottom for a given row */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowBounds | null\",\n        \"optional\": false\n      }\n    },\n    \"isEmpty\": {\n      \"description\": \"/** Returns true if this model has no rows, regardless of model filter. EG if rows present, but filtered\\n     * out, this still returns false. If it returns true, then the grid shows the 'no rows' overlay - but we\\n     * don't show that overlay if the rows are just filtered out. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"isRowsToRender\": {\n      \"description\": \"/** Returns true if no rows (either no rows at all, or the rows are filtered out). This is what the grid\\n     * uses to know if there are rows to render or not. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getNodesInRangeForSelection\": {\n      \"description\": \"/** Returns all rows in range that should be selected. If there is a gap in range (non ClientSideRowModel) then\\n     *  then no rows should be returned  */\",\n      \"type\": {\n        \"arguments\": { \"first\": \"RowNode\", \"last\": \"RowNode | null\" },\n        \"returnType\": \"RowNode[]\",\n        \"optional\": false\n      }\n    },\n    \"forEachNode\": {\n      \"description\": \"/** Iterate through each node. What this does depends on the model type. For clientSide, goes through\\n     * all nodes. For serverSide, goes through what's loaded in memory. */\",\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(rowNode: RowNode, index: number) => void\",\n          \"includeFooterNodes?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getType\": {\n      \"description\": \"/** The base class returns the type. We use this instead of 'instanceof' as the client might provide\\n     * their own implementation of the models in the future. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"RowModelType\",\n        \"optional\": false\n      }\n    },\n    \"isLastRowIndexKnown\": {\n      \"description\": \"/** It tells us if this row model knows about the last row that it can produce. This is used by the\\n     * PaginationPanel, if last row is not found, then the 'last' button is disabled and the last page is\\n     * not shown. This is always true for ClientSideRowModel. It toggles for InfiniteRowModel.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"ensureRowHeightsValid\": {\n      \"description\": \"/** Used by CSRM only - is makes sure there are now estimated row heights within the range. */\",\n      \"type\": {\n        \"arguments\": {\n          \"startPixel\": \"number\",\n          \"endPixel\": \"number\",\n          \"startLimitIndex\": \"number\",\n          \"endLimitIndex\": \"number\"\n        },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"start\": {\n      \"description\": \"/** Gets called after grid is initialised. What happens depends on row model. Client Side will take rowData\\n     * from gridOptions, the other row models will start calling their datasources. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"RowNodeEventType\": {},\n  \"SetSelectedParams\": {\n    \"newValue\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"clearSelection\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"suppressFinishActions\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rangeSelect\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"groupSelectsFiltered\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"source\": {\n      \"type\": { \"returnType\": \"SelectionEventSourceType\", \"optional\": false }\n    }\n  },\n  \"RowNodeEvent\": {\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"RowNodeEventType\", \"optional\": false }\n    },\n    \"node\": { \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"DataChangedEvent\": {\n    \"oldData\": {\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"newData\": {\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"update\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"RowNodeEventType\", \"optional\": false }\n    },\n    \"node\": { \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false } }\n  },\n  \"CellChangedEvent\": {\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } },\n    \"newValue\": {\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"oldValue\": {\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"RowNodeEventType\", \"optional\": false }\n    },\n    \"node\": { \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false } }\n  },\n  \"RowHighlightPosition\": {},\n  \"RowPinnedType\": {},\n  \"BaseRowNode\": {\n    \"id\": {\n      \"description\": \"/** Unique ID for the node. Either provided by the application, or generated by the grid if not. */\",\n      \"type\": { \"returnType\": \"string | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The data as provided by the application.\\n     * Can be `undefined` when using row grouping or during grid initialisation.\\n     */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"displayed\": {\n      \"description\": \"/** This will be `true` if it has a rowIndex assigned, otherwise `false`.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either `'top'` or `'bottom'` if row pinned, otherwise `undefined` or `null`. */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"selectable\": {\n      \"description\": \"/** Is this row selectable. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"rowHeight\": {\n      \"description\": \"/** The height, in pixels, of this row. */\",\n      \"type\": { \"returnType\": \"number | null | undefined\", \"optional\": false }\n    },\n    \"rowTop\": {\n      \"description\": \"/** The row top position in pixels. */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"group\": {\n      \"description\": \"/** `true` if this node is a group node (i.e. it has children) */\",\n      \"type\": { \"returnType\": \"boolean | undefined\", \"optional\": false }\n    },\n    \"firstChild\": {\n      \"description\": \"/** `true` if this is the first child in this group. Changes when data is sorted. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"lastChild\": {\n      \"description\": \"/** `true` if this is the last child in this group. Changes when data is sorted. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"childIndex\": {\n      \"description\": \"/** Index of this row with respect to its parent when grouping. Changes when data is sorted. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"level\": {\n      \"description\": \"/** How many levels this node is from the top when grouping. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"uiLevel\": {\n      \"description\": \"/** How many levels this node is from the top when grouping in the UI (only different to `parent` when `groupRemoveSingleChildren=true`).*/\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"parent\": {\n      \"description\": \"/** The parent node to this node, or empty if top level. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"stub\": {\n      \"description\": \"/** Used by server-side row model. `true` if this row node is a stub. A stub is a placeholder row with loading icon while waiting from row to be loaded. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"failedLoad\": {\n      \"description\": \"/** Used by server side row model, `true` if this row node failed a load. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The current row index. If the row is filtered out or in a collapsed group, this value will be `null`. */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"quickFilterAggregateText\": {\n      \"description\": \"/** If using quick filter, stores a string representation of the row for searching against. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"master\": {\n      \"description\": \"/** `true` if this row is a master row, part of master / detail (ie row can be expanded to show detail). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"detail\": {\n      \"description\": \"/** `true` if this row is a detail row, part of master / detail (ie child row of an expanded master row). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"GroupRowNode\": {\n    \"field\": {\n      \"description\": \"/** The field we are grouping on from our row data. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"key\": {\n      \"description\": \"/** The key value for this group. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"groupData\": {\n      \"description\": \"/** If using row grouping, contains the group values for this group. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: any | null; } | null\",\n        \"optional\": false\n      }\n    },\n    \"aggData\": {\n      \"description\": \"/** If using row grouping and aggregation, contains the aggregation data. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"rowGroupColumn\": {\n      \"description\": \"/** The row group column used for this group. */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"rowGroupIndex\": {\n      \"description\": \"/** If doing in-memory (client-side) grouping, this is the index of the group column this cell is for.\\n     * This will always be the same as the level, unless we are collapsing groups, i.e. `groupRemoveSingleChildren=true`.\\n    */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"expanded\": {\n      \"description\": \"/** `true` if group is expanded, otherwise `false`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"leafGroup\": {\n      \"description\": \"/** `true` if this node is a group and the group is the bottom level in the tree. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"allLeafChildren\": {\n      \"description\": \"/** All lowest level nodes beneath this node, no groups. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"allChildrenCount\": {\n      \"description\": \"/** Number of children and grand children. */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"childrenAfterGroup\": {\n      \"description\": \"/** Children of this group. If multi levels of grouping, shows only immediate children. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[] | null\", \"optional\": false }\n    },\n    \"childrenAfterSort\": {\n      \"description\": \"/** Sorted children of this group. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[] | null\", \"optional\": false }\n    },\n    \"childrenAfterFilter\": {\n      \"description\": \"/** Filtered children of this group. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[] | null\", \"optional\": false }\n    },\n    \"footer\": {\n      \"description\": \"/** `true` if row is a footer. Footers have `group = true` and `footer = true`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"sibling\": {\n      \"description\": \"/** If using footers, reference to the footer node for this group. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"IRowNode\": {\n    \"setSelected\": {\n      \"description\": \"/** Select (or deselect) the node.\\n     * @param newValue -`true` for selection, `false` for deselection.\\n     * @param clearSelection - If selecting, then passing `true` will select the node exclusively (i.e. NOT do multi select). If doing deselection, `clearSelection` has no impact. Default: `false`\\n     * @param suppressFinishActions - Pass `true` to prevent the `selectionChanged` from being fired. Note that the `rowSelected` event will still be fired. Default: `false`\\n     * @param source - Source property that will appear in the `selectionChanged` event. Default: `'api'`\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"newValue\": \"boolean\",\n          \"clearSelection?\": \"boolean\",\n          \"suppressFinishActions?\": \"boolean\",\n          \"source?\": \"SelectionEventSourceType\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"isSelected\": {\n      \"description\": \"/** Returns:\\n     * - `true` if node is selected.\\n     * - `false` if the node isn't selected.\\n     * - `undefined` if it's partially selected (group where not all children are selected). \\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"boolean | undefined\",\n        \"optional\": false\n      }\n    },\n    \"isRowPinned\": {\n      \"description\": \"/** Returns:\\n     * - `true` if node is either pinned to the `top` or `bottom`.\\n     * - `false` if the node isn't pinned.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"isExpandable\": {\n      \"description\": \"/** Returns:\\n    * - `true` if the node can be expanded, i.e it is a group or master row.\\n    * - `false` if the node cannot be expanded.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"setExpanded\": {\n      \"description\": \"/** Set the expanded state of this rowNode. Pass `true` to expand and `false` to collapse.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"expanded\": \"boolean\",\n          \"e?\": \"MouseEvent | KeyboardEvent\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** Returns:\\n     * - `true` if the node is a full width cell.\\n     * - `false` if the node is not a full width cell.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"isHovered\": {\n      \"description\": \"/** Returns:\\n     * - `true` if the node is currently hovered.\\n     * - `false` if the node is not hovered.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"addEventListener\": {\n      \"description\": \"/** Add an event listener. */\",\n      \"type\": {\n        \"arguments\": {\n          \"eventType\": \"RowNodeEventType\",\n          \"listener\": \"Function\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"removeEventListener\": {\n      \"description\": \"/** Remove event listener. */\",\n      \"type\": {\n        \"arguments\": {\n          \"eventType\": \"RowNodeEventType\",\n          \"listener\": \"Function\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"resetQuickFilterAggregateText\": {\n      \"description\": \"/** The first time `quickFilter` runs, the grid creates a one-off string representation of the row.\\n     * This string is then used for the quick filter instead of hitting each column separately.\\n     * When you edit, using grid editing, this string gets cleared down.\\n     * However if you edit without using grid editing, you will need to clear this string down for the row to be updated with the new values.\\n     * Otherwise new values will not work with the `quickFilter`.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"depthFirstSearch\": {\n      \"description\": \"/** Perform a depth-first search of this node and its children. */\",\n      \"type\": {\n        \"arguments\": { \"callback\": \"(rowNode: IRowNode<TData>) => void\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowHeight\": {\n      \"description\": \"/** Sets the row height.\\n     * Call if you want to change the height initially assigned to the row.\\n     * After calling, you must call `api.onRowHeightChanged()` so the grid knows it needs to work out the placement of the rows.\\n     * @param rowHeight - new height of the row\\n     * @param estimated - is this an estimated height. Default: `false`\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"rowHeight\": \"number | undefined | null\",\n          \"estimated?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setData\": {\n      \"description\": \"/** Replaces the data on the `rowNode`. When this method is called, the grid will refresh the entire rendered row if it is displayed.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"data\": \"TData\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"updateData\": {\n      \"description\": \"/** Updates the data on the `rowNode`. When this method is called, the grid will refresh the entire rendered row if it is displayed.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"data\": \"TData\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDataValue\": {\n      \"description\": \"/** Replaces the value on the `rowNode` for the specified column. When complete,\\n     * the grid will refresh the rendered cell on the required row only.\\n     * **Note**: This method on fires `onCellEditRequest` when the Grid is on **Read Only** mode.\\n     *\\n     * @param colKey The column where the value should be updated\\n     * @param newValue The new value\\n     * @param eventSource The source of the event\\n     * @returns `True` if the value was changed, otherwise `False`.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"colKey\": \"string | Column\",\n          \"newValue\": \"any\",\n          \"eventSource?\": \"string\"\n        },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getRoute\": {\n      \"description\": \"/** Returns the route of the row node. If the Row Node is a group, it returns the route to that Row Node.\\n     * If the Row Node is not a group, it returns `undefined`.\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"string[] | undefined\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"id\": {\n      \"description\": \"/** Unique ID for the node. Either provided by the application, or generated by the grid if not. */\",\n      \"type\": { \"returnType\": \"string | undefined\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** The data as provided by the application.\\n     * Can be `undefined` when using row grouping or during grid initialisation.\\n     */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"displayed\": {\n      \"description\": \"/** This will be `true` if it has a rowIndex assigned, otherwise `false`.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"rowPinned\": {\n      \"description\": \"/** Either `'top'` or `'bottom'` if row pinned, otherwise `undefined` or `null`. */\",\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"selectable\": {\n      \"description\": \"/** Is this row selectable. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"rowHeight\": {\n      \"description\": \"/** The height, in pixels, of this row. */\",\n      \"type\": { \"returnType\": \"number | null | undefined\", \"optional\": false }\n    },\n    \"rowTop\": {\n      \"description\": \"/** The row top position in pixels. */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"group\": {\n      \"description\": \"/** `true` if this node is a group node (i.e. it has children) */\",\n      \"type\": { \"returnType\": \"boolean | undefined\", \"optional\": false }\n    },\n    \"firstChild\": {\n      \"description\": \"/** `true` if this is the first child in this group. Changes when data is sorted. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"lastChild\": {\n      \"description\": \"/** `true` if this is the last child in this group. Changes when data is sorted. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"childIndex\": {\n      \"description\": \"/** Index of this row with respect to its parent when grouping. Changes when data is sorted. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"level\": {\n      \"description\": \"/** How many levels this node is from the top when grouping. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"uiLevel\": {\n      \"description\": \"/** How many levels this node is from the top when grouping in the UI (only different to `parent` when `groupRemoveSingleChildren=true`).*/\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"parent\": {\n      \"description\": \"/** The parent node to this node, or empty if top level. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData> | null\", \"optional\": false }\n    },\n    \"stub\": {\n      \"description\": \"/** Used by server-side row model. `true` if this row node is a stub. A stub is a placeholder row with loading icon while waiting from row to be loaded. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"failedLoad\": {\n      \"description\": \"/** Used by server side row model, `true` if this row node failed a load. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The current row index. If the row is filtered out or in a collapsed group, this value will be `null`. */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"quickFilterAggregateText\": {\n      \"description\": \"/** If using quick filter, stores a string representation of the row for searching against. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"master\": {\n      \"description\": \"/** `true` if this row is a master row, part of master / detail (ie row can be expanded to show detail). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"detail\": {\n      \"description\": \"/** `true` if this row is a detail row, part of master / detail (ie child row of an expanded master row). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"field\": {\n      \"description\": \"/** The field we are grouping on from our row data. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"key\": {\n      \"description\": \"/** The key value for this group. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"groupData\": {\n      \"description\": \"/** If using row grouping, contains the group values for this group. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: any | null; } | null\",\n        \"optional\": false\n      }\n    },\n    \"aggData\": {\n      \"description\": \"/** If using row grouping and aggregation, contains the aggregation data. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"rowGroupColumn\": {\n      \"description\": \"/** The row group column used for this group. */\",\n      \"type\": { \"returnType\": \"Column | null\", \"optional\": false }\n    },\n    \"rowGroupIndex\": {\n      \"description\": \"/** If doing in-memory (client-side) grouping, this is the index of the group column this cell is for.\\n     * This will always be the same as the level, unless we are collapsing groups, i.e. `groupRemoveSingleChildren=true`.\\n    */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"expanded\": {\n      \"description\": \"/** `true` if group is expanded, otherwise `false`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"leafGroup\": {\n      \"description\": \"/** `true` if this node is a group and the group is the bottom level in the tree. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"allLeafChildren\": {\n      \"description\": \"/** All lowest level nodes beneath this node, no groups. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"allChildrenCount\": {\n      \"description\": \"/** Number of children and grand children. */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": false }\n    },\n    \"childrenAfterGroup\": {\n      \"description\": \"/** Children of this group. If multi levels of grouping, shows only immediate children. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[] | null\", \"optional\": false }\n    },\n    \"childrenAfterSort\": {\n      \"description\": \"/** Sorted children of this group. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[] | null\", \"optional\": false }\n    },\n    \"childrenAfterFilter\": {\n      \"description\": \"/** Filtered children of this group. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[] | null\", \"optional\": false }\n    },\n    \"footer\": {\n      \"description\": \"/** `true` if row is a footer. Footers have `group = true` and `footer = true`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"sibling\": {\n      \"description\": \"/** If using footers, reference to the footer node for this group. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    }\n  },\n  \"StageExecuteParams\": {\n    \"rowNode\": {\n      \"type\": { \"returnType\": \"RowNode<TData>\", \"optional\": false }\n    },\n    \"rowNodeTransaction\": {\n      \"type\": {\n        \"returnType\": \"RowNodeTransaction<TData> | null\",\n        \"optional\": true\n      }\n    },\n    \"rowNodeTransactions\": {\n      \"type\": {\n        \"returnType\": \"RowNodeTransaction<TData>[] | null\",\n        \"optional\": true\n      }\n    },\n    \"rowNodeOrder\": {\n      \"type\": { \"returnType\": \"{[id: string]: number}\", \"optional\": true }\n    },\n    \"changedPath\": {\n      \"type\": { \"returnType\": \"ChangedPath\", \"optional\": true }\n    },\n    \"afterColumnsChanged\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"IRowNodeStage\": {\n    \"execute\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"StageExecuteParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"ISelectionService\": {\n    \"getServerSideSelectionState\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"IServerSideSelectionState | IServerSideGroupSelectionState | null\",\n        \"optional\": false\n      }\n    },\n    \"setServerSideSelectionState\": {\n      \"type\": {\n        \"arguments\": {\n          \"state\": \"IServerSideSelectionState | IServerSideGroupSelectionState\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getSelectedNodes\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"RowNode<any>[]\",\n        \"optional\": false\n      }\n    },\n    \"getSelectedRows\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"any[]\", \"optional\": false }\n    },\n    \"getSelectionCount\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"setNodeSelected\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"ISetNodeSelectedParams\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"filterFromSelection\": {\n      \"type\": {\n        \"arguments\": { \"predicate\": \"(node: RowNode) => boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"updateGroupsFromChildrenSelections\": {\n      \"type\": {\n        \"arguments\": {\n          \"source\": \"SelectionEventSourceType\",\n          \"changedPath?\": \"ChangedPath\"\n        },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"syncInRowNode\": {\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"RowNode\", \"oldNode\": \"RowNode | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"reset\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getBestCostNodeSelection\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"RowNode[] | undefined\",\n        \"optional\": false\n      }\n    },\n    \"isEmpty\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getSelectAllState\": {\n      \"description\": \"/** @param justFiltered whether to just include nodes which have passed the filter\\n     * @param justCurrentPage whether to just include nodes on the current page\\n     * @returns all nodes including unselectable nodes which are the target of this selection attempt\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"justFiltered?\": \"boolean\",\n          \"justCurrentPage?\": \"boolean\"\n        },\n        \"returnType\": \"boolean | null\",\n        \"optional\": false\n      }\n    },\n    \"selectAllRowNodes\": {\n      \"type\": {\n        \"arguments\": {\n          \"params\": \"{ source: SelectionEventSourceType; justFiltered?: boolean; justCurrentPage?: boolean; }\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"deselectAllRowNodes\": {\n      \"type\": {\n        \"arguments\": {\n          \"params\": \"{ source: SelectionEventSourceType; justFiltered?: boolean; justCurrentPage?: boolean; }\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ISetNodeSelectedParams\": {\n    \"node\": { \"type\": { \"returnType\": \"RowNode\", \"optional\": false } },\n    \"newValue\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"clearSelection\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"suppressFinishActions\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rangeSelect\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"groupSelectsFiltered\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"source\": {\n      \"type\": { \"returnType\": \"SelectionEventSourceType\", \"optional\": false }\n    },\n    \"event\": { \"type\": { \"returnType\": \"Event\", \"optional\": true } }\n  },\n  \"IServerSideGetRowsRequest\": {\n    \"startRow\": {\n      \"description\": \"/** First row requested or undefined for all rows. */\",\n      \"type\": { \"returnType\": \"number | undefined\", \"optional\": false }\n    },\n    \"endRow\": {\n      \"description\": \"/** Index after the last row required row or undefined for all rows. */\",\n      \"type\": { \"returnType\": \"number | undefined\", \"optional\": false }\n    },\n    \"rowGroupCols\": {\n      \"description\": \"/** Columns that are currently row grouped.  */\",\n      \"type\": { \"returnType\": \"ColumnVO[]\", \"optional\": false }\n    },\n    \"valueCols\": {\n      \"description\": \"/** Columns that have aggregations on them.  */\",\n      \"type\": { \"returnType\": \"ColumnVO[]\", \"optional\": false }\n    },\n    \"pivotCols\": {\n      \"description\": \"/** Columns that have pivot on them.  */\",\n      \"type\": { \"returnType\": \"ColumnVO[]\", \"optional\": false }\n    },\n    \"pivotMode\": {\n      \"description\": \"/** Defines if pivot mode is on or off.  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"groupKeys\": {\n      \"description\": \"/** What groups the user is viewing.  */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"filterModel\": {\n      \"description\": \"/** If filtering, what the filter model is.  */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"sortModel\": {\n      \"description\": \"/** If sorting, what the sort model is.  */\",\n      \"type\": { \"returnType\": \"SortModelItem[]\", \"optional\": false }\n    }\n  },\n  \"IServerSideGetRowsParams\": {\n    \"request\": {\n      \"description\": \"/** Details for the request. A simple object that can be converted to JSON.\\n     */\",\n      \"type\": { \"returnType\": \"IServerSideGetRowsRequest\", \"optional\": false }\n    },\n    \"parentNode\": {\n      \"description\": \"/** The parent row node. The RootNode (level -1) if request is top level.\\n     * This is NOT part fo the request as it cannot be serialised to JSON (a rowNode has methods).\\n     */\",\n      \"type\": { \"returnType\": \"IRowNode\", \"optional\": false }\n    },\n    \"successCallback\": {\n      \"description\": \"/** @deprecated Use `success` method instead and return result as a `LoadSuccessParams` object.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"rowsThisPage\": \"any[]\", \"lastRow\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"success\": {\n      \"description\": \"/** Success callback, pass the rows back to the grid that were requested.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"LoadSuccessParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"failCallback\": {\n      \"description\": \"/** @deprecated Use `fail` instead.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"fail\": {\n      \"description\": \"/** Fail callback, tell the grid the call failed so it can adjust it's state.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IServerSideDatasource\": {\n    \"getRows\": {\n      \"description\": \"/** Grid calls `getRows` when it requires more rows as specified in the params.\\n     * Params object contains callbacks for responding to the request.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IServerSideGetRowsParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Optional method, if your datasource has state it needs to clean up. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"IServerSideRowModel\": {\n    \"refreshStore\": {\n      \"type\": {\n        \"arguments\": { \"params?\": \"RefreshServerSideParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onRowHeightChanged\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"onRowHeightChangedDebounced\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getStoreState\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ServerSideGroupLevelState[]\",\n        \"optional\": false\n      }\n    },\n    \"retryLoads\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"expandAll\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDatasource\": {\n      \"type\": {\n        \"arguments\": { \"datasource\": \"IServerSideDatasource\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"forEachNodeAfterFilterAndSort\": {\n      \"type\": {\n        \"arguments\": { \"callback\": \"(node: IRowNode, index: number) => void\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"resetRootStore\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getBlockStates\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"setRowCount\": {\n      \"type\": {\n        \"arguments\": {\n          \"rowCount\": \"number\",\n          \"isLastRowIndexKnown?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getRow\": {\n      \"description\": \"/** Returns the rowNode at the given index. */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowNode\": {\n      \"description\": \"/** Returns the rowNode for given id. */\",\n      \"type\": {\n        \"arguments\": { \"id\": \"string\" },\n        \"returnType\": \"RowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowCount\": {\n      \"description\": \"/** Returns the number of rows */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowCount\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowDisplayedIndex\": {\n      \"type\": {\n        \"arguments\": { \"topLevelIndex\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"getRowIndexAtPixel\": {\n      \"description\": \"/** Returns the row index at the given pixel */\",\n      \"type\": {\n        \"arguments\": { \"pixel\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"isRowPresent\": {\n      \"description\": \"/** Returns true if the provided rowNode is in the list of rows to render */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"RowNode\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getRowBounds\": {\n      \"description\": \"/** Returns row top and bottom for a given row */\",\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowBounds | null\",\n        \"optional\": false\n      }\n    },\n    \"isEmpty\": {\n      \"description\": \"/** Returns true if this model has no rows, regardless of model filter. EG if rows present, but filtered\\n     * out, this still returns false. If it returns true, then the grid shows the 'no rows' overlay - but we\\n     * don't show that overlay if the rows are just filtered out. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"isRowsToRender\": {\n      \"description\": \"/** Returns true if no rows (either no rows at all, or the rows are filtered out). This is what the grid\\n     * uses to know if there are rows to render or not. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getNodesInRangeForSelection\": {\n      \"description\": \"/** Returns all rows in range that should be selected. If there is a gap in range (non ClientSideRowModel) then\\n     *  then no rows should be returned  */\",\n      \"type\": {\n        \"arguments\": { \"first\": \"RowNode\", \"last\": \"RowNode | null\" },\n        \"returnType\": \"RowNode[]\",\n        \"optional\": false\n      }\n    },\n    \"forEachNode\": {\n      \"description\": \"/** Iterate through each node. What this does depends on the model type. For clientSide, goes through\\n     * all nodes. For serverSide, goes through what's loaded in memory. */\",\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(rowNode: RowNode, index: number) => void\",\n          \"includeFooterNodes?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getType\": {\n      \"description\": \"/** The base class returns the type. We use this instead of 'instanceof' as the client might provide\\n     * their own implementation of the models in the future. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"RowModelType\",\n        \"optional\": false\n      }\n    },\n    \"isLastRowIndexKnown\": {\n      \"description\": \"/** It tells us if this row model knows about the last row that it can produce. This is used by the\\n     * PaginationPanel, if last row is not found, then the 'last' button is disabled and the last page is\\n     * not shown. This is always true for ClientSideRowModel. It toggles for InfiniteRowModel.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"ensureRowHeightsValid\": {\n      \"description\": \"/** Used by CSRM only - is makes sure there are now estimated row heights within the range. */\",\n      \"type\": {\n        \"arguments\": {\n          \"startPixel\": \"number\",\n          \"endPixel\": \"number\",\n          \"startLimitIndex\": \"number\",\n          \"endLimitIndex\": \"number\"\n        },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"start\": {\n      \"description\": \"/** Gets called after grid is initialised. What happens depends on row model. Client Side will take rowData\\n     * from gridOptions, the other row models will start calling their datasources. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"IServerSideTransactionManager\": {\n    \"applyTransaction\": {\n      \"type\": {\n        \"arguments\": { \"transaction\": \"ServerSideTransaction\" },\n        \"returnType\": \"ServerSideTransactionResult | undefined\",\n        \"optional\": false\n      }\n    },\n    \"applyTransactionAsync\": {\n      \"type\": {\n        \"arguments\": {\n          \"transaction\": \"ServerSideTransaction\",\n          \"callback?\": \"(res: ServerSideTransactionResult) => void\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"flushAsyncTransactions\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"RefreshServerSideParams\": {\n    \"route\": {\n      \"description\": \"/** List of group keys, pointing to the level to refresh.\\n     * For example, to purge two levels down under 'Canada'and then '2002', pass in the string array ['Canada','2002'].\\n     * If no route is passed, or an empty array, then the top level is refreshed.\\n     */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"purge\": {\n      \"description\": \"/** If true, then all rows at the level getting refreshed are immediately destroyed and 'loading' rows will appear.\\n     * If false, then all rows at the level getting refreshed are kept until rows are loaded (no 'loading' rows appear).\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"RefreshStoreParams\": {\n    \"route\": {\n      \"description\": \"/** List of group keys, pointing to the level to refresh.\\n     * For example, to purge two levels down under 'Canada'and then '2002', pass in the string array ['Canada','2002'].\\n     * If no route is passed, or an empty array, then the top level is refreshed.\\n     */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"purge\": {\n      \"description\": \"/** If true, then all rows at the level getting refreshed are immediately destroyed and 'loading' rows will appear.\\n     * If false, then all rows at the level getting refreshed are kept until rows are loaded (no 'loading' rows appear).\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"IServerSideSelectionState\": {\n    \"selectAll\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"toggledNodes\": { \"type\": { \"returnType\": \"string[]\", \"optional\": false } }\n  },\n  \"IServerSideGroupSelectionState\": {\n    \"nodeId\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"selectAllChildren\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"toggledNodes\": {\n      \"type\": {\n        \"returnType\": \"IServerSideGroupSelectionState[]\",\n        \"optional\": true\n      }\n    }\n  },\n  \"IServerSideStore\": {\n    \"clearDisplayIndexes\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getDisplayIndexEnd\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"number | undefined\",\n        \"optional\": false\n      }\n    },\n    \"isDisplayIndexInStore\": {\n      \"type\": {\n        \"arguments\": { \"displayIndex\": \"number\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"setDisplayIndexes\": {\n      \"type\": {\n        \"arguments\": {\n          \"displayIndexSeq\": \"NumberSequence\",\n          \"nextRowTop\": \"{ value: number; }\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"forEachStoreDeep\": {\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(rowNode: IServerSideStore, index: number) => void\",\n          \"sequence?\": \"NumberSequence\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"forEachNodeDeep\": {\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(rowNode: IRowNode, index: number) => void\",\n          \"sequence?\": \"NumberSequence\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"forEachNodeDeepAfterFilterAndSort\": {\n      \"type\": {\n        \"arguments\": {\n          \"callback\": \"(rowNode: IRowNode, index: number) => void\",\n          \"sequence?\": \"NumberSequence\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"retryLoads\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getRowUsingDisplayIndex\": {\n      \"type\": {\n        \"arguments\": {\n          \"displayRowIndex\": \"number\",\n          \"dontCreateBlock?\": \"boolean\"\n        },\n        \"returnType\": \"IRowNode | undefined\",\n        \"optional\": false\n      }\n    },\n    \"getRowBounds\": {\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"RowBounds | null\",\n        \"optional\": false\n      }\n    },\n    \"isPixelInRange\": {\n      \"type\": {\n        \"arguments\": { \"pixel\": \"number\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getRowIndexAtPixel\": {\n      \"type\": {\n        \"arguments\": { \"pixel\": \"number\" },\n        \"returnType\": \"number | null\",\n        \"optional\": false\n      }\n    },\n    \"getChildStore\": {\n      \"type\": {\n        \"arguments\": { \"keys\": \"string[]\" },\n        \"returnType\": \"IServerSideStore | null\",\n        \"optional\": false\n      }\n    },\n    \"refreshAfterSort\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"StoreRefreshAfterParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"refreshAfterFilter\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"StoreRefreshAfterParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"applyTransaction\": {\n      \"type\": {\n        \"arguments\": { \"transaction\": \"ServerSideTransaction\" },\n        \"returnType\": \"ServerSideTransactionResult\",\n        \"optional\": false\n      }\n    },\n    \"refreshStore\": {\n      \"type\": {\n        \"arguments\": { \"purge\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getRowCount\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getTopLevelRowDisplayedIndex\": {\n      \"type\": {\n        \"arguments\": { \"topLevelIndex\": \"number\" },\n        \"returnType\": \"number\",\n        \"optional\": false\n      }\n    },\n    \"isLastRowIndexKnown\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getRowNodesInRange\": {\n      \"type\": {\n        \"arguments\": { \"firstInRange\": \"IRowNode\", \"lastInRange\": \"IRowNode\" },\n        \"returnType\": \"IRowNode[]\",\n        \"optional\": false\n      }\n    },\n    \"addStoreStates\": {\n      \"type\": {\n        \"arguments\": { \"result\": \"ServerSideGroupLevelState[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getStoreBounds\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"{ topPx: number, heightPx: number }\",\n        \"optional\": false\n      }\n    }\n  },\n  \"StoreRefreshAfterParams\": {\n    \"valueColChanged\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"secondaryColChanged\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"changedColumns\": {\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    }\n  },\n  \"ServerSideGroupLevelState\": {\n    \"suppressInfiniteScroll\": {\n      \"description\": \"/** True if suppressing infinite scrolling and loading all the data at the current level */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"route\": {\n      \"description\": \"/** The route that identifies this level. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"rowCount\": {\n      \"description\": \"/** How many rows the level has. This includes 'loading rows'. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"lastRowIndexKnown\": {\n      \"description\": \"/** Infinite Scroll only.\\n     * Whether the last row index is know.\\n     * */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"info\": {\n      \"description\": \"/** Any extra info provided to the level, when data was loaded. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"maxBlocksInCache\": {\n      \"description\": \"/**Infinite Scroll only.\\n     * Max blocks allowed in the infinite cache.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cacheBlockSize\": {\n      \"description\": \"/** Infinite Scroll only.\\n     * The size (number of rows) of each infinite cache block.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"ServerSideGroupState\": {\n    \"suppressInfiniteScroll\": {\n      \"description\": \"/** True if suppressing infinite scrolling and loading all the data at the current level */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"route\": {\n      \"description\": \"/** The route that identifies this level. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": false }\n    },\n    \"rowCount\": {\n      \"description\": \"/** How many rows the level has. This includes 'loading rows'. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"lastRowIndexKnown\": {\n      \"description\": \"/** Infinite Scroll only.\\n     * Whether the last row index is know.\\n     * */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"info\": {\n      \"description\": \"/** Any extra info provided to the level, when data was loaded. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"maxBlocksInCache\": {\n      \"description\": \"/**Infinite Scroll only.\\n     * Max blocks allowed in the infinite cache.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cacheBlockSize\": {\n      \"description\": \"/** Infinite Scroll only.\\n     * The size (number of rows) of each infinite cache block.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"SetFilterModelValue\": {},\n  \"SetFilterModel\": {\n    \"filterType\": { \"type\": { \"returnType\": \"'set'\", \"optional\": true } },\n    \"values\": {\n      \"type\": { \"returnType\": \"SetFilterModelValue\", \"optional\": false }\n    }\n  },\n  \"ISetFilter\": {\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active.\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"SetFilterModel | null\",\n        \"optional\": false\n      }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     * \\n     * **Note:** if you are [providing values asynchronously](/filter-set-filter-list/#asynchronous-values)\\n     * to the Set Filter, you need to wait for these changes to be applied before performing any further\\n     * actions by waiting on the returned grid promise, e.g. \\n     * `filter.setModel({ values: ['a', 'b'] }).then(function() { gridApi.onFilterChanged(); });`\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"SetFilterModel | null\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"getValues\": {\n      \"description\": \"/** @deprecated As of v29 use `getFilterValues` to get the values in the Set Filter\\n     * (e.g. complex objects if provided), or `getFilterKeys` to get the string keys\\n     * \\n     * Returns the full list of unique keys used by the Set Filter.\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"SetFilterModelValue\",\n        \"optional\": false\n      }\n    },\n    \"getFilterKeys\": {\n      \"description\": \"/** Returns the full list of unique keys used by the Set Filter. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"SetFilterModelValue\",\n        \"optional\": false\n      }\n    },\n    \"getFilterValues\": {\n      \"description\": \"/** Returns the full list of unique values used by the Set Filter. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"(V | null)[]\",\n        \"optional\": false\n      }\n    },\n    \"setFilterValues\": {\n      \"description\": \"/** Sets the values used in the Set Filter on the fly. */\",\n      \"type\": {\n        \"arguments\": { \"values\": \"(V | null)[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"refreshFilterValues\": {\n      \"description\": \"/** Refreshes the values shown in the filter from the original source. For example, if a\\n     * callback was provided, the callback will be executed again and the filter will refresh using\\n     * the values returned.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"resetFilterValues\": {\n      \"description\": \"/** Resets the Set Filter to use values from the grid, rather than any values that have been\\n     * provided directly.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getMiniFilter\": {\n      \"description\": \"/** Returns the current mini-filter text. */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"string | null\",\n        \"optional\": false\n      }\n    },\n    \"setMiniFilter\": {\n      \"description\": \"/** Sets the text in the Mini Filter at the top of the filter (the 'quick search' in the popup). */\",\n      \"type\": {\n        \"arguments\": { \"newMiniFilter\": \"string | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getModelFromUi\": {\n      \"description\": \"/** Returns the current UI state (potentially un-applied). */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"SetFilterModel | null\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"V = string\"] },\n    \"applyModel\": {\n      \"description\": \"/** Applies the model shown in the UI (so that `getModel()` will now return what was in the UI\\n     * when `applyModel()` was called).\\n     * @param source The source of the method call. Default 'api'.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"source?\": \"'api' | 'ui' | 'rowDataUpdated'\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"SetFilterValuesFuncParams\": {\n    \"success\": {\n      \"description\": \"/** The function to call with the values to load into the filter once they are ready. */\",\n      \"type\": {\n        \"arguments\": { \"values\": \"(V | null)[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"colDef\": {\n      \"description\": \"/** The column definition from which the set filter is invoked. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Column from which the set filter is invoked. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"columnApi\": { \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false } },\n    \"api\": { \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false } },\n    \"context\": {\n      \"description\": \"/** The context as provided on `gridOptions.context` */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"V = string\"] }\n  },\n  \"SetFilterValuesFunc\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"V = string\"] }\n  },\n  \"SetFilterValues\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"V = string\"] }\n  },\n  \"SetFilterParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"V = string\"] }\n  },\n  \"ISetFilterParams\": {\n    \"values\": {\n      \"description\": \"/** The values to display in the Filter List. If this is not set, the filter will takes its\\n     * values from what is loaded in the table.\\n     */\",\n      \"type\": { \"returnType\": \"SetFilterValues<TData, V>\", \"optional\": true }\n    },\n    \"refreshValuesOnOpen\": {\n      \"description\": \"/** Refresh the values every time the Set filter is opened.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellHeight\": {\n      \"description\": \"/** The height of values in the Filter List in pixels. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressSorting\": {\n      \"description\": \"/** If `true`, the Set Filter values will not be sorted. Use this if you are providing your own\\n     * values and don't want them sorted as you are providing in the order you want.\\n     * \\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellRenderer\": {\n      \"description\": \"/** Similar to the Cell Renderer for the grid. Setting it separately here allows for the value to\\n     * be rendered differently in the filter.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"cellRendererFramework\": {\n      \"description\": \"/** @deprecated as of v27, use cellRenderer for Framework components also\\n     * Similar to the Cell Renderer Comp for the grid. Setting it separately here allows for the value to\\n     * be rendered differently in the filter.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressMiniFilter\": {\n      \"description\": \"/** Set to `true` to hide the Mini Filter.\\n     * \\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"applyMiniFilterWhileTyping\": {\n      \"description\": \"/** Set to `true` to apply the Set Filter immediately when the user is typing in the Mini Filter.\\n     * \\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressSelectAll\": {\n      \"description\": \"/** Set to `true` to remove the Select All checkbox.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"defaultToNothingSelected\": {\n      \"description\": \"/** By default, when the Set Filter is opened all values are shown selected. Set this to `true`\\n     * to instead show all values as de-selected by default.\\n     * \\n     * This does not work when `excelMode` is enabled.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"comparator\": {\n      \"description\": \"/** Comparator for sorting. If not provided, the Column Definition comparator is used. If Column\\n     * Definition comparator is also not provided, the default (grid provided) comparator is used.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"a\": \"V | null\", \"b\": \"V | null\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"textFormatter\": {\n      \"description\": \"/** If specified, this formats the text before applying the Mini Filter compare logic, useful for\\n     * instance to substitute accented characters.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"from\": \"string\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"valueFormatter\": {\n      \"description\": \"/** If specified, this formats the value before it is displayed in the Filter List.\\n     * If a Key Creator is provided (see `keyCreator`), this must also be provided,\\n     * unless `convertValuesToStrings` is `true`\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ValueFormatterParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"keyCreator\": {\n      \"description\": \"/** Function to return a string key for a value. This is required when the filter values are complex objects,\\n     * or when `treeList = true` and the column is a group column with Tree Data or Grouping enabled.\\n     * If not provided, the Column Definition Key Creator is used.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"KeyCreatorParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"showTooltips\": {\n      \"description\": \"/** If `true`, hovering over a value in the Set Filter will show a tooltip containing the full,\\n     * untruncated value.\\n     * \\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"caseSensitive\": {\n      \"description\": \"/** If `true`, enables case-sensitivity in the SetFilter Mini-Filter and Filter List.\\n     * Default: `false`.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excelMode\": {\n      \"description\": \"/** Changes the behaviour of the Set Filter to match that of Excel's AutoFilter.\\n     */\",\n      \"type\": { \"returnType\": \"'mac' | 'windows'\", \"optional\": true }\n    },\n    \"convertValuesToStrings\": {\n      \"description\": \"/** @deprecated As of v29 the Filter Model and Filter List will accept and return complex objects,\\n     * as well as maintaining the type of primitives (e.g. number, boolean) when not used as keys.\\n     * \\n     * If this option is set to `true`, values will instead be converted to strings within the Filter Model and Filter List.\\n     * Complex objects will be converted via the Key Creator, and primitive types will be converted directly to strings.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"treeList\": {\n      \"description\": \"/** If `true`, the Set Filter List will be displayed in a tree format. If enabled, one of the following must be true:\\n     * \\n     * - A `treeListPathGetter` is provided to get the tree path for the column values.\\n     * - The column values are of type `Date`, in which case the tree will be year -> month -> day.\\n     * - Tree Data mode is enabled and the column is the group column. The Filter List will match the tree structure. A Key Creator must be supplied.\\n     * - Grouping is enabled and the column is the group column. The Filter List will match the group structure. A Key Creator must be supplied.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"treeListPathGetter\": {\n      \"description\": \"/** Requires `treeList = true`. If provided, this gets the tree path to display in the Set Filter List based on the column values.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"V | null\" },\n        \"returnType\": \"string[] | null\",\n        \"optional\": true\n      }\n    },\n    \"treeListFormatter\": {\n      \"description\": \"/** Requires `treeList = true`. If specified, this formats the tree values before they are displayed in the Filter List.\\n     * @param pathKey - The key for the current node in the tree.\\n     * @param level - The level of the current node in the tree (starting at 0).\\n     * @param parentPathKeys - The keys of the parent nodes up until the current node (exclusive).\\n     * This will be an empty array if the node is at the root level.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"pathKey\": \"string | null\",\n          \"level\": \"number\",\n          \"parentPathKeys\": \"(string | null)[]\"\n        },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"V = string\"] },\n    \"buttons\": {\n      \"description\": \"/** Specifies the buttons to be shown in the filter, in the order they should be displayed in.\\n     * The options are:\\n     *\\n     *  - `'apply'`: If the Apply button is present, the filter is only applied after the user hits the Apply button.\\n     *  - `'clear'`: The Clear button will clear the (form) details of the filter without removing any active filters on the column.\\n     *  - `'reset'`: The Reset button will clear the details of the filter and any active filters on that column.\\n     *  - `'cancel'`: The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.\\n     */\",\n      \"type\": { \"returnType\": \"FilterButtonType[]\", \"optional\": true }\n    },\n    \"closeOnApply\": {\n      \"description\": \"/** If the Apply button is present, the filter popup will be closed immediately when the Apply\\n     * or Reset button is clicked if this is set to `true`.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceMs\": {\n      \"description\": \"/** Overrides the default debounce time in milliseconds for the filter. Defaults are:\\n     * - `TextFilter` and `NumberFilter`: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).\\n     * - `DateFilter` and `SetFilter`: 0ms\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"readOnly\": {\n      \"description\": \"/** If set to `true`, disables controls in the filter to mutate its state. Normally this would\\n     * be used in conjunction with the Filter API.\\n     *\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ISetFilterTreeListTooltipParams\": {\n    \"level\": {\n      \"description\": \"/** Level of the tree (starting at 0). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"location\": {\n      \"description\": \"/** What part of the application is showing the tooltip, e.g. 'cell', 'header', 'menuItem' etc */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** The value to be rendered by the tooltip. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": true }\n    },\n    \"valueFormatted\": {\n      \"description\": \"/** The formatted value to be rendered by the tooltip. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": true }\n    },\n    \"colDef\": {\n      \"description\": \"/** Column / ColumnGroup definition. */\",\n      \"type\": {\n        \"returnType\": \"ColDef<TData> | ColGroupDef<TData> | null\",\n        \"optional\": true\n      }\n    },\n    \"column\": {\n      \"description\": \"/** Column / ColumnGroup */\",\n      \"type\": { \"returnType\": \"Column | ColumnGroup\", \"optional\": true }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The index of the row containing the cell rendering the tooltip. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** Data for the row node in question. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ISideBar\": {\n    \"refresh\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"setDisplayed\": {\n      \"type\": {\n        \"arguments\": { \"show\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setSideBarPosition\": {\n      \"type\": {\n        \"arguments\": { \"position?\": \"'left' | 'right'\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"isToolPanelShowing\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"openToolPanel\": {\n      \"type\": {\n        \"arguments\": {\n          \"key\": \"string\",\n          \"source?\": \"'sideBarButtonClicked' | 'sideBarInitializing' | 'api'\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getToolPanelInstance\": {\n      \"type\": {\n        \"arguments\": { \"key\": \"string\" },\n        \"returnType\": \"IToolPanel | undefined\",\n        \"optional\": false\n      }\n    },\n    \"close\": {\n      \"type\": {\n        \"arguments\": {\n          \"source?\": \"'sideBarButtonClicked' | 'sideBarInitializing' | 'api'\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"openedItem\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"string | null\",\n        \"optional\": false\n      }\n    },\n    \"isDisplayed\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"getDef\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"SideBarDef | undefined\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ToolPanelDef\": {\n    \"id\": {\n      \"description\": \"/** The unique ID for this panel. Used in the API and elsewhere to refer to the panel. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"labelKey\": {\n      \"description\": \"/** The key used for localisation for displaying the label. The label is displayed in the tab button. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"labelDefault\": {\n      \"description\": \"/** The default label if `labelKey` is missing or does not map to valid text through localisation. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"minWidth\": {\n      \"description\": \"/** The min width of the tool panel. Default: `100` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxWidth\": {\n      \"description\": \"/** The max width of the tool panel. Default: `undefined` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"width\": {\n      \"description\": \"/** The initial width of the tool panel. Default: `$side-bar-panel-width (theme variable)` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"iconKey\": {\n      \"description\": \"/** The key of the icon to be used as a graphical aid beside the label in the side bar. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"toolPanel\": {\n      \"description\": \"/** The tool panel component to use as the panel.\\n     * The provided panels use components `agColumnsToolPanel` and `agFiltersToolPanel`.\\n     * To provide your own custom panel component, you reference it here.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"toolPanelFramework\": {\n      \"description\": \"/** @deprecated Same as `toolPanel` but for framework specific components. As of v27, use toolPanel instead for Framework components */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"toolPanelParams\": {\n      \"description\": \"/** Customise the parameters provided to the `toolPanel` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    }\n  },\n  \"SideBarDef\": {\n    \"toolPanels\": {\n      \"description\": \"/** A list of all the panels to place in the side bar. The panels will be displayed in the provided order from top to bottom.\\n     */\",\n      \"type\": { \"returnType\": \"(ToolPanelDef | string)[]\", \"optional\": true }\n    },\n    \"defaultToolPanel\": {\n      \"description\": \"/** The panel (identified by ID) to open by default. If none specified, the side bar is initially displayed closed. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"hiddenByDefault\": {\n      \"description\": \"/** To hide the side bar by default, set this to `true`. If left undefined the side bar will be shown. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"position\": {\n      \"description\": \"/** Sets the side bar position relative to the grid. */\",\n      \"type\": { \"returnType\": \"'left' | 'right'\", \"optional\": true }\n    }\n  },\n  \"ISparklineCellRendererParams\": {\n    \"sparklineOptions\": {\n      \"type\": { \"returnType\": \"SparklineOptions\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"value\": {\n      \"description\": \"/** Value to be rendered. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"valueFormatted\": {\n      \"description\": \"/** Formatted value to be rendered. */\",\n      \"type\": { \"returnType\": \"string | null | undefined\", \"optional\": false }\n    },\n    \"fullWidth\": {\n      \"description\": \"/** True if this is a full width row. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pinned\": {\n      \"description\": \"/** Pinned state of the cell. */\",\n      \"type\": { \"returnType\": \"\\\"left\\\" | \\\"right\\\" | null\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The row's data. Data property can be `undefined` when row grouping or loading infinite row models. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The current index of the row (this changes after filter and sort). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** The cell's column definition. */\",\n      \"type\": { \"returnType\": \"ColDef\", \"optional\": true }\n    },\n    \"column\": {\n      \"description\": \"/** The cell's column. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": true }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** The grid's cell, a DOM div element. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"eParentOfValue\": {\n      \"description\": \"/** The parent DOM item for the cell renderer, same as eGridCell unless using checkbox selection. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"getValue\": {\n      \"description\": \"/** Convenience function to get most recent up to date value. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": true }\n    },\n    \"setValue\": {\n      \"description\": \"/** Convenience function to set the value. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"formatValue\": {\n      \"description\": \"/** Convenience function to format a value using the column's formatter. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"refreshCell\": {\n      \"description\": \"/** Convenience function to refresh the cell. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"registerRowDragger\": {\n      \"description\": \"/** registerRowDragger:\\n     * @param rowDraggerElement The HTMLElement to be used as Row Dragger\\n     * @param dragStartPixels The amount of pixels required to start the drag (Default: 4)\\n     * @param value The value to be displayed while dragging. Note: Only relevant with Full Width Rows.\\n     * @param suppressVisibilityChange Set to `true` to prevent the Grid from hiding the Row Dragger when it is disabled.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"rowDraggerElement\": \"HTMLElement\",\n          \"dragStartPixels?\": \"number\",\n          \"value?\": \"string\",\n          \"suppressVisibilityChange?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"SparklineOptions\": {},\n  \"BaseSparklineOptions\": {\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"type\": { \"returnType\": \"PaddingOptions\", \"optional\": true }\n    },\n    \"axis\": {\n      \"description\": \"/** The options for the axis line in the sparklines. */\",\n      \"type\": { \"returnType\": \"SparklineAxisOptions\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"type\": { \"returnType\": \"HighlightStyleOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Configuration for the tooltips. */\",\n      \"type\": { \"returnType\": \"SparklineTooltipOptions\", \"optional\": true }\n    }\n  },\n  \"LineSparklineOptions\": {\n    \"type\": {\n      \"description\": \"/** The type of sparklines to create, in this case it would be `'line'`. */\",\n      \"type\": { \"returnType\": \"'line'\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** The configuration for the line. */\",\n      \"type\": { \"returnType\": \"SparklineLineOptions\", \"optional\": true }\n    },\n    \"marker\": {\n      \"description\": \"/** The configuration for the marker styles. */\",\n      \"type\": { \"returnType\": \"SparklineMarkerOptions\", \"optional\": true }\n    },\n    \"crosshairs\": {\n      \"description\": \"/** The configuration for the crosshairs. */\",\n      \"type\": { \"returnType\": \"SparklineCrosshairsOptions\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"type\": { \"returnType\": \"PaddingOptions\", \"optional\": true }\n    },\n    \"axis\": {\n      \"description\": \"/** The options for the axis line in the sparklines. */\",\n      \"type\": { \"returnType\": \"SparklineAxisOptions\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"type\": { \"returnType\": \"HighlightStyleOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Configuration for the tooltips. */\",\n      \"type\": { \"returnType\": \"SparklineTooltipOptions\", \"optional\": true }\n    }\n  },\n  \"AreaSparklineOptions\": {\n    \"type\": {\n      \"description\": \"/** The type of sparklines to create, in this case it would be `'area'`. */\",\n      \"type\": { \"returnType\": \"'area'\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the area.\\n     * Default: `'rgba(124, 181, 236, 0.25)'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"line\": {\n      \"description\": \"/** The configuration for the line. */\",\n      \"type\": { \"returnType\": \"SparklineLineOptions\", \"optional\": true }\n    },\n    \"marker\": {\n      \"description\": \"/** The configuration for the marker styles. */\",\n      \"type\": { \"returnType\": \"SparklineMarkerOptions\", \"optional\": true }\n    },\n    \"crosshairs\": {\n      \"description\": \"/** The configuration for the crosshairs. */\",\n      \"type\": { \"returnType\": \"SparklineCrosshairsOptions\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"type\": { \"returnType\": \"PaddingOptions\", \"optional\": true }\n    },\n    \"axis\": {\n      \"description\": \"/** The options for the axis line in the sparklines. */\",\n      \"type\": { \"returnType\": \"SparklineAxisOptions\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"type\": { \"returnType\": \"HighlightStyleOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Configuration for the tooltips. */\",\n      \"type\": { \"returnType\": \"SparklineTooltipOptions\", \"optional\": true }\n    }\n  },\n  \"ColumnSparklineOptions\": {\n    \"type\": {\n      \"description\": \"/** The type of sparklines to create, in this case it would be `'column'`. */\",\n      \"type\": { \"returnType\": \"'column'\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the columns.\\n     * Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the columns.\\n     * Default: `'silver'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the columns.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"paddingInner\": {\n      \"description\": \"/** The size of the gap between the columns as a proportion, between 0 and 1. This value is a fraction of the “step”, which is the interval between the start of a band and the start of the next band.\\n     * Default: `0.1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"paddingOuter\": {\n      \"description\": \"/** The padding on the outside i.e. left and right of the first and last columns, to leave some room for the axis. In association with `paddingInner`, this value can be between 0 and 1.\\n     * Default: `0.2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"valueAxisDomain\": {\n      \"description\": \"/** User override for the automatically determined domain (based on data min and max values). Only applied to `number` axes.\\n     * Used to interpolate the numeric pixel values corresponding to each data value.\\n     */\",\n      \"type\": { \"returnType\": \"[number, number]\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** A callback function to return format styles of type ColumnFormat, based on the data represented by individual columns. */\",\n      \"type\": { \"returnType\": \"SparklineColumnFormatter\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels. */\",\n      \"type\": { \"returnType\": \"SparklineLabelOptions\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"type\": { \"returnType\": \"PaddingOptions\", \"optional\": true }\n    },\n    \"axis\": {\n      \"description\": \"/** The options for the axis line in the sparklines. */\",\n      \"type\": { \"returnType\": \"SparklineAxisOptions\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"type\": { \"returnType\": \"HighlightStyleOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Configuration for the tooltips. */\",\n      \"type\": { \"returnType\": \"SparklineTooltipOptions\", \"optional\": true }\n    }\n  },\n  \"BarSparklineOptions\": {\n    \"type\": {\n      \"description\": \"/** The type of sparklines to create, in this case it would be `'bar'`. */\",\n      \"type\": { \"returnType\": \"'bar'\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the bars.\\n     * Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the bars.\\n     * Default `'silver'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the bars.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"paddingInner\": {\n      \"description\": \"/** The size of the gap between the bars as a proportion, between 0 and 1. This value is a fraction of the “step”, which is the interval between the start of a band and the start of the next band.\\n     * Default: `0.1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"paddingOuter\": {\n      \"description\": \"/** The padding on the outside i.e. left and right of the first and last bars, to leave some room for the axis. In association with `paddingInner`, this value can be between 0 and 1.\\n     * Default: `0.2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"valueAxisDomain\": {\n      \"description\": \"/** User override for the automatically determined domain (based on data min and max values). Only applied to `number` axes.\\n     * Used to interpolate the numeric pixel values corresponding to each data value.\\n     */\",\n      \"type\": { \"returnType\": \"[number, number]\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** A callback function to return format styles of type BarFormat, based on the data represented by individual bars. */\",\n      \"type\": { \"returnType\": \"SparklineBarFormatter\", \"optional\": true }\n    },\n    \"label\": {\n      \"description\": \"/** Configuration for the labels. */\",\n      \"type\": { \"returnType\": \"SparklineLabelOptions\", \"optional\": true }\n    },\n    \"xKey\": {\n      \"description\": \"/** The key to use to retrieve X values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'x'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"yKey\": {\n      \"description\": \"/** The key to use to retrieve Y values from the data. This will only be used if the data array contains objects with key-value pairs.\\n     * Default: `'y'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"padding\": {\n      \"description\": \"/** Configuration for the padding in pixels shown around the sparklines. */\",\n      \"type\": { \"returnType\": \"PaddingOptions\", \"optional\": true }\n    },\n    \"axis\": {\n      \"description\": \"/** The options for the axis line in the sparklines. */\",\n      \"type\": { \"returnType\": \"SparklineAxisOptions\", \"optional\": true }\n    },\n    \"highlightStyle\": {\n      \"description\": \"/** The configuration for the highlighting used when the items are hovered over. */\",\n      \"type\": { \"returnType\": \"HighlightStyleOptions\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Configuration for the tooltips. */\",\n      \"type\": { \"returnType\": \"SparklineTooltipOptions\", \"optional\": true }\n    }\n  },\n  \"SparklineLabelOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Set to true to enable labels.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fontSize\": {\n      \"description\": \"/** Set size of the font.\\n     * Default: `8`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"fontFamily\": {\n      \"description\": \"/** Specify the font for the label text.\\n     * Default: `Verdana, sans-serif`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"fontStyle\": {\n      \"description\": \"/** Specify the font style for the label text. */\",\n      \"type\": {\n        \"returnType\": \"'normal' | 'italic' | 'oblique'\",\n        \"optional\": true\n      }\n    },\n    \"fontWeight\": {\n      \"description\": \"/** Set how thick or thin characters in label text should be displayed. */\",\n      \"type\": {\n        \"returnType\": \"'normal' | 'bold' | 'bolder' | 'lighter' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900'\",\n        \"optional\": true\n      }\n    },\n    \"color\": {\n      \"description\": \"/** Set the color of the label text. The color can be specified by a color name, a HEX or an RGB value.\\n     * Default: `rgba(70, 70, 70, 1)`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** A callback function to return the text to be displayed as the label, based on the value represented by the column or bar.\\n     * By default the values are simply stringified. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"LabelFormatterParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"placement\": {\n      \"description\": \"/** Where to render labels relative to the segments.\\n    * Default: `insideEnd`\\n    * */\",\n      \"type\": { \"returnType\": \"BarColumnLabelPlacement\", \"optional\": true }\n    }\n  },\n  \"LabelFormatterParams\": {\n    \"value\": {\n      \"description\": \"/** The Y value of the data point. */\",\n      \"type\": { \"returnType\": \"number | undefined\", \"optional\": false }\n    }\n  },\n  \"BarColumnLabelPlacement\": {},\n  \"PaddingOptions\": {\n    \"top\": {\n      \"description\": \"/** The number of pixels of padding at the top of the sparkline area.\\n     * Default: `3`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"right\": {\n      \"description\": \"/** The number of pixels of padding at the right of the sparkline area.\\n     * Default: `3`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"bottom\": {\n      \"description\": \"/** The number of pixels of padding at the bottom of the sparkline area.\\n     * Default: `3`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"left\": {\n      \"description\": \"/** The number of pixels of padding at the left of the sparkline area.\\n     * Default: `3`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"SparklineAxisOptions\": {\n    \"type\": {\n      \"description\": \"/** The type of axis used to plot the data.\\n     * Default: `'category'`\\n     */\",\n      \"type\": { \"returnType\": \"AxisType\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the axis line.\\n     * Default: `'rgb(204, 214, 235)'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the axis line.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"AxisType\": {},\n  \"SparklineTooltipOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Set to false to disable tooltips. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"container\": {\n      \"description\": \"/** The element to place the tooltip into. This can be used to confine the tooltip to a specific area which may be outside of the sparkline grid cell. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"xOffset\": {\n      \"description\": \"/** The horizontal distance in pixels between the cursor and the top left corner of the tooltip.\\n     * Default: `10`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"yOffset\": {\n      \"description\": \"/** The vertical distance in pixels between the cursor and the top left corner of the tooltip.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"renderer\": {\n      \"description\": \"/** A callback function used to create the content for the tooltips. This function should return an object or a HTML string used to render the tooltip. */\",\n      \"type\": { \"returnType\": \"SparklineTooltipRenderer\", \"optional\": true }\n    }\n  },\n  \"SparklineTooltipRenderer\": {},\n  \"TooltipRendererResult\": {\n    \"enabled\": {\n      \"description\": \"/** Set to false to disable individual tooltip. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"content\": {\n      \"description\": \"/** The content to display in each tooltip. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"title\": {\n      \"description\": \"/** The title of the tooltip. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"color\": {\n      \"description\": \"/** The CSS color for the title text. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"backgroundColor\": {\n      \"description\": \"/** The CSS color for the background of the tooltip title. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"opacity\": {\n      \"description\": \"/** The opacity of the background for the tooltip title. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"TooltipRendererParams\": {\n    \"context\": {\n      \"description\": \"/** The grid context, includes row data, giving access to data from other columns in the same row. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"datum\": {\n      \"description\": \"/** The raw datum associated with the point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"xValue\": {\n      \"description\": \"/** The X value of the data point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"yValue\": {\n      \"description\": \"/** The Y value of the data point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    }\n  },\n  \"SparklineLineOptions\": {\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the line.\\n     *  Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the line.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"HighlightStyleOptions\": {\n    \"size\": {\n      \"description\": \"/** The width in pixels of the markers when hovered over. This is only for the Line and Area sparklines as Column and Bar sparklines do not have markers.\\n     * Default: `6`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The fill colour of the markers, columns or bars when hovered over. Use `undefined` for no highlight fill.\\n     * Default: `'yellow'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the markers, columns or bars when hovered over. Use `undefined` for no highlight stroke.\\n     * Default: `'silver'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the markers, columns or bars when hovered over.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"SparklineCrosshairsOptions\": {\n    \"xLine\": {\n      \"type\": { \"returnType\": \"CrosshairLineOptions\", \"optional\": true }\n    },\n    \"yLine\": {\n      \"type\": { \"returnType\": \"CrosshairLineOptions\", \"optional\": true }\n    }\n  },\n  \"CrosshairLineOptions\": {\n    \"enabled\": {\n      \"description\": \"/** Set to true to show crosshair line.\\n     * Default: false\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the crosshair line.\\n     * Default: `rgba(0,0,0, 0.54)`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the crosshair line.\\n     * Default: 1\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"lineDash\": {\n      \"description\": \"/** Defines how the crosshair stroke is rendered. This can be one of the lineDash style options.\\n     * The default is `solid`, this renders a solid stroke with no gaps.\\n     */\",\n      \"type\": {\n        \"returnType\": \"'dash' | 'dashDot' | 'dashDotDot' | 'dot' | 'longDash' | 'longDashDot' | 'longDashDotDot' | 'shortDash' | 'shortDashDot' | 'shortDashDotDot' | 'shortDot' | 'solid'\",\n        \"optional\": true\n      }\n    },\n    \"lineCap\": {\n      \"description\": \"/** The shape used to draw the end points of the crosshair line.\\n     * The options include `butt` (the ends of the line are squared off at the endpoints), `round` (the ends of the line are rounded) and `square` (the ends of the line are squared off by adding a box with width equal to the line's strokeWidth and height equal to half the line's strokeWidth).\\n     * Default: `butt`\\n     */\",\n      \"type\": { \"returnType\": \"'round' | 'square' | 'butt'\", \"optional\": true }\n    }\n  },\n  \"SparklineColumnFormatter\": {},\n  \"SparklineBarFormatter\": {},\n  \"ColumnFormatterParams\": {\n    \"datum\": {\n      \"description\": \"/** The raw data associated with the specific column. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"xValue\": {\n      \"description\": \"/** The X value of the data point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"yValue\": {\n      \"description\": \"/** The Y value of the data point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the column in pixels. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the column in pixels. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"min\": {\n      \"description\": \"/** Whether or not the column is a minimum point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** Whether or not the column is a maximum point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"first\": {\n      \"description\": \"/** Whether or not the column represents the first data point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"last\": {\n      \"description\": \"/** Whether or not the column represents the last data point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the individual column. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the individual column. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the individual column. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"highlighted\": {\n      \"description\": \"/** Whether or not the column is highlighted. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"ColumnFormat\": {\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the individual column. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the individual column. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the individual column.*/\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"BarFormatterParams\": {\n    \"datum\": {\n      \"description\": \"/** The raw data associated with the specific bar. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"xValue\": {\n      \"description\": \"/** The X value of the data point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"yValue\": {\n      \"description\": \"/** The Y value of the data point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"width\": {\n      \"description\": \"/** The width of the bar in pixels. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"height\": {\n      \"description\": \"/** The height of the bar in pixels. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"min\": {\n      \"description\": \"/** Whether or not the bar is a minimum point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** Whether or not the bar is a maximum point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"first\": {\n      \"description\": \"/** Whether or not the bar represents the first data point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"last\": {\n      \"description\": \"/** Whether or not the bar represents the last data point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the individual bar. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the individual bar. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the individual bar. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"highlighted\": {\n      \"description\": \"/** Whether or not the bar is highlighted. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"BarFormat\": {\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the individual bar. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the individual bar. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the individual bar.*/\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"SparklineMarkerOptions\": {\n    \"enabled\": {\n      \"description\": \"/** By default this is set to `true` whilst marker size is set to `0`, which means the markers are present but not visible.\\n     * Default: `true`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shape\": {\n      \"description\": \"/** The shape of the markers.\\n     * Default: `'circle'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The width in pixels of markers. By default this is `0`, increase the size to make markers visible.\\n     * Default: `0`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the markers.\\n     * Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the markers.\\n     * Default: `'rgb(124, 181, 236)'`\\n     */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the markers.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"formatter\": {\n      \"description\": \"/** A callback function to return format styles for individual markers. */\",\n      \"type\": { \"returnType\": \"SparklineMarkerFormatter\", \"optional\": true }\n    }\n  },\n  \"SparklineMarkerFormatter\": {},\n  \"MarkerFormatterParams\": {\n    \"datum\": {\n      \"description\": \"/** The raw data associated with the specific marker. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"xValue\": {\n      \"description\": \"/** The X value of the data point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"yValue\": {\n      \"description\": \"/** The Y value of the data point. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"min\": {\n      \"description\": \"/** Whether or not the marker is a minimum point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"max\": {\n      \"description\": \"/** Whether or not the marker is a maximum point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"first\": {\n      \"description\": \"/** Whether or not the marker represents the first data point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"last\": {\n      \"description\": \"/** Whether or not the marker represents the last data point. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the individual marker. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the individual marker. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the individual marker. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"size\": {\n      \"description\": \"/** The width in pixels of the individual marker. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"highlighted\": {\n      \"description\": \"/** Whether or not the marker is highlighted. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"MarkerFormat\": {\n    \"enabled\": {\n      \"description\": \"/** Set to false to make marker invisible. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"size\": {\n      \"description\": \"/** The width in pixels of the individual marker. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"fill\": {\n      \"description\": \"/** The CSS colour value for the fill of the individual marker. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"stroke\": {\n      \"description\": \"/** The CSS colour value for the outline of the individual marker. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"strokeWidth\": {\n      \"description\": \"/** The thickness in pixels for the stroke of the individual marker.*/\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    }\n  },\n  \"IStatusBarService\": {\n    \"registerStatusPanel\": {\n      \"type\": {\n        \"arguments\": { \"key\": \"string\", \"component\": \"IStatusPanelComp\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getStatusPanel\": {\n      \"type\": {\n        \"arguments\": { \"key\": \"string\" },\n        \"returnType\": \"IStatusPanelComp\",\n        \"optional\": false\n      }\n    }\n  },\n  \"StatusPanelDef\": {\n    \"statusPanel\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"statusPanelFramework\": {\n      \"description\": \"/** @deprecated As of v27, you can use statusPanel instead for Framework Components.  */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"align\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"key\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"statusPanelParams\": { \"type\": { \"returnType\": \"any\", \"optional\": true } }\n  },\n  \"IStatusPanelParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IStatusPanel\": {},\n  \"IStatusPanelComp\": {\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IStatusPanelParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"IToolPanelParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IToolPanel\": {\n    \"refresh\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"IToolPanelComp\": {\n    \"refresh\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IToolPanelParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ToolPanelColumnCompParams\": {\n    \"suppressColumnMove\": {\n      \"description\": \"/** Suppress Column Move */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressRowGroups\": {\n      \"description\": \"/** Suppress Row Groups section */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressValues\": {\n      \"description\": \"/** Suppress Values section */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressPivots\": {\n      \"description\": \"/** Suppress Column Labels (Pivot) section */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressPivotMode\": {\n      \"description\": \"/** Suppress Pivot Mode selection */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressColumnFilter\": {\n      \"description\": \"/** Suppress Column Filter section */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressColumnSelectAll\": {\n      \"description\": \"/** Suppress Select / Un-select all widget */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressColumnExpandAll\": {\n      \"description\": \"/** Suppress Expand / Collapse all widget */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"contractColumnSelection\": {\n      \"description\": \"/** By default, column groups start expanded. Pass `true` to default to contracted groups */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressSyncLayoutWithGrid\": {\n      \"description\": \"/** Suppress updating the layout of columns as they are rearranged in the grid */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IPrimaryColsPanel\": {\n    \"getGui\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"init\": {\n      \"type\": {\n        \"arguments\": {\n          \"allowDragging\": \"boolean\",\n          \"params\": \"ToolPanelColumnCompParams\",\n          \"eventType\": \"ColumnEventType\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onExpandAll\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"onCollapseAll\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"expandGroups\": {\n      \"type\": {\n        \"arguments\": { \"groupIds?\": \"string[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"collapseGroups\": {\n      \"type\": {\n        \"arguments\": { \"groupIds?\": \"string[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setColumnLayout\": {\n      \"type\": {\n        \"arguments\": { \"colDefs\": \"(ColDef | ColGroupDef)[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"syncLayoutWithGrid\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    }\n  },\n  \"IViewportDatasource\": {\n    \"init\": {\n      \"description\": \"/** Gets called exactly once before viewPort is used. Passes methods to be used to tell viewPort of data loads / changes. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IViewportDatasourceParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setViewportRange\": {\n      \"description\": \"/** Tell the viewport what the scroll position of the grid is, so it knows what rows it has to get. */\",\n      \"type\": {\n        \"arguments\": { \"firstRow\": \"number\", \"lastRow\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once when viewPort is no longer used. If you need to do any cleanup, do it here. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"IViewportDatasourceParams\": {\n    \"setRowCount\": {\n      \"description\": \"/** Datasource calls this method when the total row count changes. This in turn sets the height of the grids vertical scroll. */\",\n      \"type\": {\n        \"arguments\": { \"count\": \"number\", \"keepRenderedRows?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowData\": {\n      \"description\": \"/** Datasource calls this when new data arrives. The grid then updates the provided rows. The rows are mapped [rowIndex]=>rowData].*/\",\n      \"type\": {\n        \"arguments\": { \"rowData\": \"{ [key: number]: any; }\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getRow\": {\n      \"description\": \"/** Datasource calls this when it wants a row node - typically used when it wants to update the row node. */\",\n      \"type\": {\n        \"arguments\": { \"rowIndex\": \"number\" },\n        \"returnType\": \"IRowNode\",\n        \"optional\": false\n      }\n    }\n  },\n  \"XmlElement\": {\n    \"name\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"properties\": {\n      \"type\": { \"returnType\": \"XmlAttributes\", \"optional\": true }\n    },\n    \"children\": { \"type\": { \"returnType\": \"XmlElement[]\", \"optional\": true } },\n    \"textNode\": { \"type\": { \"returnType\": \"string | null\", \"optional\": true } }\n  },\n  \"HeaderElement\": {\n    \"version\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"standalone\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"encoding\": { \"type\": { \"returnType\": \"string\", \"optional\": true } }\n  },\n  \"XmlAttributes\": {\n    \"prefixedAttributes\": {\n      \"type\": { \"returnType\": \"PrefixedXmlAttributes[]\", \"optional\": true }\n    },\n    \"rawMap\": { \"type\": { \"returnType\": \"any\", \"optional\": true } }\n  },\n  \"PrefixedXmlAttributes\": {\n    \"prefix\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"map\": { \"type\": { \"returnType\": \"any\", \"optional\": false } }\n  },\n  \"IDetailCellRenderer\": {\n    \"addOrRemoveCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addOrRemoveDetailGridCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDetailGrid\": {\n      \"type\": {\n        \"arguments\": { \"gridOptions\": \"GridOptions<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowData\": {\n      \"type\": {\n        \"arguments\": { \"rowData\": \"TData[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getGui\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"IDetailCellRendererParams\": {\n    \"detailGridOptions\": {\n      \"description\": \"/** Provide Grid Options to use for the Detail Grid.\\n     */\",\n      \"type\": { \"returnType\": \"GridOptions<TDetail>\", \"optional\": false }\n    },\n    \"getDetailRowData\": {\n      \"description\": \"/** A function that provides what rows to display in the Detail Grid. */\",\n      \"type\": {\n        \"returnType\": \"GetDetailRowData<TData, TDetail>\",\n        \"optional\": false\n      }\n    },\n    \"refreshStrategy\": {\n      \"description\": \"/** Defines how to refresh the Detail Grids as data is changing in the Master Grid. */\",\n      \"type\": {\n        \"returnType\": \"'rows' | 'everything' | 'nothing'\",\n        \"optional\": false\n      }\n    },\n    \"template\": {\n      \"description\": \"/** Allows changing the template used around the Detail Grid. */\",\n      \"type\": {\n        \"returnType\": \"string | TemplateFunc<TData>\",\n        \"optional\": false\n      }\n    },\n    \"agGridReact\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"frameworkComponentWrapper\": {\n      \"type\": { \"returnType\": \"any\", \"optional\": false }\n    },\n    \"pinned\": {\n      \"type\": {\n        \"returnType\": \"\\\"left\\\" | \\\"right\\\" | null | undefined\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TDetail = any\"] },\n    \"value\": {\n      \"description\": \"/** Value to be rendered. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"valueFormatted\": {\n      \"description\": \"/** Formatted value to be rendered. */\",\n      \"type\": { \"returnType\": \"string | null | undefined\", \"optional\": false }\n    },\n    \"fullWidth\": {\n      \"description\": \"/** True if this is a full width row. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The row's data. Data property can be `undefined` when row grouping or loading infinite row models. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The current index of the row (this changes after filter and sort). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** The cell's column definition. */\",\n      \"type\": { \"returnType\": \"ColDef\", \"optional\": true }\n    },\n    \"column\": {\n      \"description\": \"/** The cell's column. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": true }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** The grid's cell, a DOM div element. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"eParentOfValue\": {\n      \"description\": \"/** The parent DOM item for the cell renderer, same as eGridCell unless using checkbox selection. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"getValue\": {\n      \"description\": \"/** Convenience function to get most recent up to date value. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": true }\n    },\n    \"setValue\": {\n      \"description\": \"/** Convenience function to set the value. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"formatValue\": {\n      \"description\": \"/** Convenience function to format a value using the column's formatter. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"refreshCell\": {\n      \"description\": \"/** Convenience function to refresh the cell. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"registerRowDragger\": {\n      \"description\": \"/** registerRowDragger:\\n     * @param rowDraggerElement The HTMLElement to be used as Row Dragger\\n     * @param dragStartPixels The amount of pixels required to start the drag (Default: 4)\\n     * @param value The value to be displayed while dragging. Note: Only relevant with Full Width Rows.\\n     * @param suppressVisibilityChange Set to `true` to prevent the Grid from hiding the Row Dragger when it is disabled.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"rowDraggerElement\": \"HTMLElement\",\n          \"dragStartPixels?\": \"number\",\n          \"value?\": \"string\",\n          \"suppressVisibilityChange?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"GetDetailRowData\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TDetail = any\"] }\n  },\n  \"GetDetailRowDataParams\": {\n    \"node\": {\n      \"description\": \"/** Row node for the details request. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Data for the current row. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"successCallback\": {\n      \"description\": \"/** Success callback: pass the rows back for the grid request.  */\",\n      \"type\": {\n        \"arguments\": { \"rowData\": \"TDetail[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TDetail = any\"] }\n  },\n  \"TemplateFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"IDetailCellRendererCtrl\": {\n    \"init\": {\n      \"type\": {\n        \"arguments\": {\n          \"comp\": \"IDetailCellRenderer\",\n          \"params\": \"IDetailCellRendererParams\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"registerDetailWithMaster\": {\n      \"type\": {\n        \"arguments\": { \"api\": \"GridApi\", \"columnApi\": \"ColumnApi\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"refresh\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    }\n  },\n  \"RowDataTransaction\": {\n    \"addIndex\": {\n      \"description\": \"/** Index to add rows */\",\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"add\": {\n      \"description\": \"/** Rows to add */\",\n      \"type\": { \"returnType\": \"TData[] | null\", \"optional\": true }\n    },\n    \"remove\": {\n      \"description\": \"/** Rows to remove */\",\n      \"type\": { \"returnType\": \"TData[] | null\", \"optional\": true }\n    },\n    \"update\": {\n      \"description\": \"/** Rows to update */\",\n      \"type\": { \"returnType\": \"TData[] | null\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"RowNodeTransaction\": {\n    \"add\": {\n      \"description\": \"/** Row nodes added */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"remove\": {\n      \"description\": \"/** Row nodes removed */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"update\": {\n      \"description\": \"/** Row nodes updated */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"ServerSideTransaction\": {\n    \"route\": {\n      \"description\": \"/** The Row Store to apply the transaction to, ie what group level.\\n     * eg ['Ireland','2002'] to update the child store found after expanding Ireland and 2002 groups.\\n     * Passing in blank to empty applies the transaction to the top level.\\n     */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"addIndex\": {\n      \"description\": \"/** Index position to add at. If missing, rows will be added to the end. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"add\": {\n      \"description\": \"/** Rows to add */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"remove\": {\n      \"description\": \"/** Rows to remove */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"update\": {\n      \"description\": \"/** Rows to update */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    }\n  },\n  \"ServerSideTransactionResult\": {\n    \"status\": {\n      \"description\": \"/** The status of applying the transaction. */\",\n      \"type\": {\n        \"returnType\": \"ServerSideTransactionResultStatus\",\n        \"optional\": false\n      }\n    },\n    \"add\": {\n      \"description\": \"/** If rows were added, the newly created Row Nodes for those rows. */\",\n      \"type\": { \"returnType\": \"IRowNode[]\", \"optional\": true }\n    },\n    \"remove\": {\n      \"description\": \"/** If rows were removed, the deleted Row Nodes. */\",\n      \"type\": { \"returnType\": \"IRowNode[]\", \"optional\": true }\n    },\n    \"update\": {\n      \"description\": \"/** If rows were updated, the updated Row Nodes. */\",\n      \"type\": { \"returnType\": \"IRowNode[]\", \"optional\": true }\n    }\n  },\n  \"ServerSideTransactionResultStatus\": {},\n  \"TabbedLayoutParams\": {\n    \"items\": { \"type\": { \"returnType\": \"TabbedItem[]\", \"optional\": false } },\n    \"cssClass\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"keepScrollPosition\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"onItemClicked\": { \"type\": { \"returnType\": \"Function\", \"optional\": true } },\n    \"onActiveItemClicked\": {\n      \"type\": { \"returnType\": \"Function\", \"optional\": true }\n    }\n  },\n  \"TabbedItem\": {\n    \"title\": { \"type\": { \"returnType\": \"Element\", \"optional\": false } },\n    \"titleLabel\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"bodyPromise\": {\n      \"type\": { \"returnType\": \"AgPromise<HTMLElement>\", \"optional\": false }\n    },\n    \"name\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"getScrollableContainer\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"afterAttachedCallback\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterDetachedCallback\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"TabbedItemWrapper\": {\n    \"tabbedItem\": { \"type\": { \"returnType\": \"TabbedItem\", \"optional\": false } },\n    \"eHeaderButton\": {\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    }\n  },\n  \"TaskItem\": {\n    \"task\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"index\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"createOrder\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"TaskList\": {\n    \"list\": { \"type\": { \"returnType\": \"TaskItem[]\", \"optional\": false } },\n    \"sorted\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } }\n  },\n  \"SimpleHttpRequestParams\": {\n    \"url\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"ModuleNames\": {},\n  \"GridOptionKey\": {},\n  \"AnyGridOptions\": {},\n  \"KeysLike\": { \"meta\": { \"typeParams\": [\"U\"] } },\n  \"CallbackKeys\": {},\n  \"FunctionKeys\": {},\n  \"ICellComp\": {\n    \"addOrRemoveCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setUserStyles\": {\n      \"type\": {\n        \"arguments\": { \"styles\": \"CellStyle\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getFocusableElement\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"setTabIndex\": {\n      \"type\": {\n        \"arguments\": { \"tabIndex\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRole\": {\n      \"type\": {\n        \"arguments\": { \"role\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setColId\": {\n      \"type\": {\n        \"arguments\": { \"colId\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setTitle\": {\n      \"type\": {\n        \"arguments\": { \"title\": \"string | undefined\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setIncludeSelection\": {\n      \"type\": {\n        \"arguments\": { \"include\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setIncludeRowDrag\": {\n      \"type\": {\n        \"arguments\": { \"include\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setIncludeDndSource\": {\n      \"type\": {\n        \"arguments\": { \"include\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getCellEditor\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ICellEditor | null\",\n        \"optional\": false\n      }\n    },\n    \"getCellRenderer\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ICellRenderer | null\",\n        \"optional\": false\n      }\n    },\n    \"getParentOfValue\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement | null\",\n        \"optional\": false\n      }\n    },\n    \"setRenderDetails\": {\n      \"type\": {\n        \"arguments\": {\n          \"compDetails\": \"UserCompDetails | undefined\",\n          \"valueToDisplay\": \"any\",\n          \"forceNewCellRendererInstance\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setEditDetails\": {\n      \"type\": {\n        \"arguments\": {\n          \"compDetails?\": \"UserCompDetails\",\n          \"popup?\": \"boolean\",\n          \"position?\": \"'over' | 'under'\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ILargeTextEditorParams\": {\n    \"maxLength\": {\n      \"description\": \"/** Max number of characters to allow. Default: `200` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"rows\": {\n      \"description\": \"/** Number of character rows to display. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"cols\": {\n      \"description\": \"/** Number of character columns to display. Default: `60` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** Current value of the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"eventKey\": {\n      \"description\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"charPress\": {\n      \"description\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Grid column */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** Column definition */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the cell */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Row data */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** Editing row index */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"cellStartedEdit\": {\n      \"description\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"onKeyDown\": {\n      \"description\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"KeyboardEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"stopEditing\": {\n      \"description\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"type\": {\n        \"arguments\": { \"suppressNavigateAfterEdit?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"parseValue\": {\n      \"description\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"formatValue\": {\n      \"description\": \"/** Utility function to format a value using the column's `colDef.valueFormatter` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ISelectCellEditorParams\": {\n    \"values\": {\n      \"description\": \"/** List of values to display */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** Current value of the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"eventKey\": {\n      \"description\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"charPress\": {\n      \"description\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Grid column */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** Column definition */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the cell */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Row data */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** Editing row index */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"cellStartedEdit\": {\n      \"description\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"onKeyDown\": {\n      \"description\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"KeyboardEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"stopEditing\": {\n      \"description\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"type\": {\n        \"arguments\": { \"suppressNavigateAfterEdit?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"parseValue\": {\n      \"description\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"formatValue\": {\n      \"description\": \"/** Utility function to format a value using the column's `colDef.valueFormatter` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ITextCellEditorParams\": {\n    \"useFormatter\": {\n      \"description\": \"/** If `true`, the editor will use the provided `colDef.valueFormatter` to format the value displayed in the editor. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"maxLength\": {\n      \"description\": \"/** Max number of characters to allow. Default: `524288` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"value\": {\n      \"description\": \"/** Current value of the cell */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"eventKey\": {\n      \"description\": \"/** Key value of key that started the edit, eg 'Enter' or 'F2' - non-printable\\n     *  characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"charPress\": {\n      \"description\": \"/** The string that started the edit, eg 'a' if letter 'a' was pressed, or 'A' if\\n     *  shift + letter 'a' only printable characters appear here */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": false }\n    },\n    \"column\": {\n      \"description\": \"/** Grid column */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** Column definition */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** Row node for the cell */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"data\": {\n      \"description\": \"/** Row data */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** Editing row index */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"cellStartedEdit\": {\n      \"description\": \"/** If doing full row edit, this is true if the cell is the one that started the edit\\n     *  (eg it is the cell the use double clicked on, or pressed a key on etc). */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"onKeyDown\": {\n      \"description\": \"/** callback to tell grid a key was pressed - useful to pass control key events (tab,\\n     *  arrows etc) back to grid - however you do */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"KeyboardEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"stopEditing\": {\n      \"description\": \"/** Callback to tell grid to stop editing the current cell. Call with input parameter\\n     * true to prevent focus from moving to the next cell after editing stops in case the\\n     * grid property `enterMovesDownAfterEdit=true` */\",\n      \"type\": {\n        \"arguments\": { \"suppressNavigateAfterEdit?\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** A reference to the DOM element representing the grid cell that your component\\n     *  will live inside. Useful if you want to add event listeners or classes at this level.\\n     *  This is the DOM element that gets browser focus when selecting cells. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"parseValue\": {\n      \"description\": \"/** Utility function to parse a value using the column's `colDef.valueParser` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"formatValue\": {\n      \"description\": \"/** Utility function to format a value using the column's `colDef.valueFormatter` */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IGroupCellRenderer\": {\n    \"setInnerRenderer\": {\n      \"type\": {\n        \"arguments\": {\n          \"compDetails\": \"UserCompDetails | undefined\",\n          \"valueToDisplay\": \"any\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setChildCount\": {\n      \"type\": {\n        \"arguments\": { \"count\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setCheckboxVisible\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setExpandedDisplayed\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setContractedDisplayed\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addOrRemoveCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"FooterValueGetterFunc\": {},\n  \"GroupCheckboxSelectionCallbackParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] }\n  },\n  \"GroupCheckboxSelectionCallback\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] }\n  },\n  \"IGroupCellRendererParams\": {\n    \"suppressPadding\": {\n      \"description\": \"/** Set to `true` to not include any padding (indentation) in the child rows. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressDoubleClickExpand\": {\n      \"description\": \"/** Set to `true` to suppress expand on double click. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressEnterExpand\": {\n      \"description\": \"/** Set to `true` to suppress expand on <kbd>Enter</kbd> */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"footerValueGetter\": {\n      \"description\": \"/** The value getter for the footer text. Can be a function or expression. */\",\n      \"type\": {\n        \"returnType\": \"string | FooterValueGetterFunc\",\n        \"optional\": true\n      }\n    },\n    \"suppressCount\": {\n      \"description\": \"/** If `true`, count is not displayed beside the name. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"checkbox\": {\n      \"description\": \"/** \\n     * Set to `true`, or a function that returns `true`, if a checkbox should be included.\\n     */\",\n      \"type\": {\n        \"returnType\": \"boolean | GroupCheckboxSelectionCallback<TData, TValue>\",\n        \"optional\": true\n      }\n    },\n    \"innerRenderer\": {\n      \"description\": \"/** The renderer to use for inside the cell (after grouping functions are added) */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"innerRendererFramework\": {\n      \"description\": \"/** @deprecated as of v27, use innerRenderer for Framework components\\n     * Same as `innerRenderer` but for a framework component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"innerRendererParams\": {\n      \"description\": \"/** Additional params to customise to the `innerRenderer`. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"innerRendererSelector\": {\n      \"description\": \"/** Callback to enable different innerRenderers to be used based of value of params. */\",\n      \"type\": { \"returnType\": \"CellRendererSelectorFunc\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] }\n  },\n  \"IGroupCellRendererFullRowParams\": {\n    \"pinned\": {\n      \"description\": \"/** Only when in fullWidth, this gives whether the comp is pinned or not.\\n     * If not doing fullWidth, then this is not provided, as pinned can be got from the column.\\n     */\",\n      \"type\": { \"returnType\": \"\\\"left\\\" | \\\"right\\\" | null\", \"optional\": true }\n    },\n    \"fullWidth\": {\n      \"description\": \"/** 'true' if comp is showing full width. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"rowDrag\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } }\n  },\n  \"GroupCellRendererParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\"] }\n  },\n  \"ICellRendererParams\": {\n    \"value\": {\n      \"description\": \"/** Value to be rendered. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"valueFormatted\": {\n      \"description\": \"/** Formatted value to be rendered. */\",\n      \"type\": { \"returnType\": \"string | null | undefined\", \"optional\": false }\n    },\n    \"fullWidth\": {\n      \"description\": \"/** True if this is a full width row. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pinned\": {\n      \"description\": \"/** Pinned state of the cell. */\",\n      \"type\": { \"returnType\": \"\\\"left\\\" | \\\"right\\\" | null\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The row's data. Data property can be `undefined` when row grouping or loading infinite row models. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The current index of the row (this changes after filter and sort). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** The cell's column definition. */\",\n      \"type\": { \"returnType\": \"ColDef\", \"optional\": true }\n    },\n    \"column\": {\n      \"description\": \"/** The cell's column. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": true }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** The grid's cell, a DOM div element. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"eParentOfValue\": {\n      \"description\": \"/** The parent DOM item for the cell renderer, same as eGridCell unless using checkbox selection. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"getValue\": {\n      \"description\": \"/** Convenience function to get most recent up to date value. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": true }\n    },\n    \"setValue\": {\n      \"description\": \"/** Convenience function to set the value. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"formatValue\": {\n      \"description\": \"/** Convenience function to format a value using the column's formatter. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"refreshCell\": {\n      \"description\": \"/** Convenience function to refresh the cell. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"registerRowDragger\": {\n      \"description\": \"/** registerRowDragger:\\n     * @param rowDraggerElement The HTMLElement to be used as Row Dragger\\n     * @param dragStartPixels The amount of pixels required to start the drag (Default: 4)\\n     * @param value The value to be displayed while dragging. Note: Only relevant with Full Width Rows.\\n     * @param suppressVisibilityChange Set to `true` to prevent the Grid from hiding the Row Dragger when it is disabled.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"rowDraggerElement\": \"HTMLElement\",\n          \"dragStartPixels?\": \"number\",\n          \"value?\": \"string\",\n          \"suppressVisibilityChange?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ISetFilterCellRendererParams\": {\n    \"value\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"valueFormatted\": {\n      \"type\": { \"returnType\": \"string | null | undefined\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** The cell's column definition. */\",\n      \"type\": { \"returnType\": \"ColDef\", \"optional\": true }\n    },\n    \"column\": {\n      \"description\": \"/** The cell's column. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ICellRenderer\": {\n    \"refresh\": {\n      \"description\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"ICellRendererComp\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    },\n    \"refresh\": {\n      \"description\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ICellRendererFunc\": { \"meta\": { \"typeParams\": [\"TData = any\"] } },\n  \"ILoadingCellRendererParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"value\": {\n      \"description\": \"/** Value to be rendered. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": false }\n    },\n    \"valueFormatted\": {\n      \"description\": \"/** Formatted value to be rendered. */\",\n      \"type\": { \"returnType\": \"string | null | undefined\", \"optional\": false }\n    },\n    \"fullWidth\": {\n      \"description\": \"/** True if this is a full width row. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pinned\": {\n      \"description\": \"/** Pinned state of the cell. */\",\n      \"type\": { \"returnType\": \"\\\"left\\\" | \\\"right\\\" | null\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** The row's data. Data property can be `undefined` when row grouping or loading infinite row models. */\",\n      \"type\": { \"returnType\": \"TData | undefined\", \"optional\": false }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": false }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The current index of the row (this changes after filter and sort). */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": false }\n    },\n    \"colDef\": {\n      \"description\": \"/** The cell's column definition. */\",\n      \"type\": { \"returnType\": \"ColDef\", \"optional\": true }\n    },\n    \"column\": {\n      \"description\": \"/** The cell's column. */\",\n      \"type\": { \"returnType\": \"Column\", \"optional\": true }\n    },\n    \"eGridCell\": {\n      \"description\": \"/** The grid's cell, a DOM div element. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"eParentOfValue\": {\n      \"description\": \"/** The parent DOM item for the cell renderer, same as eGridCell unless using checkbox selection. */\",\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"getValue\": {\n      \"description\": \"/** Convenience function to get most recent up to date value. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": true }\n    },\n    \"setValue\": {\n      \"description\": \"/** Convenience function to set the value. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"formatValue\": {\n      \"description\": \"/** Convenience function to format a value using the column's formatter. */\",\n      \"type\": {\n        \"arguments\": { \"value\": \"any\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"refreshCell\": {\n      \"description\": \"/** Convenience function to refresh the cell. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"registerRowDragger\": {\n      \"description\": \"/** registerRowDragger:\\n     * @param rowDraggerElement The HTMLElement to be used as Row Dragger\\n     * @param dragStartPixels The amount of pixels required to start the drag (Default: 4)\\n     * @param value The value to be displayed while dragging. Note: Only relevant with Full Width Rows.\\n     * @param suppressVisibilityChange Set to `true` to prevent the Grid from hiding the Row Dragger when it is disabled.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"rowDraggerElement\": \"HTMLElement\",\n          \"dragStartPixels?\": \"number\",\n          \"value?\": \"string\",\n          \"suppressVisibilityChange?\": \"boolean\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ILoadingCellRenderer\": {},\n  \"ILoadingCellRendererComp\": {\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ILoadingCellRendererParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"IDate\": {\n    \"getDate\": {\n      \"description\": \"/** Returns the current date represented by this component */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"Date | null\",\n        \"optional\": false\n      }\n    },\n    \"setDate\": {\n      \"description\": \"/** Sets the date represented by this component */\",\n      \"type\": {\n        \"arguments\": { \"date\": \"Date | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDisabled\": {\n      \"description\": \"/** Optional: Sets the disabled state of this component */\",\n      \"type\": {\n        \"arguments\": { \"disabled\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"setInputPlaceholder\": {\n      \"description\": \"/** Optional: Sets the current input placeholder */\",\n      \"type\": {\n        \"arguments\": { \"placeholder\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"setInputAriaLabel\": {\n      \"description\": \"/** Optional: Sets the current input aria label */\",\n      \"type\": {\n        \"arguments\": { \"placeholder\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** Optional: A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"IDateParams\": {\n    \"onDateChanged\": {\n      \"description\": \"/** Method for component to tell AG Grid that the date has changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"filterParams\": {\n      \"type\": { \"returnType\": \"DateFilterParams\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"IDateComp\": {\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDateParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    },\n    \"getDate\": {\n      \"description\": \"/** Returns the current date represented by this component */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"Date | null\",\n        \"optional\": false\n      }\n    },\n    \"setDate\": {\n      \"description\": \"/** Sets the date represented by this component */\",\n      \"type\": {\n        \"arguments\": { \"date\": \"Date | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDisabled\": {\n      \"description\": \"/** Optional: Sets the disabled state of this component */\",\n      \"type\": {\n        \"arguments\": { \"disabled\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"setInputPlaceholder\": {\n      \"description\": \"/** Optional: Sets the current input placeholder */\",\n      \"type\": {\n        \"arguments\": { \"placeholder\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"setInputAriaLabel\": {\n      \"description\": \"/** Optional: Sets the current input aria label */\",\n      \"type\": {\n        \"arguments\": { \"placeholder\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** Optional: A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"PositionableOptions\": {\n    \"popup\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"minWidth\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } },\n    \"width\": {\n      \"type\": { \"returnType\": \"number | string | null\", \"optional\": true }\n    },\n    \"minHeight\": {\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"height\": {\n      \"type\": { \"returnType\": \"number | string | null\", \"optional\": true }\n    },\n    \"centered\": {\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"calculateTopBuffer\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": true }\n    },\n    \"forcePopupParentAsOffsetParent\": {\n      \"description\": \"/** Used for when a popup needs to be resized by an element within itself\\n     * In that case, the feature will configured as `popup=false` but the offsetParent\\n     * needs to be the popupParent.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"x\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } },\n    \"y\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } }\n  },\n  \"ResizableSides\": {},\n  \"ResizableStructure\": {},\n  \"MappedResizer\": {\n    \"element\": { \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false } },\n    \"dragSource\": {\n      \"type\": { \"returnType\": \"DragListenerParams\", \"optional\": true }\n    }\n  },\n  \"ILoadingOverlayParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ILoadingOverlayComp\": {\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ILoadingOverlayParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"INoRowsOverlayParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"INoRowsOverlayComp\": {\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"INoRowsOverlayParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"LoadingType\": {},\n  \"RowCssClassCalculatorParams\": {\n    \"rowNode\": { \"type\": { \"returnType\": \"RowNode\", \"optional\": false } },\n    \"rowIsEven\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"rowLevel\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"fullWidthRow\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"firstRowOnPage\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"lastRowOnPage\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"printLayout\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"expandable\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"pinned\": {\n      \"type\": { \"returnType\": \"ColumnPinnedType\", \"optional\": false }\n    },\n    \"extraCssClass\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"rowFocused\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"fadeRowIn\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } }\n  },\n  \"RowType\": {},\n  \"IRowComp\": {\n    \"setDomOrder\": {\n      \"type\": {\n        \"arguments\": { \"domOrder\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"addOrRemoveCssClass\": {\n      \"type\": {\n        \"arguments\": { \"cssClassName\": \"string\", \"on\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setCellCtrls\": {\n      \"type\": {\n        \"arguments\": { \"cellCtrls\": \"CellCtrl[]\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"showFullWidth\": {\n      \"type\": {\n        \"arguments\": { \"compDetails\": \"UserCompDetails\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getFullWidthCellRenderer\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ICellRenderer | null | undefined\",\n        \"optional\": false\n      }\n    },\n    \"setTop\": {\n      \"type\": {\n        \"arguments\": { \"top\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setTransform\": {\n      \"type\": {\n        \"arguments\": { \"transform\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowIndex\": {\n      \"type\": {\n        \"arguments\": { \"rowIndex\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowId\": {\n      \"type\": {\n        \"arguments\": { \"rowId\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRowBusinessKey\": {\n      \"type\": {\n        \"arguments\": { \"businessKey\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setTabIndex\": {\n      \"type\": {\n        \"arguments\": { \"tabIndex\": \"number\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setUserStyles\": {\n      \"type\": {\n        \"arguments\": { \"styles\": \"RowStyle\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setRole\": {\n      \"type\": {\n        \"arguments\": { \"role\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"RowGui\": {\n    \"rowComp\": { \"type\": { \"returnType\": \"IRowComp\", \"optional\": false } },\n    \"element\": { \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false } },\n    \"containerType\": {\n      \"type\": { \"returnType\": \"RowContainerType\", \"optional\": false }\n    }\n  },\n  \"CellCtrlListAndMap\": {\n    \"list\": { \"type\": { \"returnType\": \"CellCtrl[]\", \"optional\": false } },\n    \"map\": {\n      \"type\": { \"returnType\": \"{ [key: string]: CellCtrl }\", \"optional\": false }\n    }\n  },\n  \"IRowDragItem\": {\n    \"defaultTextValue\": {\n      \"description\": \"/** The default text that would be applied to this Drag Element */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"rowNode\": {\n      \"description\": \"/** When dragging a row, this contains the row node being dragged\\n     * When dragging multiple rows, this contains the row that started the drag.\\n     */\",\n      \"type\": { \"returnType\": \"IRowNode\", \"optional\": true }\n    },\n    \"rowNodes\": {\n      \"description\": \"/** When dragging multiple rows, this contains all rows being dragged */\",\n      \"type\": { \"returnType\": \"IRowNode[]\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** When dragging columns, this contains the columns being dragged */\",\n      \"type\": { \"returnType\": \"Column[]\", \"optional\": true }\n    },\n    \"visibleState\": {\n      \"description\": \"/** When dragging columns, this contains the visible state of the columns */\",\n      \"type\": { \"returnType\": \"{ [key: string]: boolean }\", \"optional\": true }\n    }\n  },\n  \"RowCtrlMap\": {},\n  \"RowNodeMap\": {},\n  \"GetCellsParams\": {\n    \"rowNodes\": {\n      \"description\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** Optional list of columns to restrict operation to */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"RefreshCellsParams\": {\n    \"force\": {\n      \"description\": \"/** Skip change detection, refresh everything. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFlash\": {\n      \"description\": \"/** Skip cell flashing, if cell flashing is enabled. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"rowNodes\": {\n      \"description\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** Optional list of columns to restrict operation to */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    }\n  },\n  \"FlashCellsParams\": {\n    \"flashDelay\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"fadeDelay\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"rowNodes\": {\n      \"description\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** Optional list of columns to restrict operation to */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    }\n  },\n  \"GetCellRendererInstancesParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"rowNodes\": {\n      \"description\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** Optional list of columns to restrict operation to */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    }\n  },\n  \"GetCellEditorInstancesParams\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"rowNodes\": {\n      \"description\": \"/** Optional list of row nodes to restrict operation to */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": true }\n    },\n    \"columns\": {\n      \"description\": \"/** Optional list of columns to restrict operation to */\",\n      \"type\": { \"returnType\": \"(string | Column)[]\", \"optional\": true }\n    }\n  },\n  \"RedrawRowsParams\": {\n    \"rowNodes\": {\n      \"description\": \"/** Row nodes to redraw */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>[]\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] }\n  },\n  \"RefreshViewParams\": {\n    \"recycleRows\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"animate\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"suppressKeepFocus\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"onlyBody\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"newData\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"newPage\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"domLayoutChanged\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    }\n  },\n  \"ITooltipParams\": {\n    \"location\": {\n      \"description\": \"/** What part of the application is showing the tooltip, e.g. 'cell', 'header', 'menuItem' etc */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"value\": {\n      \"description\": \"/** The value to be rendered by the tooltip. */\",\n      \"type\": { \"returnType\": \"TValue\", \"optional\": true }\n    },\n    \"valueFormatted\": {\n      \"description\": \"/** The formatted value to be rendered by the tooltip. */\",\n      \"type\": { \"returnType\": \"string | null\", \"optional\": true }\n    },\n    \"colDef\": {\n      \"description\": \"/** Column / ColumnGroup definition. */\",\n      \"type\": {\n        \"returnType\": \"ColDef<TData> | ColGroupDef<TData> | null\",\n        \"optional\": true\n      }\n    },\n    \"column\": {\n      \"description\": \"/** Column / ColumnGroup */\",\n      \"type\": { \"returnType\": \"Column | ColumnGroup\", \"optional\": true }\n    },\n    \"rowIndex\": {\n      \"description\": \"/** The index of the row containing the cell rendering the tooltip. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"node\": {\n      \"description\": \"/** The row node. */\",\n      \"type\": { \"returnType\": \"IRowNode<TData>\", \"optional\": true }\n    },\n    \"data\": {\n      \"description\": \"/** Data for the row node in question. */\",\n      \"type\": { \"returnType\": \"TData\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TValue = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"ITooltipComp\": {\n    \"getGui\": {\n      \"description\": \"/** Return the DOM element of your component, this is what the grid puts into the DOM */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"destroy\": {\n      \"description\": \"/** Gets called once by grid when the component is being removed; if your component needs to do any cleanup, do it here */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"init\": {\n      \"description\": \"/** The init(params) method is called on the component once. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ITooltipParams\" },\n        \"returnType\": \"AgPromise<void> | void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"LoadCompleteEvent\": {\n    \"success\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"block\": { \"type\": { \"returnType\": \"RowNodeBlock\", \"optional\": false } },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"LoadSuccessParams\": {\n    \"rowData\": {\n      \"description\": \"/** Data retrieved from the server as requested by the grid.\\n     */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": false }\n    },\n    \"rowCount\": {\n      \"description\": \"/** The last row, if known, to help Infinite Scroll.\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"storeInfo\": {\n      \"description\": \"/** @deprecated use groupLevelInfo instead\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupLevelInfo\": {\n      \"description\": \"/** Any extra information for the grid to associate with this load.\\n     */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    }\n  },\n  \"SortOption\": {\n    \"sort\": { \"type\": { \"returnType\": \"'asc' | 'desc'\", \"optional\": false } },\n    \"column\": { \"type\": { \"returnType\": \"Column\", \"optional\": false } }\n  },\n  \"SortedRowNode\": {\n    \"currentPos\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"rowNode\": { \"type\": { \"returnType\": \"RowNode\", \"optional\": false } }\n  },\n  \"SortModelItem\": {\n    \"colId\": {\n      \"description\": \"/** Column Id to apply the sort to. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"sort\": {\n      \"description\": \"/** Sort direction */\",\n      \"type\": { \"returnType\": \"'asc' | 'desc'\", \"optional\": false }\n    }\n  },\n  \"LayoutView\": {\n    \"updateLayoutClasses\": {\n      \"type\": {\n        \"arguments\": {\n          \"layoutClass\": \"string\",\n          \"params\": \"UpdateLayoutClassesParams\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"LayoutCssClasses\": {},\n  \"UpdateLayoutClassesParams\": {\n    \"autoHeight\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"normal\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"print\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } }\n  },\n  \"GenericFunction\": {},\n  \"PickByTypeKeyFilter\": { \"meta\": { \"typeParams\": [\"T\", \"C\"] } },\n  \"KeysByType\": { \"meta\": { \"typeParams\": [\"T\", \"C\"] } },\n  \"ValuesByType\": { \"meta\": { \"typeParams\": [\"T\", \"C\"] } },\n  \"PickByType\": { \"meta\": { \"typeParams\": [\"T\", \"C\"] } },\n  \"MethodsOf\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"InterfaceOf\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"PartiallyMockedInterfaceOf\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"CellValueChange\": {\n    \"rowPinned\": {\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"rowIndex\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"columnId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"oldValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } },\n    \"newValue\": { \"type\": { \"returnType\": \"any\", \"optional\": false } }\n  },\n  \"LastFocusedCell\": {\n    \"rowPinned\": {\n      \"type\": { \"returnType\": \"RowPinnedType\", \"optional\": false }\n    },\n    \"rowIndex\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"columnId\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"ColumnSortState\": {},\n  \"PathItem\": {\n    \"rowNode\": { \"type\": { \"returnType\": \"RowNode\", \"optional\": false } },\n    \"children\": {\n      \"type\": { \"returnType\": \"PathItem[] | null\", \"optional\": false }\n    }\n  },\n  \"ResolveAndRejectCallback\": { \"meta\": { \"typeParams\": [\"T\"] } },\n  \"AgPromiseStatus\": {},\n  \"FieldElement\": {},\n  \"IInputField\": {\n    \"value\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"label\": {\n      \"type\": { \"returnType\": \"HTMLElement | string\", \"optional\": true }\n    },\n    \"labelWidth\": {\n      \"type\": { \"returnType\": \"number | 'flex'\", \"optional\": true }\n    },\n    \"labelSeparator\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"labelAlignment\": {\n      \"type\": { \"returnType\": \"LabelAlignment\", \"optional\": true }\n    }\n  },\n  \"LabelAlignment\": {},\n  \"IAgLabel\": {\n    \"label\": {\n      \"type\": { \"returnType\": \"HTMLElement | string\", \"optional\": true }\n    },\n    \"labelWidth\": {\n      \"type\": { \"returnType\": \"number | 'flex'\", \"optional\": true }\n    },\n    \"labelSeparator\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"labelAlignment\": {\n      \"type\": { \"returnType\": \"LabelAlignment\", \"optional\": true }\n    }\n  },\n  \"DialogOptions\": {\n    \"eWrapper\": { \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true } },\n    \"modal\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"movable\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"alwaysOnTop\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"maximizable\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"component\": { \"type\": { \"returnType\": \"Component\", \"optional\": true } },\n    \"hideTitleBar\": {\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"closable\": {\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"resizable\": {\n      \"type\": { \"returnType\": \"boolean | ResizableStructure\", \"optional\": true }\n    },\n    \"title\": { \"type\": { \"returnType\": \"string | null\", \"optional\": true } },\n    \"cssIdentifier\": {\n      \"type\": { \"returnType\": \"string | null\", \"optional\": true }\n    },\n    \"popup\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"minWidth\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } },\n    \"width\": {\n      \"type\": { \"returnType\": \"number | string | null\", \"optional\": true }\n    },\n    \"minHeight\": {\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"height\": {\n      \"type\": { \"returnType\": \"number | string | null\", \"optional\": true }\n    },\n    \"centered\": {\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"calculateTopBuffer\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": true }\n    },\n    \"forcePopupParentAsOffsetParent\": {\n      \"description\": \"/** Used for when a popup needs to be resized by an element within itself\\n     * In that case, the feature will configured as `popup=false` but the offsetParent\\n     * needs to be the popupParent.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"x\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } },\n    \"y\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } }\n  },\n  \"GroupItem\": {},\n  \"Align\": {},\n  \"Direction\": {},\n  \"AgGroupComponentParams\": {\n    \"title\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"enabled\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"suppressEnabledCheckbox\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressOpenCloseIcons\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cssIdentifier\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"items\": { \"type\": { \"returnType\": \"GroupItem[]\", \"optional\": true } },\n    \"alignItems\": { \"type\": { \"returnType\": \"Align\", \"optional\": true } },\n    \"direction\": { \"type\": { \"returnType\": \"Direction\", \"optional\": true } }\n  },\n  \"IInputRange\": {\n    \"min\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"max\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"step\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"value\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"label\": {\n      \"type\": { \"returnType\": \"HTMLElement | string\", \"optional\": true }\n    },\n    \"labelWidth\": {\n      \"type\": { \"returnType\": \"number | 'flex'\", \"optional\": true }\n    },\n    \"labelSeparator\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"labelAlignment\": {\n      \"type\": { \"returnType\": \"LabelAlignment\", \"optional\": true }\n    }\n  },\n  \"ITextInputField\": {\n    \"allowedCharPattern\": {\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"value\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"width\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"label\": {\n      \"type\": { \"returnType\": \"HTMLElement | string\", \"optional\": true }\n    },\n    \"labelWidth\": {\n      \"type\": { \"returnType\": \"number | 'flex'\", \"optional\": true }\n    },\n    \"labelSeparator\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"labelAlignment\": {\n      \"type\": { \"returnType\": \"LabelAlignment\", \"optional\": true }\n    }\n  },\n  \"ListOption\": {\n    \"value\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"text\": { \"type\": { \"returnType\": \"string\", \"optional\": true } }\n  },\n  \"MenuItemComponentParams\": {\n    \"isCompact\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"isAnotherSubMenuOpen\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"subMenu\": {\n      \"type\": {\n        \"returnType\": \"(MenuItemDef | string)[] | IComponent<any>\",\n        \"optional\": true\n      }\n    },\n    \"name\": {\n      \"description\": \"/** Name of the menu item */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"disabled\": {\n      \"description\": \"/** It the item should be enabled / disabled */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"shortcut\": {\n      \"description\": \"/** Shortcut (just display text, saying the shortcut here does nothing) */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"action\": {\n      \"description\": \"/** Function that gets executed when item is chosen */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"checked\": {\n      \"description\": \"/** Set to true to provide a check beside the option */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"icon\": {\n      \"description\": \"/** The icon to display, either a DOM element or HTML string */\",\n      \"type\": { \"returnType\": \"Element | string\", \"optional\": true }\n    },\n    \"cssClasses\": {\n      \"description\": \"/** CSS classes to apply to the menu item */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"tooltip\": {\n      \"description\": \"/** Tooltip for the menu item */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"MenuItemSelectedEvent\": {\n    \"name\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"disabled\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"shortcut\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"action\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"checked\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"icon\": { \"type\": { \"returnType\": \"Element | string\", \"optional\": true } },\n    \"subMenu\": {\n      \"type\": {\n        \"returnType\": \"(MenuItemDef | string)[] | IPopupComponent<any>\",\n        \"optional\": true\n      }\n    },\n    \"cssClasses\": { \"type\": { \"returnType\": \"string[]\", \"optional\": true } },\n    \"tooltip\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"event\": {\n      \"type\": { \"returnType\": \"MouseEvent | KeyboardEvent\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"MenuItemActivatedEvent\": {\n    \"menuItem\": {\n      \"type\": { \"returnType\": \"AgMenuItemComponent\", \"optional\": false }\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"PanelOptions\": {\n    \"component\": { \"type\": { \"returnType\": \"Component\", \"optional\": true } },\n    \"hideTitleBar\": {\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"closable\": {\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"resizable\": {\n      \"type\": { \"returnType\": \"boolean | ResizableStructure\", \"optional\": true }\n    },\n    \"title\": { \"type\": { \"returnType\": \"string | null\", \"optional\": true } },\n    \"cssIdentifier\": {\n      \"type\": { \"returnType\": \"string | null\", \"optional\": true }\n    },\n    \"popup\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"minWidth\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } },\n    \"width\": {\n      \"type\": { \"returnType\": \"number | string | null\", \"optional\": true }\n    },\n    \"minHeight\": {\n      \"type\": { \"returnType\": \"number | null\", \"optional\": true }\n    },\n    \"height\": {\n      \"type\": { \"returnType\": \"number | string | null\", \"optional\": true }\n    },\n    \"centered\": {\n      \"type\": { \"returnType\": \"boolean | null\", \"optional\": true }\n    },\n    \"calculateTopBuffer\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": true }\n    },\n    \"forcePopupParentAsOffsetParent\": {\n      \"description\": \"/** Used for when a popup needs to be resized by an element within itself\\n     * In that case, the feature will configured as `popup=false` but the offsetParent\\n     * needs to be the popupParent.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"x\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } },\n    \"y\": { \"type\": { \"returnType\": \"number | null\", \"optional\": true } }\n  },\n  \"VisibleChangedEvent\": {\n    \"visible\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"TooltipParentComp\": {\n    \"getTooltipParams\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"WithoutGridCommon<ITooltipParams>\",\n        \"optional\": false\n      }\n    },\n    \"getGui\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    }\n  },\n  \"TooltipStates\": {},\n  \"ManagedFocusCallbacks\": {\n    \"shouldStopEventPropagation\": {\n      \"type\": {\n        \"arguments\": { \"e\": \"KeyboardEvent\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"onTabKeyDown\": {\n      \"type\": {\n        \"arguments\": { \"e\": \"KeyboardEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"handleKeyDown\": {\n      \"type\": {\n        \"arguments\": { \"e\": \"KeyboardEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onFocusIn\": {\n      \"type\": {\n        \"arguments\": { \"e\": \"FocusEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"onFocusOut\": {\n      \"type\": {\n        \"arguments\": { \"e\": \"FocusEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"PopupPositionParams\": {\n    \"ePopup\": { \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false } },\n    \"column\": { \"type\": { \"returnType\": \"Column | null\", \"optional\": true } },\n    \"rowNode\": {\n      \"type\": { \"returnType\": \"IRowNode | null\", \"optional\": true }\n    },\n    \"nudgeX\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"nudgeY\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"position\": {\n      \"type\": { \"returnType\": \"'over' | 'under'\", \"optional\": true }\n    },\n    \"alignSide\": {\n      \"type\": { \"returnType\": \"'left' | 'right'\", \"optional\": true }\n    },\n    \"keepWithinBounds\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"skipObserver\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"updatePosition\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"{ x: number; y: number; }\",\n        \"optional\": true\n      }\n    },\n    \"postProcessCallback\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"PopupEventParams\": {\n    \"originalMouseEvent\": {\n      \"type\": { \"returnType\": \"MouseEvent | Touch | null\", \"optional\": true }\n    },\n    \"mouseEvent\": { \"type\": { \"returnType\": \"MouseEvent\", \"optional\": true } },\n    \"touchEvent\": { \"type\": { \"returnType\": \"TouchEvent\", \"optional\": true } },\n    \"keyboardEvent\": {\n      \"type\": { \"returnType\": \"KeyboardEvent\", \"optional\": true }\n    }\n  },\n  \"AgPopup\": {\n    \"element\": { \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false } },\n    \"wrapper\": { \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false } },\n    \"hideFunc\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"isAnchored\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"stopAnchoringPromise\": {\n      \"type\": { \"returnType\": \"AgPromise<Function>\", \"optional\": false }\n    },\n    \"instanceId\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"Rect\": {\n    \"top\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"left\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"right\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"bottom\": { \"type\": { \"returnType\": \"number\", \"optional\": false } }\n  },\n  \"DIRECTION\": {},\n  \"AddPopupParams\": {\n    \"modal\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"eChild\": { \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false } },\n    \"closeOnEsc\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"closedCallback\": {\n      \"type\": {\n        \"arguments\": { \"e?\": \"MouseEvent | TouchEvent | KeyboardEvent\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"click\": {\n      \"type\": { \"returnType\": \"MouseEvent | Touch | null\", \"optional\": true }\n    },\n    \"alwaysOnTop\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"afterGuiAttached\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"positionCallback\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"anchorToElement\": {\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": true }\n    },\n    \"ariaLabel\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"AddPopupResult\": {\n    \"hideFunc\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"stopAnchoringPromise\": {\n      \"type\": { \"returnType\": \"AgPromise<Function>\", \"optional\": false }\n    }\n  },\n  \"TabGuardClassNames\": {},\n  \"ITabGuard\": {\n    \"setTabIndex\": {\n      \"type\": {\n        \"arguments\": { \"tabIndex?\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ITooltipFeatureCtrl\": {\n    \"getTooltipValue\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"getGui\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"HTMLElement\",\n        \"optional\": false\n      }\n    },\n    \"getLocation\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string\", \"optional\": false }\n    },\n    \"getColumn\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"Column | ColumnGroup\",\n        \"optional\": true\n      }\n    },\n    \"getColDef\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"ColDef | ColGroupDef\",\n        \"optional\": true\n      }\n    },\n    \"getRowIndex\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": true }\n    },\n    \"getRowNode\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"RowNode\", \"optional\": true }\n    },\n    \"getValueFormatted\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string\", \"optional\": true }\n    }\n  },\n  \"ITooltipFeatureComp\": {\n    \"setTitle\": {\n      \"type\": {\n        \"arguments\": { \"title\": \"string | undefined\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"TapEvent\": {\n    \"touchStart\": { \"type\": { \"returnType\": \"Touch\", \"optional\": false } },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"LongTapEvent\": {\n    \"touchStart\": { \"type\": { \"returnType\": \"Touch\", \"optional\": false } },\n    \"touchEvent\": { \"type\": { \"returnType\": \"TouchEvent\", \"optional\": false } },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"VirtualListModel\": {\n    \"getRowCount\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getRow\": {\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"any\",\n        \"optional\": false\n      }\n    },\n    \"isRowSelected\": {\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"boolean | undefined\",\n        \"optional\": true\n      }\n    },\n    \"areRowsEqual\": {\n      \"description\": \"/** Required if using soft refresh. If rows are equal, componentUpdater will be called instead of remove/create */\",\n      \"type\": {\n        \"arguments\": { \"oldRow\": \"any\", \"newRow\": \"any\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    }\n  },\n  \"ISetDisplayValueModel\": {\n    \"updateDisplayedValuesToAllAvailable\": {\n      \"type\": {\n        \"arguments\": {\n          \"getValue\": \"(key: string | null) => V | null\",\n          \"allKeys\": \"Iterable<string | null> | undefined\",\n          \"availableKeys\": \"Set<string | null>\",\n          \"source\": \"'reload' | 'otherFilter' | 'miniFilter'\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"updateDisplayedValuesToMatchMiniFilter\": {\n      \"type\": {\n        \"arguments\": {\n          \"getValue\": \"(key: string | null) => V | null\",\n          \"allKeys\": \"Iterable<string | null> | undefined\",\n          \"availableKeys\": \"Set<string | null>\",\n          \"matchesFilter\": \"(valueToCheck: string | null) => boolean\",\n          \"nullMatchesFilter\": \"boolean\",\n          \"source\": \"'reload' | 'otherFilter' | 'miniFilter'\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getDisplayedValueCount\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"number\", \"optional\": false }\n    },\n    \"getDisplayedItem\": {\n      \"type\": {\n        \"arguments\": { \"index\": \"number\" },\n        \"returnType\": \"string | SetFilterModelTreeItem | null\",\n        \"optional\": false\n      }\n    },\n    \"getSelectAllItem\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"string | SetFilterModelTreeItem\",\n        \"optional\": false\n      }\n    },\n    \"getDisplayedKeys\": {\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"(string | null)[]\",\n        \"optional\": false\n      }\n    },\n    \"forEachDisplayedKey\": {\n      \"type\": {\n        \"arguments\": { \"func\": \"(key: string | null) => void\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"someDisplayedKey\": {\n      \"type\": {\n        \"arguments\": { \"func\": \"(key: string | null) => boolean\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"hasGroups\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"refresh\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"V\"] }\n  },\n  \"SetFilterModelTreeItem\": {\n    \"treeKey\": { \"type\": { \"returnType\": \"string | null\", \"optional\": false } },\n    \"depth\": { \"type\": { \"returnType\": \"number\", \"optional\": false } },\n    \"filterPasses\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"available\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"expanded\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"children\": {\n      \"type\": { \"returnType\": \"SetFilterModelTreeItem[]\", \"optional\": true }\n    },\n    \"key\": { \"type\": { \"returnType\": \"string | null\", \"optional\": true } },\n    \"parentTreeKeys\": {\n      \"type\": { \"returnType\": \"(string | null)[]\", \"optional\": false }\n    }\n  },\n  \"ISetFilterLocaleText\": {\n    \"loadingOoo\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"blanks\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"searchOoo\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"selectAll\": { \"type\": { \"returnType\": \"string\", \"optional\": false } },\n    \"selectAllSearchResults\": {\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    },\n    \"noMatches\": { \"type\": { \"returnType\": \"string\", \"optional\": false } }\n  },\n  \"SetFilterListItemSelectionChangedEvent\": {\n    \"isSelected\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"item\": { \"type\": { \"returnType\": \"I\", \"optional\": false } },\n    \"meta\": {\n      \"typeParams\": [\n        \"I extends SetFilterModelTreeItem | string | null = SetFilterModelTreeItem | string | null\"\n      ]\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"SetFilterListItemExpandedChangedEvent\": {\n    \"isExpanded\": { \"type\": { \"returnType\": \"boolean\", \"optional\": false } },\n    \"item\": { \"type\": { \"returnType\": \"I\", \"optional\": false } },\n    \"meta\": {\n      \"typeParams\": [\n        \"I extends SetFilterModelTreeItem | string | null = SetFilterModelTreeItem | string | null\"\n      ]\n    },\n    \"type\": {\n      \"description\": \"/** Event identifier */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": false }\n    }\n  },\n  \"SetFilterListItemParams\": {\n    \"focusWrapper\": {\n      \"type\": { \"returnType\": \"HTMLElement\", \"optional\": false }\n    },\n    \"value\": {\n      \"type\": { \"returnType\": \"V | null | (() => string)\", \"optional\": false }\n    },\n    \"params\": {\n      \"type\": { \"returnType\": \"SetFilterParams<any, V>\", \"optional\": false }\n    },\n    \"translate\": {\n      \"type\": {\n        \"arguments\": { \"key\": \"keyof ISetFilterLocaleText\" },\n        \"returnType\": \"string\",\n        \"optional\": false\n      }\n    },\n    \"valueFormatter\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"ValueFormatterParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"item\": {\n      \"type\": {\n        \"returnType\": \"SetFilterModelTreeItem | string | null\",\n        \"optional\": false\n      }\n    },\n    \"isSelected\": {\n      \"type\": { \"returnType\": \"boolean | undefined\", \"optional\": false }\n    },\n    \"isTree\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"depth\": { \"type\": { \"returnType\": \"number\", \"optional\": true } },\n    \"groupsExist\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"isGroup\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"isExpanded\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"hasIndeterminateExpandState\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"V\"] }\n  },\n  \"SetFilterModelValuesType\": {},\n  \"SetValueModelParams\": {\n    \"valueFormatterService\": {\n      \"type\": { \"returnType\": \"ValueFormatterService\", \"optional\": false }\n    },\n    \"gridOptionsService\": {\n      \"type\": { \"returnType\": \"GridOptionsService\", \"optional\": false }\n    },\n    \"columnModel\": {\n      \"type\": { \"returnType\": \"ColumnModel\", \"optional\": false }\n    },\n    \"valueService\": {\n      \"type\": { \"returnType\": \"ValueService\", \"optional\": false }\n    },\n    \"filterParams\": {\n      \"type\": { \"returnType\": \"SetFilterParams<any, V>\", \"optional\": false }\n    },\n    \"setIsLoading\": {\n      \"type\": {\n        \"arguments\": { \"loading\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"translate\": {\n      \"type\": {\n        \"arguments\": { \"key\": \"keyof ISetFilterLocaleText\" },\n        \"returnType\": \"string\",\n        \"optional\": false\n      }\n    },\n    \"caseFormat\": {\n      \"type\": {\n        \"arguments\": { \"valueToFormat\": \"T\" },\n        \"returnType\": \"typeof valueToFormat\",\n        \"optional\": false\n      }\n    },\n    \"createKey\": {\n      \"type\": {\n        \"arguments\": { \"value\": \"V | null\", \"node?\": \"RowNode\" },\n        \"returnType\": \"string | null\",\n        \"optional\": false\n      }\n    },\n    \"valueFormatter\": {\n      \"type\": {\n        \"arguments\": { \"params\": \"ValueFormatterParams\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"usingComplexObjects\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"treeDataTreeList\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupingTreeList\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"V\"] }\n  },\n  \"ToolPanelFiltersCompParams\": {\n    \"suppressExpandAll\": {\n      \"description\": \"/** To suppress Expand / Collapse All */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressFilterSearch\": {\n      \"description\": \"/** To suppress the Filter Search */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"suppressSyncLayoutWithGrid\": {\n      \"description\": \"/** Suppress updating the layout of columns as they are rearranged in the grid */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\", \"TContext = any\"] },\n    \"api\": {\n      \"description\": \"/** The grid api. */\",\n      \"type\": { \"returnType\": \"GridApi<TData>\", \"optional\": false }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The column api. */\",\n      \"type\": { \"returnType\": \"ColumnApi\", \"optional\": false }\n    },\n    \"context\": {\n      \"description\": \"/** Application context as set on `gridOptions.context`. */\",\n      \"type\": { \"returnType\": \"TContext\", \"optional\": false }\n    }\n  },\n  \"EXPAND_STATE\": {},\n  \"ToolPanelFilterItem\": {},\n  \"AgFrameworkComponent\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"T\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"T\"] }\n  },\n  \"IHeaderGroupAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IHeaderGroupParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IHeaderAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IHeaderParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"refresh\": {\n      \"description\": \"/** Get the header to refresh. Gets called whenever Column Defs are updated. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IHeaderParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IFloatingFilterAngularComp\": {\n    \"meta\": { \"typeParams\": [\"P = any\"] },\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IFloatingFilterParams<P>\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onParentModelChanged\": {\n      \"description\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"parentModel\": \"any\",\n          \"filterChangedEvent?\": \"FilterChangedEvent | null\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"IDateAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDateParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getDate\": {\n      \"description\": \"/** Returns the current date represented by this component */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"Date | null\",\n        \"optional\": false\n      }\n    },\n    \"setDate\": {\n      \"description\": \"/** Sets the date represented by this component */\",\n      \"type\": {\n        \"arguments\": { \"date\": \"Date | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDisabled\": {\n      \"description\": \"/** Optional: Sets the disabled state of this component */\",\n      \"type\": {\n        \"arguments\": { \"disabled\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"setInputPlaceholder\": {\n      \"description\": \"/** Optional: Sets the current input placeholder */\",\n      \"type\": {\n        \"arguments\": { \"placeholder\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"setInputAriaLabel\": {\n      \"description\": \"/** Optional: Sets the current input aria label */\",\n      \"type\": {\n        \"arguments\": { \"placeholder\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** Optional: A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    }\n  },\n  \"IFilterAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IFilterParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"ICellRendererAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellRendererParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"refresh\": {\n      \"description\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ICellEditorAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellEditorParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getValue\": {\n      \"description\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"isPopup\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getPopupPosition\": {\n      \"description\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"'over' | 'under' | undefined\",\n        \"optional\": true\n      }\n    },\n    \"isCancelBeforeStart\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"isCancelAfterEnd\": {\n      \"description\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"focusIn\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"focusOut\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"AgRendererComponent\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellRendererParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"refresh\": {\n      \"description\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    }\n  },\n  \"AgEditorComponent\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellEditorParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"getValue\": {\n      \"description\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"isPopup\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getPopupPosition\": {\n      \"description\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"'over' | 'under' | undefined\",\n        \"optional\": true\n      }\n    },\n    \"isCancelBeforeStart\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"isCancelAfterEnd\": {\n      \"description\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"focusIn\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"focusOut\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"AgFilterComponent\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IFilterParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"AgFloatingFilterComponent\": {\n    \"meta\": { \"typeParams\": [\"P = any\"] },\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IFloatingFilterParams<P>\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"onParentModelChanged\": {\n      \"description\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"parentModel\": \"any\",\n          \"filterChangedEvent?\": \"FilterChangedEvent | null\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    }\n  },\n  \"ILoadingCellRendererAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ILoadingCellRendererParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ILoadingOverlayAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ILoadingOverlayParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"INoRowsOverlayAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"INoRowsOverlayParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IStatusPanelAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IStatusPanelParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"IToolPanelAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IToolPanelParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ITooltipAngularComp\": {\n    \"agInit\": {\n      \"description\": \"/** Mandatory - Params for rendering this component. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ITooltipParams\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    }\n  },\n  \"ChangeDetectionStrategyType\": {},\n  \"SharedProps\": {\n    \"gridOptions\": {\n      \"type\": { \"returnType\": \"GridOptions<TData>\", \"optional\": true }\n    },\n    \"modules\": { \"type\": { \"returnType\": \"Module[]\", \"optional\": true } },\n    \"containerStyle\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"className\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"setGridApi\": {\n      \"type\": {\n        \"arguments\": { \"gridApi\": \"GridApi<TData>\", \"columnApi\": \"ColumnApi\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"componentWrappingElement\": {\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"maxComponentCreationTimeMs\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowDataChangeDetectionStrategy\": {\n      \"description\": \"/** @deprecated v29 ChangeDetectionStrategyType has been deprecated. IdentityCheck will always be used now for a more consistent approach. */\",\n      \"type\": { \"returnType\": \"ChangeDetectionStrategyType\", \"optional\": true }\n    },\n    \"children\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"statusBar\": {\n      \"description\": \"/** Specifies the status bar components to use in the status bar. */\",\n      \"type\": {\n        \"returnType\": \"{ statusPanels: StatusPanelDef[]; }\",\n        \"optional\": true\n      }\n    },\n    \"sideBar\": {\n      \"description\": \"/** Specifies the side bar components. */\",\n      \"type\": {\n        \"returnType\": \"SideBarDef | string | string[] | boolean | null\",\n        \"optional\": true\n      }\n    },\n    \"suppressContextMenu\": {\n      \"description\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"preventDefaultOnContextMenu\": {\n      \"description\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"allowContextMenuWithControlKey\": {\n      \"description\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMenuHide\": {\n      \"description\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableBrowserTooltips\": {\n      \"description\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tooltipShowDelay\": {\n      \"description\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltipHideDelay\": {\n      \"description\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltipMouseTrack\": {\n      \"description\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"popupParent\": {\n      \"description\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"copyHeadersToClipboard\": {\n      \"description\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"copyGroupHeadersToClipboard\": {\n      \"description\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"clipboardDeliminator\": {\n      \"description\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"clipboardDelimiter\": {\n      \"description\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"suppressCopyRowsToClipboard\": {\n      \"description\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCopySingleCellRanges\": {\n      \"description\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressLastEmptyLineOnPaste\": {\n      \"description\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClipboardPaste\": {\n      \"description\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClipboardApi\": {\n      \"description\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCutToClipboard\": {\n      \"description\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnDefs\": {\n      \"description\": \"/** Array of Column / Column Group definitions. */\",\n      \"type\": {\n        \"returnType\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\",\n        \"optional\": true\n      }\n    },\n    \"defaultColDef\": {\n      \"description\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": true }\n    },\n    \"defaultColGroupDef\": {\n      \"description\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n      \"type\": { \"returnType\": \"Partial<ColGroupDef<TData>>\", \"optional\": true }\n    },\n    \"columnTypes\": {\n      \"description\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: ColDef<TData>; }\",\n        \"optional\": true\n      }\n    },\n    \"maintainColumnOrder\": {\n      \"description\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFieldDotNotation\": {\n      \"description\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"headerHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"groupHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"floatingFiltersHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotGroupHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"allowDragFromColumnsToolPanel\": {\n      \"description\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMovableColumns\": {\n      \"description\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnMoveAnimation\": {\n      \"description\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressDragLeaveHidesColumns\": {\n      \"description\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowGroupHidesColumns\": {\n      \"description\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"colResizeDefault\": {\n      \"description\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n      \"type\": { \"returnType\": \"'shift'\", \"optional\": true }\n    },\n    \"suppressAutoSize\": {\n      \"description\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"autoSizePadding\": {\n      \"description\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"skipHeaderOnAutoSize\": {\n      \"description\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"components\": {\n      \"description\": \"/** A map of component names to components. */\",\n      \"type\": { \"returnType\": \"{ [p: string]: any; }\", \"optional\": true }\n    },\n    \"frameworkComponents\": {\n      \"description\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n      \"type\": {\n        \"returnType\": \"{ [p: string]: { new(): any; }; } | any\",\n        \"optional\": true\n      }\n    },\n    \"reactUi\": {\n      \"description\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressReactUi\": {\n      \"description\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"editType\": {\n      \"description\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n      \"type\": { \"returnType\": \"'fullRow'\", \"optional\": true }\n    },\n    \"singleClickEdit\": {\n      \"description\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClickEdit\": {\n      \"description\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"readOnlyEdit\": {\n      \"description\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"stopEditingWhenCellsLoseFocus\": {\n      \"description\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enterMovesDown\": {\n      \"description\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enterMovesDownAfterEdit\": {\n      \"description\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellEditingOnBackspace\": {\n      \"description\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"undoRedoCellEditing\": {\n      \"description\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"undoRedoCellEditingLimit\": {\n      \"description\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"defaultCsvExportParams\": {\n      \"description\": \"/** A default configuration object used to export to CSV. */\",\n      \"type\": { \"returnType\": \"CsvExportParams\", \"optional\": true }\n    },\n    \"suppressCsvExport\": {\n      \"description\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"defaultExcelExportParams\": {\n      \"description\": \"/** A default configuration object used to export to Excel. */\",\n      \"type\": { \"returnType\": \"ExcelExportParams\", \"optional\": true }\n    },\n    \"suppressExcelExport\": {\n      \"description\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excelStyles\": {\n      \"description\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n      \"type\": { \"returnType\": \"ExcelStyle[]\", \"optional\": true }\n    },\n    \"quickFilterText\": {\n      \"description\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"cacheQuickFilter\": {\n      \"description\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excludeHiddenColumnsFromQuickFilter\": {\n      \"description\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excludeChildrenWhenTreeDataFiltering\": {\n      \"description\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCharts\": {\n      \"description\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartThemes\": {\n      \"description\": \"/** The list of chart themes to be used. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"customChartThemes\": {\n      \"description\": \"/** A map containing custom chart themes. */\",\n      \"type\": {\n        \"returnType\": \"{ [name: string]: AgChartTheme }\",\n        \"optional\": true\n      }\n    },\n    \"chartThemeOverrides\": {\n      \"description\": \"/** Chart theme overrides applied to all themes. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    },\n    \"enableChartToolPanelsButton\": {\n      \"description\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressChartToolPanelsButton\": {\n      \"description\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartToolPanelsDef\": {\n      \"description\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n      \"type\": { \"returnType\": \"ChartToolPanelsDef\", \"optional\": true }\n    },\n    \"loadingCellRenderer\": {\n      \"description\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererParams\": {\n      \"description\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererSelector\": {\n      \"description\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n      \"type\": {\n        \"returnType\": \"LoadingCellRendererSelectorFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"localeText\": {\n      \"description\": \"/** A map of key->value pairs for localising text within the grid. */\",\n      \"type\": { \"returnType\": \"{ [key: string]: string }\", \"optional\": true }\n    },\n    \"masterDetail\": {\n      \"description\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepDetailRows\": {\n      \"description\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepDetailRowsCount\": {\n      \"description\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"detailCellRenderer\": {\n      \"description\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailCellRendererParams\": {\n      \"description\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailRowHeight\": {\n      \"description\": \"/** Set fixed height in pixels for each detail row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"detailRowAutoHeight\": {\n      \"description\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"context\": {\n      \"description\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"alignedGrids\": {\n      \"description\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n      \"type\": {\n        \"returnType\": \"{ api?: GridApi | null, columnApi?: ColumnApi | null }[]\",\n        \"optional\": true\n      }\n    },\n    \"tabIndex\": {\n      \"description\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowBuffer\": {\n      \"description\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"valueCache\": {\n      \"description\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"valueCacheNeverExpires\": {\n      \"description\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellExpressions\": {\n      \"description\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressParentsInRowNodes\": {\n      \"description\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressTouch\": {\n      \"description\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFocusAfterRefresh\": {\n      \"description\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAsyncEvents\": {\n      \"description\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressBrowserResizeObserver\": {\n      \"description\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPropertyNamesCheck\": {\n      \"description\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressChangeDetection\": {\n      \"description\": \"/** Disables change detection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debug\": {\n      \"description\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"overlayLoadingTemplate\": {\n      \"description\": \"/** Provide a template for 'loading' overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"loadingOverlayComponent\": {\n      \"description\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingOverlayComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingOverlayComponentParams\": {\n      \"description\": \"/** Customise the parameters provided to the loading overlay component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressLoadingOverlay\": {\n      \"description\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"overlayNoRowsTemplate\": {\n      \"description\": \"/** Provide a template for 'no rows' overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"noRowsOverlayComponent\": {\n      \"description\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"noRowsOverlayComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"noRowsOverlayComponentParams\": {\n      \"description\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressNoRowsOverlay\": {\n      \"description\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pagination\": {\n      \"description\": \"/** Set whether pagination is enabled. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"paginationPageSize\": {\n      \"description\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"paginationAutoPageSize\": {\n      \"description\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"paginateChildRows\": {\n      \"description\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPaginationPanel\": {\n      \"description\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotMode\": {\n      \"description\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotPanelShow\": {\n      \"description\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n      \"type\": {\n        \"returnType\": \"'always' | 'onlyWhenPivoting' | 'never'\",\n        \"optional\": true\n      }\n    },\n    \"pivotColumnGroupTotals\": {\n      \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n      \"type\": { \"returnType\": \"'before' | 'after'\", \"optional\": true }\n    },\n    \"pivotRowTotals\": {\n      \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n      \"type\": { \"returnType\": \"'before' | 'after'\", \"optional\": true }\n    },\n    \"pivotSuppressAutoColumn\": {\n      \"description\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressExpandablePivotGroups\": {\n      \"description\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"functionsReadOnly\": {\n      \"description\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggFuncs\": {\n      \"description\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: IAggFunc<TData>; }\",\n        \"optional\": true\n      }\n    },\n    \"suppressAggFuncInHeader\": {\n      \"description\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAggAtRootLevel\": {\n      \"description\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggregateOnlyChangedColumns\": {\n      \"description\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAggFilteredOnly\": {\n      \"description\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"removePivotHeaderRowWhenSingleValueColumn\": {\n      \"description\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"animateRows\": {\n      \"description\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellChangeFlash\": {\n      \"description\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellFlashDelay\": {\n      \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cellFadeDelay\": {\n      \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"allowShowChangeAfterFilter\": {\n      \"description\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"domLayout\": {\n      \"description\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n      \"type\": { \"returnType\": \"DomLayoutType\", \"optional\": true }\n    },\n    \"ensureDomOrder\": {\n      \"description\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRtl\": {\n      \"description\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnVirtualisation\": {\n      \"description\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMaxRenderedRowRestriction\": {\n      \"description\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowVirtualisation\": {\n      \"description\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragManaged\": {\n      \"description\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowDrag\": {\n      \"description\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMoveWhenRowDragging\": {\n      \"description\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragEntireRow\": {\n      \"description\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragMultiRow\": {\n      \"description\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragText\": {\n      \"description\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IRowDragItem\", \"dragItemCount\": \"number\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"fullWidthCellRenderer\": {\n      \"description\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"fullWidthCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"fullWidthCellRendererParams\": {\n      \"description\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"embedFullWidthRows\": {\n      \"description\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupDisplayType\": {\n      \"description\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n      \"type\": { \"returnType\": \"RowGroupingDisplayType\", \"optional\": true }\n    },\n    \"groupDefaultExpanded\": {\n      \"description\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"autoGroupColumnDef\": {\n      \"description\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": true }\n    },\n    \"groupMaintainOrder\": {\n      \"description\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSelectsChildren\": {\n      \"description\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupAggFiltering\": {\n      \"description\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n      \"type\": {\n        \"returnType\": \"boolean | IsRowFilterable<TData>\",\n        \"optional\": true\n      }\n    },\n    \"groupIncludeFooter\": {\n      \"description\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupIncludeTotalFooter\": {\n      \"description\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSuppressBlankHeader\": {\n      \"description\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSelectsFiltered\": {\n      \"description\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showOpenedGroup\": {\n      \"description\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRemoveSingleChildren\": {\n      \"description\": \"/** Set to `true` to collapse groups that only have one child. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRemoveLowestSingleChildren\": {\n      \"description\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupHideOpenParents\": {\n      \"description\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupAllowUnbalanced\": {\n      \"description\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupPanelShow\": {\n      \"description\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n      \"type\": {\n        \"returnType\": \"'always' | 'onlyWhenGrouping' | 'never'\",\n        \"optional\": true\n      }\n    },\n    \"groupRowRenderer\": {\n      \"description\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupRowRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupRowRendererParams\": {\n      \"description\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressMakeColumnVisibleAfterUnGroup\": {\n      \"description\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"treeData\": {\n      \"description\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupPanelSuppressSort\": {\n      \"description\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRowsSticky\": {\n      \"description\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rememberGroupStateWhenNewData\": {\n      \"description\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pinnedTopRowData\": {\n      \"description\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"pinnedBottomRowData\": {\n      \"description\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"rowModelType\": {\n      \"description\": \"/** Sets the row model type. Default: `clientSide` */\",\n      \"type\": { \"returnType\": \"RowModelType\", \"optional\": true }\n    },\n    \"rowData\": {\n      \"description\": \"/** Set the data to be displayed as rows in the grid. */\",\n      \"type\": { \"returnType\": \"TData[] | null\", \"optional\": true }\n    },\n    \"immutableData\": {\n      \"description\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"asyncTransactionWaitMillis\": {\n      \"description\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressModelUpdateAfterUpdateTransaction\": {\n      \"description\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"datasource\": {\n      \"description\": \"/** Provide the datasource for infinite scrolling. */\",\n      \"type\": { \"returnType\": \"IDatasource\", \"optional\": true }\n    },\n    \"cacheOverflowSize\": {\n      \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"infiniteInitialRowCount\": {\n      \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"serverSideInitialRowCount\": {\n      \"description\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"serverSideStoreType\": {\n      \"description\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n      \"type\": { \"returnType\": \"ServerSideStoreType\", \"optional\": true }\n    },\n    \"suppressServerSideInfiniteScroll\": {\n      \"description\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cacheBlockSize\": {\n      \"description\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxBlocksInCache\": {\n      \"description\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxConcurrentDatasourceRequests\": {\n      \"description\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"blockLoadDebounceMillis\": {\n      \"description\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"purgeClosedRowNodes\": {\n      \"description\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideDatasource\": {\n      \"description\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n      \"type\": { \"returnType\": \"IServerSideDatasource\", \"optional\": true }\n    },\n    \"serverSideSortAllLevels\": {\n      \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilterAllLevels\": {\n      \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideSortOnServer\": {\n      \"description\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilterOnServer\": {\n      \"description\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideSortingAlwaysResets\": {\n      \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilteringAlwaysResets\": {\n      \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"viewportDatasource\": {\n      \"description\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n      \"type\": { \"returnType\": \"IViewportDatasource\", \"optional\": true }\n    },\n    \"viewportRowModelPageSize\": {\n      \"description\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"viewportRowModelBufferSize\": {\n      \"description\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"alwaysShowHorizontalScroll\": {\n      \"description\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowVerticalScroll\": {\n      \"description\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceVerticalScrollbar\": {\n      \"description\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressHorizontalScroll\": {\n      \"description\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressScrollOnNewData\": {\n      \"description\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressScrollWhenPopupsAreOpen\": {\n      \"description\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAnimationFrame\": {\n      \"description\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMiddleClickScrolls\": {\n      \"description\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPreventDefaultOnMouseWheel\": {\n      \"description\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"scrollbarWidth\": {\n      \"description\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowSelection\": {\n      \"description\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n      \"type\": { \"returnType\": \"'single' | 'multiple'\", \"optional\": true }\n    },\n    \"rowMultiSelectWithClick\": {\n      \"description\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowDeselection\": {\n      \"description\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowClickSelection\": {\n      \"description\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellSelection\": {\n      \"description\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellFocus\": {\n      \"description\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMultiRangeSelection\": {\n      \"description\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellTextSelection\": {\n      \"description\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRangeSelection\": {\n      \"description\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRangeHandle\": {\n      \"description\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableFillHandle\": {\n      \"description\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fillHandleDirection\": {\n      \"description\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n      \"type\": { \"returnType\": \"'x' | 'y' | 'xy'\", \"optional\": true }\n    },\n    \"suppressClearOnFillReduction\": {\n      \"description\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"sortingOrder\": {\n      \"description\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n      \"type\": { \"returnType\": \"(SortDirection)[]\", \"optional\": true }\n    },\n    \"accentedSort\": {\n      \"description\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"unSortIcon\": {\n      \"description\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMultiSort\": {\n      \"description\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysMultiSort\": {\n      \"description\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"multiSortKey\": {\n      \"description\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n      \"type\": { \"returnType\": \"'ctrl'\", \"optional\": true }\n    },\n    \"suppressMaintainUnsortedOrder\": {\n      \"description\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"icons\": {\n      \"description\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: Function | string; }\",\n        \"optional\": true\n      }\n    },\n    \"rowHeight\": {\n      \"description\": \"/** Default row height in pixels. Default: `25` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowStyle\": {\n      \"description\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n      \"type\": { \"returnType\": \"RowStyle\", \"optional\": true }\n    },\n    \"rowClass\": {\n      \"description\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n      \"type\": { \"returnType\": \"string | string[]\", \"optional\": true }\n    },\n    \"rowClassRules\": {\n      \"description\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"type\": { \"returnType\": \"RowClassRules<TData>\", \"optional\": true }\n    },\n    \"suppressRowHoverHighlight\": {\n      \"description\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowTransform\": {\n      \"description\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnHoverHighlight\": {\n      \"description\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"deltaSort\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"treeDataDisplayType\": {\n      \"type\": { \"returnType\": \"TreeDataDisplayType\", \"optional\": true }\n    },\n    \"functionsPassive\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableGroupEdit\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getContextMenuItems\": {\n      \"description\": \"/** For customising the context menu. */\",\n      \"type\": { \"returnType\": \"GetContextMenuItems<TData>\", \"optional\": true }\n    },\n    \"getMainMenuItems\": {\n      \"description\": \"/** For customising the main 'column header' menu. */\",\n      \"type\": { \"returnType\": \"GetMainMenuItems\", \"optional\": true }\n    },\n    \"postProcessPopup\": {\n      \"description\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PostProcessPopupParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processCellForClipboard\": {\n      \"description\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processHeaderForClipboard\": {\n      \"description\": \"/** Allows you to process header values for the clipboard.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessHeaderForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processGroupHeaderForClipboard\": {\n      \"description\": \"/** Allows you to process group header values for the clipboard.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processCellFromClipboard\": {\n      \"description\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"sendToClipboard\": {\n      \"description\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"SendToClipboardParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processDataFromClipboard\": {\n      \"description\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessDataFromClipboardParams<TData>\" },\n        \"returnType\": \"string[][] | null\",\n        \"optional\": true\n      }\n    },\n    \"isExternalFilterPresent\": {\n      \"description\": \"/** Grid calls this method to know if an external filter is present. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsExternalFilterPresentParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"doesExternalFilterPass\": {\n      \"description\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n      \"type\": {\n        \"arguments\": { \"node\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"getChartToolbarItems\": {\n      \"description\": \"/** Callback to be used to customise the chart toolbar items. */\",\n      \"type\": { \"returnType\": \"GetChartToolbarItems\", \"optional\": true }\n    },\n    \"createChartContainer\": {\n      \"description\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ChartRefParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"navigateToNextHeader\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"NavigateToNextHeaderParams<TData>\" },\n        \"returnType\": \"(HeaderPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"tabToNextHeader\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"TabToNextHeaderParams<TData>\" },\n        \"returnType\": \"(HeaderPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"navigateToNextCell\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"NavigateToNextCellParams<TData>\" },\n        \"returnType\": \"(CellPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"tabToNextCell\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"TabToNextCellParams<TData>\" },\n        \"returnType\": \"(CellPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"localeTextFunc\": {\n      \"description\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n      \"type\": {\n        \"arguments\": {\n          \"key\": \"string\",\n          \"defaultValue\": \"string\",\n          \"variableValues?\": \"string[]\"\n        },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getLocaleText\": {\n      \"description\": \"/** A callback for localising text within the grid. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetLocaleTextParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getDocument\": {\n      \"description\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"Document\", \"optional\": true }\n    },\n    \"paginationNumberFormatter\": {\n      \"description\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PaginationNumberFormatterParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"groupRowAggNodes\": {\n      \"description\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n      \"type\": {\n        \"arguments\": { \"nodes\": \"IRowNode[]\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"getGroupRowAgg\": {\n      \"description\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetGroupRowAggParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"isGroupOpenByDefault\": {\n      \"description\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsGroupOpenByDefaultParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"initialGroupOrderComparator\": {\n      \"description\": \"/** Allows default sorting of groups. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"InitialGroupOrderComparatorParams<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"defaultGroupOrderComparator\": {\n      \"description\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n      \"type\": {\n        \"arguments\": { \"nodeA\": \"IRowNode<TData>\", \"nodeB\": \"IRowNode<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"processSecondaryColDef\": {\n      \"description\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n      \"type\": {\n        \"arguments\": { \"colDef\": \"ColDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processSecondaryColGroupDef\": {\n      \"description\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n      \"type\": {\n        \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processPivotResultColDef\": {\n      \"description\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n      \"type\": {\n        \"arguments\": { \"colDef\": \"ColDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processPivotResultColGroupDef\": {\n      \"description\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n      \"type\": {\n        \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getDataPath\": {\n      \"description\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n      \"type\": { \"returnType\": \"GetDataPath<TData>\", \"optional\": true }\n    },\n    \"getChildCount\": {\n      \"description\": \"/** Allows setting the child count for a group row. */\",\n      \"type\": {\n        \"arguments\": { \"dataItem\": \"any\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"getServerSideGroupLevelParams\": {\n      \"description\": \"/** Allows providing different params for different levels of grouping. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n        \"returnType\": \"ServerSideGroupLevelParams\",\n        \"optional\": true\n      }\n    },\n    \"getServerSideStoreParams\": {\n      \"description\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n        \"returnType\": \"ServerSideGroupLevelParams\",\n        \"optional\": true\n      }\n    },\n    \"isServerSideGroupOpenByDefault\": {\n      \"description\": \"/** Allows groups to be open by default. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsServerSideGroupOpenByDefaultParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"isApplyServerSideTransaction\": {\n      \"description\": \"/** Allows cancelling transactions. */\",\n      \"type\": { \"returnType\": \"IsApplyServerSideTransaction\", \"optional\": true }\n    },\n    \"isServerSideGroup\": {\n      \"description\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n      \"type\": { \"returnType\": \"IsServerSideGroup\", \"optional\": true }\n    },\n    \"getServerSideGroupKey\": {\n      \"description\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n      \"type\": { \"returnType\": \"GetServerSideGroupKey\", \"optional\": true }\n    },\n    \"getBusinessKeyForNode\": {\n      \"description\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"node\": \"IRowNode<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getRowNodeId\": {\n      \"description\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n      \"type\": { \"returnType\": \"GetRowNodeIdFunc<TData>\", \"optional\": true }\n    },\n    \"getRowId\": {\n      \"description\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n      \"type\": { \"returnType\": \"GetRowIdFunc<TData>\", \"optional\": true }\n    },\n    \"resetRowDataOnUpdate\": {\n      \"description\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"processRowPostCreate\": {\n      \"description\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"isRowSelectable\": {\n      \"description\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n      \"type\": { \"returnType\": \"IsRowSelectable<TData>\", \"optional\": true }\n    },\n    \"isRowMaster\": {\n      \"description\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n      \"type\": { \"returnType\": \"IsRowMaster<TData>\", \"optional\": true }\n    },\n    \"fillOperation\": {\n      \"description\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"FillOperationParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"postSort\": {\n      \"description\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n      \"type\": {\n        \"arguments\": { \"nodes\": \"IRowNode<TData>[]\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"postSortRows\": {\n      \"description\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PostSortRowsParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getRowStyle\": {\n      \"description\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n        \"returnType\": \"RowStyle | undefined\",\n        \"optional\": true\n      }\n    },\n    \"getRowClass\": {\n      \"description\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n        \"returnType\": \"string | string[] | undefined\",\n        \"optional\": true\n      }\n    },\n    \"getRowHeight\": {\n      \"description\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowHeightParams<TData>\" },\n        \"returnType\": \"number | undefined | null\",\n        \"optional\": true\n      }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"isFullWidthRow\": {\n      \"description\": \"/** Tells the grid if this row should be rendered as full width. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsFullWidthRowParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"onToolPanelVisibleChanged\": {\n      \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n    },\n    \"toolPanelVisibleChanged\": {\n      \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n    },\n    \"onToolPanelSizeChanged\": {\n      \"description\": \"/** The tool panel size has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n    },\n    \"toolPanelSizeChanged\": {\n      \"description\": \"/** The tool panel size has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n    },\n    \"onPasteStart\": {\n      \"description\": \"/** Paste operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n    },\n    \"pasteStart\": {\n      \"description\": \"/** Paste operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n    },\n    \"onPasteEnd\": {\n      \"description\": \"/** Paste operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n    },\n    \"pasteEnd\": {\n      \"description\": \"/** Paste operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n    },\n    \"onColumnVisible\": {\n      \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n    },\n    \"columnVisible\": {\n      \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n    },\n    \"onColumnPinned\": {\n      \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n    },\n    \"columnPinned\": {\n      \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n    },\n    \"onColumnResized\": {\n      \"description\": \"/** A column was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n    },\n    \"columnResized\": {\n      \"description\": \"/** A column was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n    },\n    \"onColumnMoved\": {\n      \"description\": \"/** A column was moved. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n    },\n    \"columnMoved\": {\n      \"description\": \"/** A column was moved. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n    },\n    \"onColumnValueChanged\": {\n      \"description\": \"/** A value column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n    },\n    \"columnValueChanged\": {\n      \"description\": \"/** A value column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n    },\n    \"onColumnPivotModeChanged\": {\n      \"description\": \"/** The pivot mode flag was changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n    },\n    \"columnPivotModeChanged\": {\n      \"description\": \"/** The pivot mode flag was changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n    },\n    \"onColumnPivotChanged\": {\n      \"description\": \"/** A pivot column was added, removed or order changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n    },\n    \"columnPivotChanged\": {\n      \"description\": \"/** A pivot column was added, removed or order changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n    },\n    \"onColumnGroupOpened\": {\n      \"description\": \"/** A column group was opened / closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n    },\n    \"columnGroupOpened\": {\n      \"description\": \"/** A column group was opened / closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n    },\n    \"onNewColumnsLoaded\": {\n      \"description\": \"/** User set new columns. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n    },\n    \"newColumnsLoaded\": {\n      \"description\": \"/** User set new columns. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n    },\n    \"onGridColumnsChanged\": {\n      \"description\": \"/** The list of grid columns changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n    },\n    \"gridColumnsChanged\": {\n      \"description\": \"/** The list of grid columns changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n    },\n    \"onDisplayedColumnsChanged\": {\n      \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n    },\n    \"displayedColumnsChanged\": {\n      \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n    },\n    \"onVirtualColumnsChanged\": {\n      \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n    },\n    \"virtualColumnsChanged\": {\n      \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n    },\n    \"onColumnEverythingChanged\": {\n      \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n    },\n    \"columnEverythingChanged\": {\n      \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n    },\n    \"onComponentStateChanged\": {\n      \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n    },\n    \"componentStateChanged\": {\n      \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n    },\n    \"onCellValueChanged\": {\n      \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n    },\n    \"cellValueChanged\": {\n      \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n    },\n    \"onCellEditRequest\": {\n      \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n    },\n    \"cellEditRequest\": {\n      \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n    },\n    \"onRowValueChanged\": {\n      \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n    },\n    \"rowValueChanged\": {\n      \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n    },\n    \"onCellEditingStarted\": {\n      \"description\": \"/** Editing a cell has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n    },\n    \"cellEditingStarted\": {\n      \"description\": \"/** Editing a cell has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n    },\n    \"onCellEditingStopped\": {\n      \"description\": \"/** Editing a cell has stopped. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n    },\n    \"cellEditingStopped\": {\n      \"description\": \"/** Editing a cell has stopped. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n    },\n    \"onRowEditingStarted\": {\n      \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n    },\n    \"rowEditingStarted\": {\n      \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n    },\n    \"onRowEditingStopped\": {\n      \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n    },\n    \"rowEditingStopped\": {\n      \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n    },\n    \"onUndoStarted\": {\n      \"description\": \"/** Undo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n    },\n    \"undoStarted\": {\n      \"description\": \"/** Undo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n    },\n    \"onUndoEnded\": {\n      \"description\": \"/** Undo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n    },\n    \"undoEnded\": {\n      \"description\": \"/** Undo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n    },\n    \"onRedoStarted\": {\n      \"description\": \"/** Redo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n    },\n    \"redoStarted\": {\n      \"description\": \"/** Redo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n    },\n    \"onRedoEnded\": {\n      \"description\": \"/** Redo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n    },\n    \"redoEnded\": {\n      \"description\": \"/** Redo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n    },\n    \"onFilterOpened\": {\n      \"description\": \"/** Filter has been opened. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n    },\n    \"filterOpened\": {\n      \"description\": \"/** Filter has been opened. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n    },\n    \"onFilterChanged\": {\n      \"description\": \"/** Filter has been modified and applied. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n    },\n    \"filterChanged\": {\n      \"description\": \"/** Filter has been modified and applied. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n    },\n    \"onFilterModified\": {\n      \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n    },\n    \"filterModified\": {\n      \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n    },\n    \"onChartCreated\": {\n      \"description\": \"/** A chart has been created. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n    },\n    \"chartCreated\": {\n      \"description\": \"/** A chart has been created. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n    },\n    \"onChartRangeSelectionChanged\": {\n      \"description\": \"/** The data range for the chart has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n    },\n    \"chartRangeSelectionChanged\": {\n      \"description\": \"/** The data range for the chart has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n    },\n    \"onChartOptionsChanged\": {\n      \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n    },\n    \"chartOptionsChanged\": {\n      \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n    },\n    \"onChartDestroyed\": {\n      \"description\": \"/** A chart has been destroyed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n    },\n    \"chartDestroyed\": {\n      \"description\": \"/** A chart has been destroyed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n    },\n    \"onCellKeyDown\": {\n      \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n    },\n    \"cellKeyDown\": {\n      \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n    },\n    \"onCellKeyPress\": {\n      \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n    },\n    \"cellKeyPress\": {\n      \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n    },\n    \"onGridReady\": {\n      \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n    },\n    \"gridReady\": {\n      \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n    },\n    \"onFirstDataRendered\": {\n      \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n    },\n    \"firstDataRendered\": {\n      \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n    },\n    \"onGridSizeChanged\": {\n      \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n    },\n    \"gridSizeChanged\": {\n      \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n    },\n    \"onModelUpdated\": {\n      \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n    },\n    \"modelUpdated\": {\n      \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n    },\n    \"onVirtualRowRemoved\": {\n      \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n    },\n    \"virtualRowRemoved\": {\n      \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n    },\n    \"onViewportChanged\": {\n      \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n    },\n    \"viewportChanged\": {\n      \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n    },\n    \"onBodyScroll\": {\n      \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n    },\n    \"bodyScroll\": {\n      \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n    },\n    \"onBodyScrollEnd\": {\n      \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n    },\n    \"bodyScrollEnd\": {\n      \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n    },\n    \"onDragStarted\": {\n      \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n    },\n    \"dragStarted\": {\n      \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n    },\n    \"onDragStopped\": {\n      \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n    },\n    \"dragStopped\": {\n      \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n    },\n    \"onPaginationChanged\": {\n      \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n    },\n    \"paginationChanged\": {\n      \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n    },\n    \"onRowDragEnter\": {\n      \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n    },\n    \"rowDragEnter\": {\n      \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n    },\n    \"onRowDragMove\": {\n      \"description\": \"/** The mouse has moved while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n    },\n    \"rowDragMove\": {\n      \"description\": \"/** The mouse has moved while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n    },\n    \"onRowDragLeave\": {\n      \"description\": \"/** The mouse has left the grid while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n    },\n    \"rowDragLeave\": {\n      \"description\": \"/** The mouse has left the grid while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n    },\n    \"onRowDragEnd\": {\n      \"description\": \"/** The drag has finished over the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n    },\n    \"rowDragEnd\": {\n      \"description\": \"/** The drag has finished over the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n    },\n    \"onColumnRowGroupChanged\": {\n      \"description\": \"/** A row group column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n    },\n    \"columnRowGroupChanged\": {\n      \"description\": \"/** A row group column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n    },\n    \"onRowGroupOpened\": {\n      \"description\": \"/** A row group was opened or closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"rowGroupOpened\": {\n      \"description\": \"/** A row group was opened or closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"onExpandOrCollapseAll\": {\n      \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n    },\n    \"expandOrCollapseAll\": {\n      \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n    },\n    \"onPinnedRowDataChanged\": {\n      \"description\": \"/** The client has set new pinned row data into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n    },\n    \"pinnedRowDataChanged\": {\n      \"description\": \"/** The client has set new pinned row data into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n    },\n    \"onRowDataChanged\": {\n      \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n    },\n    \"rowDataChanged\": {\n      \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n    },\n    \"onRowDataUpdated\": {\n      \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n    },\n    \"rowDataUpdated\": {\n      \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n    },\n    \"onAsyncTransactionsFlushed\": {\n      \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n    },\n    \"asyncTransactionsFlushed\": {\n      \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n    },\n    \"onStoreRefreshed\": {\n      \"description\": \"/** A server side store has finished refreshing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n    },\n    \"storeRefreshed\": {\n      \"description\": \"/** A server side store has finished refreshing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n    },\n    \"onCellClicked\": {\n      \"description\": \"/** Cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n    },\n    \"cellClicked\": {\n      \"description\": \"/** Cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n    },\n    \"onCellDoubleClicked\": {\n      \"description\": \"/** Cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n    },\n    \"cellDoubleClicked\": {\n      \"description\": \"/** Cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n    },\n    \"onCellFocused\": {\n      \"description\": \"/** Cell is focused. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n    },\n    \"cellFocused\": {\n      \"description\": \"/** Cell is focused. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n    },\n    \"onCellMouseOver\": {\n      \"description\": \"/** Mouse entered cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n    },\n    \"cellMouseOver\": {\n      \"description\": \"/** Mouse entered cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n    },\n    \"onCellMouseOut\": {\n      \"description\": \"/** Mouse left cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n    },\n    \"cellMouseOut\": {\n      \"description\": \"/** Mouse left cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n    },\n    \"onCellMouseDown\": {\n      \"description\": \"/** Mouse down on cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n    },\n    \"cellMouseDown\": {\n      \"description\": \"/** Mouse down on cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n    },\n    \"onRowClicked\": {\n      \"description\": \"/** Row is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n    },\n    \"rowClicked\": {\n      \"description\": \"/** Row is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n    },\n    \"onRowDoubleClicked\": {\n      \"description\": \"/** Row is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n    },\n    \"rowDoubleClicked\": {\n      \"description\": \"/** Row is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n    },\n    \"onRowSelected\": {\n      \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n    },\n    \"rowSelected\": {\n      \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n    },\n    \"onSelectionChanged\": {\n      \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n    },\n    \"selectionChanged\": {\n      \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n    },\n    \"onCellContextMenu\": {\n      \"description\": \"/** Cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n    },\n    \"cellContextMenu\": {\n      \"description\": \"/** Cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n    },\n    \"onRangeSelectionChanged\": {\n      \"description\": \"/** A change to range selection has occurred. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n    },\n    \"rangeSelectionChanged\": {\n      \"description\": \"/** A change to range selection has occurred. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n    },\n    \"onSortChanged\": {\n      \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n    },\n    \"sortChanged\": {\n      \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n    },\n    \"onColumnRowGroupChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n    },\n    \"columnRowGroupChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n    },\n    \"onColumnPivotChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n    },\n    \"columnPivotChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n    },\n    \"onColumnValueChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n    },\n    \"columnValueChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n    },\n    \"onColumnAggFuncChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n    },\n    \"columnAggFuncChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n    },\n    \"api\": {\n      \"description\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"type\": { \"returnType\": \"GridApi<TData> | null\", \"optional\": true }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"type\": { \"returnType\": \"ColumnApi | null\", \"optional\": true }\n    }\n  },\n  \"AgReactUiProps\": {\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"gridOptions\": {\n      \"type\": { \"returnType\": \"GridOptions<TData>\", \"optional\": true }\n    },\n    \"modules\": { \"type\": { \"returnType\": \"Module[]\", \"optional\": true } },\n    \"containerStyle\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"className\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"setGridApi\": {\n      \"type\": {\n        \"arguments\": { \"gridApi\": \"GridApi<TData>\", \"columnApi\": \"ColumnApi\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"componentWrappingElement\": {\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"maxComponentCreationTimeMs\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowDataChangeDetectionStrategy\": {\n      \"description\": \"/** @deprecated v29 ChangeDetectionStrategyType has been deprecated. IdentityCheck will always be used now for a more consistent approach. */\",\n      \"type\": { \"returnType\": \"ChangeDetectionStrategyType\", \"optional\": true }\n    },\n    \"children\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"statusBar\": {\n      \"description\": \"/** Specifies the status bar components to use in the status bar. */\",\n      \"type\": {\n        \"returnType\": \"{ statusPanels: StatusPanelDef[]; }\",\n        \"optional\": true\n      }\n    },\n    \"sideBar\": {\n      \"description\": \"/** Specifies the side bar components. */\",\n      \"type\": {\n        \"returnType\": \"SideBarDef | string | string[] | boolean | null\",\n        \"optional\": true\n      }\n    },\n    \"suppressContextMenu\": {\n      \"description\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"preventDefaultOnContextMenu\": {\n      \"description\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"allowContextMenuWithControlKey\": {\n      \"description\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMenuHide\": {\n      \"description\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableBrowserTooltips\": {\n      \"description\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tooltipShowDelay\": {\n      \"description\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltipHideDelay\": {\n      \"description\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltipMouseTrack\": {\n      \"description\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"popupParent\": {\n      \"description\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"copyHeadersToClipboard\": {\n      \"description\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"copyGroupHeadersToClipboard\": {\n      \"description\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"clipboardDeliminator\": {\n      \"description\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"clipboardDelimiter\": {\n      \"description\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"suppressCopyRowsToClipboard\": {\n      \"description\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCopySingleCellRanges\": {\n      \"description\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressLastEmptyLineOnPaste\": {\n      \"description\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClipboardPaste\": {\n      \"description\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClipboardApi\": {\n      \"description\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCutToClipboard\": {\n      \"description\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnDefs\": {\n      \"description\": \"/** Array of Column / Column Group definitions. */\",\n      \"type\": {\n        \"returnType\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\",\n        \"optional\": true\n      }\n    },\n    \"defaultColDef\": {\n      \"description\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": true }\n    },\n    \"defaultColGroupDef\": {\n      \"description\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n      \"type\": { \"returnType\": \"Partial<ColGroupDef<TData>>\", \"optional\": true }\n    },\n    \"columnTypes\": {\n      \"description\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: ColDef<TData>; }\",\n        \"optional\": true\n      }\n    },\n    \"maintainColumnOrder\": {\n      \"description\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFieldDotNotation\": {\n      \"description\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"headerHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"groupHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"floatingFiltersHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotGroupHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"allowDragFromColumnsToolPanel\": {\n      \"description\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMovableColumns\": {\n      \"description\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnMoveAnimation\": {\n      \"description\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressDragLeaveHidesColumns\": {\n      \"description\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowGroupHidesColumns\": {\n      \"description\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"colResizeDefault\": {\n      \"description\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n      \"type\": { \"returnType\": \"'shift'\", \"optional\": true }\n    },\n    \"suppressAutoSize\": {\n      \"description\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"autoSizePadding\": {\n      \"description\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"skipHeaderOnAutoSize\": {\n      \"description\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"components\": {\n      \"description\": \"/** A map of component names to components. */\",\n      \"type\": { \"returnType\": \"{ [p: string]: any; }\", \"optional\": true }\n    },\n    \"frameworkComponents\": {\n      \"description\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n      \"type\": {\n        \"returnType\": \"{ [p: string]: { new(): any; }; } | any\",\n        \"optional\": true\n      }\n    },\n    \"reactUi\": {\n      \"description\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressReactUi\": {\n      \"description\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"editType\": {\n      \"description\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n      \"type\": { \"returnType\": \"'fullRow'\", \"optional\": true }\n    },\n    \"singleClickEdit\": {\n      \"description\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClickEdit\": {\n      \"description\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"readOnlyEdit\": {\n      \"description\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"stopEditingWhenCellsLoseFocus\": {\n      \"description\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enterMovesDown\": {\n      \"description\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enterMovesDownAfterEdit\": {\n      \"description\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellEditingOnBackspace\": {\n      \"description\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"undoRedoCellEditing\": {\n      \"description\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"undoRedoCellEditingLimit\": {\n      \"description\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"defaultCsvExportParams\": {\n      \"description\": \"/** A default configuration object used to export to CSV. */\",\n      \"type\": { \"returnType\": \"CsvExportParams\", \"optional\": true }\n    },\n    \"suppressCsvExport\": {\n      \"description\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"defaultExcelExportParams\": {\n      \"description\": \"/** A default configuration object used to export to Excel. */\",\n      \"type\": { \"returnType\": \"ExcelExportParams\", \"optional\": true }\n    },\n    \"suppressExcelExport\": {\n      \"description\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excelStyles\": {\n      \"description\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n      \"type\": { \"returnType\": \"ExcelStyle[]\", \"optional\": true }\n    },\n    \"quickFilterText\": {\n      \"description\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"cacheQuickFilter\": {\n      \"description\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excludeHiddenColumnsFromQuickFilter\": {\n      \"description\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excludeChildrenWhenTreeDataFiltering\": {\n      \"description\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCharts\": {\n      \"description\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartThemes\": {\n      \"description\": \"/** The list of chart themes to be used. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"customChartThemes\": {\n      \"description\": \"/** A map containing custom chart themes. */\",\n      \"type\": {\n        \"returnType\": \"{ [name: string]: AgChartTheme }\",\n        \"optional\": true\n      }\n    },\n    \"chartThemeOverrides\": {\n      \"description\": \"/** Chart theme overrides applied to all themes. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    },\n    \"enableChartToolPanelsButton\": {\n      \"description\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressChartToolPanelsButton\": {\n      \"description\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartToolPanelsDef\": {\n      \"description\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n      \"type\": { \"returnType\": \"ChartToolPanelsDef\", \"optional\": true }\n    },\n    \"loadingCellRenderer\": {\n      \"description\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererParams\": {\n      \"description\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererSelector\": {\n      \"description\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n      \"type\": {\n        \"returnType\": \"LoadingCellRendererSelectorFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"localeText\": {\n      \"description\": \"/** A map of key->value pairs for localising text within the grid. */\",\n      \"type\": { \"returnType\": \"{ [key: string]: string }\", \"optional\": true }\n    },\n    \"masterDetail\": {\n      \"description\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepDetailRows\": {\n      \"description\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepDetailRowsCount\": {\n      \"description\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"detailCellRenderer\": {\n      \"description\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailCellRendererParams\": {\n      \"description\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailRowHeight\": {\n      \"description\": \"/** Set fixed height in pixels for each detail row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"detailRowAutoHeight\": {\n      \"description\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"context\": {\n      \"description\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"alignedGrids\": {\n      \"description\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n      \"type\": {\n        \"returnType\": \"{ api?: GridApi | null, columnApi?: ColumnApi | null }[]\",\n        \"optional\": true\n      }\n    },\n    \"tabIndex\": {\n      \"description\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowBuffer\": {\n      \"description\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"valueCache\": {\n      \"description\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"valueCacheNeverExpires\": {\n      \"description\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellExpressions\": {\n      \"description\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressParentsInRowNodes\": {\n      \"description\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressTouch\": {\n      \"description\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFocusAfterRefresh\": {\n      \"description\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAsyncEvents\": {\n      \"description\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressBrowserResizeObserver\": {\n      \"description\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPropertyNamesCheck\": {\n      \"description\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressChangeDetection\": {\n      \"description\": \"/** Disables change detection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debug\": {\n      \"description\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"overlayLoadingTemplate\": {\n      \"description\": \"/** Provide a template for 'loading' overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"loadingOverlayComponent\": {\n      \"description\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingOverlayComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingOverlayComponentParams\": {\n      \"description\": \"/** Customise the parameters provided to the loading overlay component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressLoadingOverlay\": {\n      \"description\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"overlayNoRowsTemplate\": {\n      \"description\": \"/** Provide a template for 'no rows' overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"noRowsOverlayComponent\": {\n      \"description\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"noRowsOverlayComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"noRowsOverlayComponentParams\": {\n      \"description\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressNoRowsOverlay\": {\n      \"description\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pagination\": {\n      \"description\": \"/** Set whether pagination is enabled. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"paginationPageSize\": {\n      \"description\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"paginationAutoPageSize\": {\n      \"description\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"paginateChildRows\": {\n      \"description\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPaginationPanel\": {\n      \"description\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotMode\": {\n      \"description\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotPanelShow\": {\n      \"description\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n      \"type\": {\n        \"returnType\": \"'always' | 'onlyWhenPivoting' | 'never'\",\n        \"optional\": true\n      }\n    },\n    \"pivotColumnGroupTotals\": {\n      \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n      \"type\": { \"returnType\": \"'before' | 'after'\", \"optional\": true }\n    },\n    \"pivotRowTotals\": {\n      \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n      \"type\": { \"returnType\": \"'before' | 'after'\", \"optional\": true }\n    },\n    \"pivotSuppressAutoColumn\": {\n      \"description\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressExpandablePivotGroups\": {\n      \"description\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"functionsReadOnly\": {\n      \"description\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggFuncs\": {\n      \"description\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: IAggFunc<TData>; }\",\n        \"optional\": true\n      }\n    },\n    \"suppressAggFuncInHeader\": {\n      \"description\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAggAtRootLevel\": {\n      \"description\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggregateOnlyChangedColumns\": {\n      \"description\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAggFilteredOnly\": {\n      \"description\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"removePivotHeaderRowWhenSingleValueColumn\": {\n      \"description\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"animateRows\": {\n      \"description\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellChangeFlash\": {\n      \"description\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellFlashDelay\": {\n      \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cellFadeDelay\": {\n      \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"allowShowChangeAfterFilter\": {\n      \"description\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"domLayout\": {\n      \"description\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n      \"type\": { \"returnType\": \"DomLayoutType\", \"optional\": true }\n    },\n    \"ensureDomOrder\": {\n      \"description\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRtl\": {\n      \"description\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnVirtualisation\": {\n      \"description\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMaxRenderedRowRestriction\": {\n      \"description\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowVirtualisation\": {\n      \"description\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragManaged\": {\n      \"description\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowDrag\": {\n      \"description\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMoveWhenRowDragging\": {\n      \"description\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragEntireRow\": {\n      \"description\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragMultiRow\": {\n      \"description\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragText\": {\n      \"description\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IRowDragItem\", \"dragItemCount\": \"number\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"fullWidthCellRenderer\": {\n      \"description\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"fullWidthCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"fullWidthCellRendererParams\": {\n      \"description\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"embedFullWidthRows\": {\n      \"description\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupDisplayType\": {\n      \"description\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n      \"type\": { \"returnType\": \"RowGroupingDisplayType\", \"optional\": true }\n    },\n    \"groupDefaultExpanded\": {\n      \"description\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"autoGroupColumnDef\": {\n      \"description\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": true }\n    },\n    \"groupMaintainOrder\": {\n      \"description\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSelectsChildren\": {\n      \"description\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupAggFiltering\": {\n      \"description\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n      \"type\": {\n        \"returnType\": \"boolean | IsRowFilterable<TData>\",\n        \"optional\": true\n      }\n    },\n    \"groupIncludeFooter\": {\n      \"description\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupIncludeTotalFooter\": {\n      \"description\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSuppressBlankHeader\": {\n      \"description\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSelectsFiltered\": {\n      \"description\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showOpenedGroup\": {\n      \"description\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRemoveSingleChildren\": {\n      \"description\": \"/** Set to `true` to collapse groups that only have one child. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRemoveLowestSingleChildren\": {\n      \"description\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupHideOpenParents\": {\n      \"description\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupAllowUnbalanced\": {\n      \"description\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupPanelShow\": {\n      \"description\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n      \"type\": {\n        \"returnType\": \"'always' | 'onlyWhenGrouping' | 'never'\",\n        \"optional\": true\n      }\n    },\n    \"groupRowRenderer\": {\n      \"description\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupRowRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupRowRendererParams\": {\n      \"description\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressMakeColumnVisibleAfterUnGroup\": {\n      \"description\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"treeData\": {\n      \"description\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupPanelSuppressSort\": {\n      \"description\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRowsSticky\": {\n      \"description\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rememberGroupStateWhenNewData\": {\n      \"description\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pinnedTopRowData\": {\n      \"description\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"pinnedBottomRowData\": {\n      \"description\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"rowModelType\": {\n      \"description\": \"/** Sets the row model type. Default: `clientSide` */\",\n      \"type\": { \"returnType\": \"RowModelType\", \"optional\": true }\n    },\n    \"rowData\": {\n      \"description\": \"/** Set the data to be displayed as rows in the grid. */\",\n      \"type\": { \"returnType\": \"TData[] | null\", \"optional\": true }\n    },\n    \"immutableData\": {\n      \"description\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"asyncTransactionWaitMillis\": {\n      \"description\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressModelUpdateAfterUpdateTransaction\": {\n      \"description\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"datasource\": {\n      \"description\": \"/** Provide the datasource for infinite scrolling. */\",\n      \"type\": { \"returnType\": \"IDatasource\", \"optional\": true }\n    },\n    \"cacheOverflowSize\": {\n      \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"infiniteInitialRowCount\": {\n      \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"serverSideInitialRowCount\": {\n      \"description\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"serverSideStoreType\": {\n      \"description\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n      \"type\": { \"returnType\": \"ServerSideStoreType\", \"optional\": true }\n    },\n    \"suppressServerSideInfiniteScroll\": {\n      \"description\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cacheBlockSize\": {\n      \"description\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxBlocksInCache\": {\n      \"description\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxConcurrentDatasourceRequests\": {\n      \"description\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"blockLoadDebounceMillis\": {\n      \"description\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"purgeClosedRowNodes\": {\n      \"description\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideDatasource\": {\n      \"description\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n      \"type\": { \"returnType\": \"IServerSideDatasource\", \"optional\": true }\n    },\n    \"serverSideSortAllLevels\": {\n      \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilterAllLevels\": {\n      \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideSortOnServer\": {\n      \"description\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilterOnServer\": {\n      \"description\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideSortingAlwaysResets\": {\n      \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilteringAlwaysResets\": {\n      \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"viewportDatasource\": {\n      \"description\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n      \"type\": { \"returnType\": \"IViewportDatasource\", \"optional\": true }\n    },\n    \"viewportRowModelPageSize\": {\n      \"description\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"viewportRowModelBufferSize\": {\n      \"description\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"alwaysShowHorizontalScroll\": {\n      \"description\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowVerticalScroll\": {\n      \"description\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceVerticalScrollbar\": {\n      \"description\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressHorizontalScroll\": {\n      \"description\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressScrollOnNewData\": {\n      \"description\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressScrollWhenPopupsAreOpen\": {\n      \"description\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAnimationFrame\": {\n      \"description\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMiddleClickScrolls\": {\n      \"description\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPreventDefaultOnMouseWheel\": {\n      \"description\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"scrollbarWidth\": {\n      \"description\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowSelection\": {\n      \"description\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n      \"type\": { \"returnType\": \"'single' | 'multiple'\", \"optional\": true }\n    },\n    \"rowMultiSelectWithClick\": {\n      \"description\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowDeselection\": {\n      \"description\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowClickSelection\": {\n      \"description\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellSelection\": {\n      \"description\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellFocus\": {\n      \"description\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMultiRangeSelection\": {\n      \"description\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellTextSelection\": {\n      \"description\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRangeSelection\": {\n      \"description\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRangeHandle\": {\n      \"description\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableFillHandle\": {\n      \"description\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fillHandleDirection\": {\n      \"description\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n      \"type\": { \"returnType\": \"'x' | 'y' | 'xy'\", \"optional\": true }\n    },\n    \"suppressClearOnFillReduction\": {\n      \"description\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"sortingOrder\": {\n      \"description\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n      \"type\": { \"returnType\": \"(SortDirection)[]\", \"optional\": true }\n    },\n    \"accentedSort\": {\n      \"description\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"unSortIcon\": {\n      \"description\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMultiSort\": {\n      \"description\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysMultiSort\": {\n      \"description\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"multiSortKey\": {\n      \"description\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n      \"type\": { \"returnType\": \"'ctrl'\", \"optional\": true }\n    },\n    \"suppressMaintainUnsortedOrder\": {\n      \"description\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"icons\": {\n      \"description\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: Function | string; }\",\n        \"optional\": true\n      }\n    },\n    \"rowHeight\": {\n      \"description\": \"/** Default row height in pixels. Default: `25` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowStyle\": {\n      \"description\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n      \"type\": { \"returnType\": \"RowStyle\", \"optional\": true }\n    },\n    \"rowClass\": {\n      \"description\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n      \"type\": { \"returnType\": \"string | string[]\", \"optional\": true }\n    },\n    \"rowClassRules\": {\n      \"description\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"type\": { \"returnType\": \"RowClassRules<TData>\", \"optional\": true }\n    },\n    \"suppressRowHoverHighlight\": {\n      \"description\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowTransform\": {\n      \"description\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnHoverHighlight\": {\n      \"description\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"deltaSort\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"treeDataDisplayType\": {\n      \"type\": { \"returnType\": \"TreeDataDisplayType\", \"optional\": true }\n    },\n    \"functionsPassive\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableGroupEdit\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getContextMenuItems\": {\n      \"description\": \"/** For customising the context menu. */\",\n      \"type\": { \"returnType\": \"GetContextMenuItems<TData>\", \"optional\": true }\n    },\n    \"getMainMenuItems\": {\n      \"description\": \"/** For customising the main 'column header' menu. */\",\n      \"type\": { \"returnType\": \"GetMainMenuItems\", \"optional\": true }\n    },\n    \"postProcessPopup\": {\n      \"description\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PostProcessPopupParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processCellForClipboard\": {\n      \"description\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processHeaderForClipboard\": {\n      \"description\": \"/** Allows you to process header values for the clipboard.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessHeaderForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processGroupHeaderForClipboard\": {\n      \"description\": \"/** Allows you to process group header values for the clipboard.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processCellFromClipboard\": {\n      \"description\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"sendToClipboard\": {\n      \"description\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"SendToClipboardParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processDataFromClipboard\": {\n      \"description\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessDataFromClipboardParams<TData>\" },\n        \"returnType\": \"string[][] | null\",\n        \"optional\": true\n      }\n    },\n    \"isExternalFilterPresent\": {\n      \"description\": \"/** Grid calls this method to know if an external filter is present. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsExternalFilterPresentParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"doesExternalFilterPass\": {\n      \"description\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n      \"type\": {\n        \"arguments\": { \"node\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"getChartToolbarItems\": {\n      \"description\": \"/** Callback to be used to customise the chart toolbar items. */\",\n      \"type\": { \"returnType\": \"GetChartToolbarItems\", \"optional\": true }\n    },\n    \"createChartContainer\": {\n      \"description\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ChartRefParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"navigateToNextHeader\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"NavigateToNextHeaderParams<TData>\" },\n        \"returnType\": \"(HeaderPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"tabToNextHeader\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"TabToNextHeaderParams<TData>\" },\n        \"returnType\": \"(HeaderPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"navigateToNextCell\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"NavigateToNextCellParams<TData>\" },\n        \"returnType\": \"(CellPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"tabToNextCell\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"TabToNextCellParams<TData>\" },\n        \"returnType\": \"(CellPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"localeTextFunc\": {\n      \"description\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n      \"type\": {\n        \"arguments\": {\n          \"key\": \"string\",\n          \"defaultValue\": \"string\",\n          \"variableValues?\": \"string[]\"\n        },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getLocaleText\": {\n      \"description\": \"/** A callback for localising text within the grid. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetLocaleTextParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getDocument\": {\n      \"description\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"Document\", \"optional\": true }\n    },\n    \"paginationNumberFormatter\": {\n      \"description\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PaginationNumberFormatterParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"groupRowAggNodes\": {\n      \"description\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n      \"type\": {\n        \"arguments\": { \"nodes\": \"IRowNode[]\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"getGroupRowAgg\": {\n      \"description\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetGroupRowAggParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"isGroupOpenByDefault\": {\n      \"description\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsGroupOpenByDefaultParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"initialGroupOrderComparator\": {\n      \"description\": \"/** Allows default sorting of groups. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"InitialGroupOrderComparatorParams<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"defaultGroupOrderComparator\": {\n      \"description\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n      \"type\": {\n        \"arguments\": { \"nodeA\": \"IRowNode<TData>\", \"nodeB\": \"IRowNode<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"processSecondaryColDef\": {\n      \"description\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n      \"type\": {\n        \"arguments\": { \"colDef\": \"ColDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processSecondaryColGroupDef\": {\n      \"description\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n      \"type\": {\n        \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processPivotResultColDef\": {\n      \"description\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n      \"type\": {\n        \"arguments\": { \"colDef\": \"ColDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processPivotResultColGroupDef\": {\n      \"description\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n      \"type\": {\n        \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getDataPath\": {\n      \"description\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n      \"type\": { \"returnType\": \"GetDataPath<TData>\", \"optional\": true }\n    },\n    \"getChildCount\": {\n      \"description\": \"/** Allows setting the child count for a group row. */\",\n      \"type\": {\n        \"arguments\": { \"dataItem\": \"any\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"getServerSideGroupLevelParams\": {\n      \"description\": \"/** Allows providing different params for different levels of grouping. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n        \"returnType\": \"ServerSideGroupLevelParams\",\n        \"optional\": true\n      }\n    },\n    \"getServerSideStoreParams\": {\n      \"description\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n        \"returnType\": \"ServerSideGroupLevelParams\",\n        \"optional\": true\n      }\n    },\n    \"isServerSideGroupOpenByDefault\": {\n      \"description\": \"/** Allows groups to be open by default. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsServerSideGroupOpenByDefaultParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"isApplyServerSideTransaction\": {\n      \"description\": \"/** Allows cancelling transactions. */\",\n      \"type\": { \"returnType\": \"IsApplyServerSideTransaction\", \"optional\": true }\n    },\n    \"isServerSideGroup\": {\n      \"description\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n      \"type\": { \"returnType\": \"IsServerSideGroup\", \"optional\": true }\n    },\n    \"getServerSideGroupKey\": {\n      \"description\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n      \"type\": { \"returnType\": \"GetServerSideGroupKey\", \"optional\": true }\n    },\n    \"getBusinessKeyForNode\": {\n      \"description\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"node\": \"IRowNode<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getRowNodeId\": {\n      \"description\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n      \"type\": { \"returnType\": \"GetRowNodeIdFunc<TData>\", \"optional\": true }\n    },\n    \"getRowId\": {\n      \"description\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n      \"type\": { \"returnType\": \"GetRowIdFunc<TData>\", \"optional\": true }\n    },\n    \"resetRowDataOnUpdate\": {\n      \"description\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"processRowPostCreate\": {\n      \"description\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"isRowSelectable\": {\n      \"description\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n      \"type\": { \"returnType\": \"IsRowSelectable<TData>\", \"optional\": true }\n    },\n    \"isRowMaster\": {\n      \"description\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n      \"type\": { \"returnType\": \"IsRowMaster<TData>\", \"optional\": true }\n    },\n    \"fillOperation\": {\n      \"description\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"FillOperationParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"postSort\": {\n      \"description\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n      \"type\": {\n        \"arguments\": { \"nodes\": \"IRowNode<TData>[]\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"postSortRows\": {\n      \"description\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PostSortRowsParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getRowStyle\": {\n      \"description\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n        \"returnType\": \"RowStyle | undefined\",\n        \"optional\": true\n      }\n    },\n    \"getRowClass\": {\n      \"description\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n        \"returnType\": \"string | string[] | undefined\",\n        \"optional\": true\n      }\n    },\n    \"getRowHeight\": {\n      \"description\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowHeightParams<TData>\" },\n        \"returnType\": \"number | undefined | null\",\n        \"optional\": true\n      }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"isFullWidthRow\": {\n      \"description\": \"/** Tells the grid if this row should be rendered as full width. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsFullWidthRowParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"onToolPanelVisibleChanged\": {\n      \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n    },\n    \"toolPanelVisibleChanged\": {\n      \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n    },\n    \"onToolPanelSizeChanged\": {\n      \"description\": \"/** The tool panel size has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n    },\n    \"toolPanelSizeChanged\": {\n      \"description\": \"/** The tool panel size has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n    },\n    \"onPasteStart\": {\n      \"description\": \"/** Paste operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n    },\n    \"pasteStart\": {\n      \"description\": \"/** Paste operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n    },\n    \"onPasteEnd\": {\n      \"description\": \"/** Paste operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n    },\n    \"pasteEnd\": {\n      \"description\": \"/** Paste operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n    },\n    \"onColumnVisible\": {\n      \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n    },\n    \"columnVisible\": {\n      \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n    },\n    \"onColumnPinned\": {\n      \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n    },\n    \"columnPinned\": {\n      \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n    },\n    \"onColumnResized\": {\n      \"description\": \"/** A column was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n    },\n    \"columnResized\": {\n      \"description\": \"/** A column was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n    },\n    \"onColumnMoved\": {\n      \"description\": \"/** A column was moved. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n    },\n    \"columnMoved\": {\n      \"description\": \"/** A column was moved. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n    },\n    \"onColumnValueChanged\": {\n      \"description\": \"/** A value column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n    },\n    \"columnValueChanged\": {\n      \"description\": \"/** A value column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n    },\n    \"onColumnPivotModeChanged\": {\n      \"description\": \"/** The pivot mode flag was changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n    },\n    \"columnPivotModeChanged\": {\n      \"description\": \"/** The pivot mode flag was changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n    },\n    \"onColumnPivotChanged\": {\n      \"description\": \"/** A pivot column was added, removed or order changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n    },\n    \"columnPivotChanged\": {\n      \"description\": \"/** A pivot column was added, removed or order changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n    },\n    \"onColumnGroupOpened\": {\n      \"description\": \"/** A column group was opened / closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n    },\n    \"columnGroupOpened\": {\n      \"description\": \"/** A column group was opened / closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n    },\n    \"onNewColumnsLoaded\": {\n      \"description\": \"/** User set new columns. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n    },\n    \"newColumnsLoaded\": {\n      \"description\": \"/** User set new columns. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n    },\n    \"onGridColumnsChanged\": {\n      \"description\": \"/** The list of grid columns changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n    },\n    \"gridColumnsChanged\": {\n      \"description\": \"/** The list of grid columns changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n    },\n    \"onDisplayedColumnsChanged\": {\n      \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n    },\n    \"displayedColumnsChanged\": {\n      \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n    },\n    \"onVirtualColumnsChanged\": {\n      \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n    },\n    \"virtualColumnsChanged\": {\n      \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n    },\n    \"onColumnEverythingChanged\": {\n      \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n    },\n    \"columnEverythingChanged\": {\n      \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n    },\n    \"onComponentStateChanged\": {\n      \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n    },\n    \"componentStateChanged\": {\n      \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n    },\n    \"onCellValueChanged\": {\n      \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n    },\n    \"cellValueChanged\": {\n      \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n    },\n    \"onCellEditRequest\": {\n      \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n    },\n    \"cellEditRequest\": {\n      \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n    },\n    \"onRowValueChanged\": {\n      \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n    },\n    \"rowValueChanged\": {\n      \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n    },\n    \"onCellEditingStarted\": {\n      \"description\": \"/** Editing a cell has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n    },\n    \"cellEditingStarted\": {\n      \"description\": \"/** Editing a cell has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n    },\n    \"onCellEditingStopped\": {\n      \"description\": \"/** Editing a cell has stopped. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n    },\n    \"cellEditingStopped\": {\n      \"description\": \"/** Editing a cell has stopped. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n    },\n    \"onRowEditingStarted\": {\n      \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n    },\n    \"rowEditingStarted\": {\n      \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n    },\n    \"onRowEditingStopped\": {\n      \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n    },\n    \"rowEditingStopped\": {\n      \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n    },\n    \"onUndoStarted\": {\n      \"description\": \"/** Undo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n    },\n    \"undoStarted\": {\n      \"description\": \"/** Undo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n    },\n    \"onUndoEnded\": {\n      \"description\": \"/** Undo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n    },\n    \"undoEnded\": {\n      \"description\": \"/** Undo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n    },\n    \"onRedoStarted\": {\n      \"description\": \"/** Redo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n    },\n    \"redoStarted\": {\n      \"description\": \"/** Redo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n    },\n    \"onRedoEnded\": {\n      \"description\": \"/** Redo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n    },\n    \"redoEnded\": {\n      \"description\": \"/** Redo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n    },\n    \"onFilterOpened\": {\n      \"description\": \"/** Filter has been opened. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n    },\n    \"filterOpened\": {\n      \"description\": \"/** Filter has been opened. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n    },\n    \"onFilterChanged\": {\n      \"description\": \"/** Filter has been modified and applied. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n    },\n    \"filterChanged\": {\n      \"description\": \"/** Filter has been modified and applied. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n    },\n    \"onFilterModified\": {\n      \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n    },\n    \"filterModified\": {\n      \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n    },\n    \"onChartCreated\": {\n      \"description\": \"/** A chart has been created. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n    },\n    \"chartCreated\": {\n      \"description\": \"/** A chart has been created. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n    },\n    \"onChartRangeSelectionChanged\": {\n      \"description\": \"/** The data range for the chart has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n    },\n    \"chartRangeSelectionChanged\": {\n      \"description\": \"/** The data range for the chart has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n    },\n    \"onChartOptionsChanged\": {\n      \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n    },\n    \"chartOptionsChanged\": {\n      \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n    },\n    \"onChartDestroyed\": {\n      \"description\": \"/** A chart has been destroyed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n    },\n    \"chartDestroyed\": {\n      \"description\": \"/** A chart has been destroyed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n    },\n    \"onCellKeyDown\": {\n      \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n    },\n    \"cellKeyDown\": {\n      \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n    },\n    \"onCellKeyPress\": {\n      \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n    },\n    \"cellKeyPress\": {\n      \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n    },\n    \"onGridReady\": {\n      \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n    },\n    \"gridReady\": {\n      \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n    },\n    \"onFirstDataRendered\": {\n      \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n    },\n    \"firstDataRendered\": {\n      \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n    },\n    \"onGridSizeChanged\": {\n      \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n    },\n    \"gridSizeChanged\": {\n      \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n    },\n    \"onModelUpdated\": {\n      \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n    },\n    \"modelUpdated\": {\n      \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n    },\n    \"onVirtualRowRemoved\": {\n      \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n    },\n    \"virtualRowRemoved\": {\n      \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n    },\n    \"onViewportChanged\": {\n      \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n    },\n    \"viewportChanged\": {\n      \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n    },\n    \"onBodyScroll\": {\n      \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n    },\n    \"bodyScroll\": {\n      \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n    },\n    \"onBodyScrollEnd\": {\n      \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n    },\n    \"bodyScrollEnd\": {\n      \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n    },\n    \"onDragStarted\": {\n      \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n    },\n    \"dragStarted\": {\n      \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n    },\n    \"onDragStopped\": {\n      \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n    },\n    \"dragStopped\": {\n      \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n    },\n    \"onPaginationChanged\": {\n      \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n    },\n    \"paginationChanged\": {\n      \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n    },\n    \"onRowDragEnter\": {\n      \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n    },\n    \"rowDragEnter\": {\n      \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n    },\n    \"onRowDragMove\": {\n      \"description\": \"/** The mouse has moved while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n    },\n    \"rowDragMove\": {\n      \"description\": \"/** The mouse has moved while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n    },\n    \"onRowDragLeave\": {\n      \"description\": \"/** The mouse has left the grid while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n    },\n    \"rowDragLeave\": {\n      \"description\": \"/** The mouse has left the grid while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n    },\n    \"onRowDragEnd\": {\n      \"description\": \"/** The drag has finished over the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n    },\n    \"rowDragEnd\": {\n      \"description\": \"/** The drag has finished over the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n    },\n    \"onColumnRowGroupChanged\": {\n      \"description\": \"/** A row group column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n    },\n    \"columnRowGroupChanged\": {\n      \"description\": \"/** A row group column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n    },\n    \"onRowGroupOpened\": {\n      \"description\": \"/** A row group was opened or closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"rowGroupOpened\": {\n      \"description\": \"/** A row group was opened or closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"onExpandOrCollapseAll\": {\n      \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n    },\n    \"expandOrCollapseAll\": {\n      \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n    },\n    \"onPinnedRowDataChanged\": {\n      \"description\": \"/** The client has set new pinned row data into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n    },\n    \"pinnedRowDataChanged\": {\n      \"description\": \"/** The client has set new pinned row data into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n    },\n    \"onRowDataChanged\": {\n      \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n    },\n    \"rowDataChanged\": {\n      \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n    },\n    \"onRowDataUpdated\": {\n      \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n    },\n    \"rowDataUpdated\": {\n      \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n    },\n    \"onAsyncTransactionsFlushed\": {\n      \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n    },\n    \"asyncTransactionsFlushed\": {\n      \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n    },\n    \"onStoreRefreshed\": {\n      \"description\": \"/** A server side store has finished refreshing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n    },\n    \"storeRefreshed\": {\n      \"description\": \"/** A server side store has finished refreshing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n    },\n    \"onCellClicked\": {\n      \"description\": \"/** Cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n    },\n    \"cellClicked\": {\n      \"description\": \"/** Cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n    },\n    \"onCellDoubleClicked\": {\n      \"description\": \"/** Cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n    },\n    \"cellDoubleClicked\": {\n      \"description\": \"/** Cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n    },\n    \"onCellFocused\": {\n      \"description\": \"/** Cell is focused. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n    },\n    \"cellFocused\": {\n      \"description\": \"/** Cell is focused. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n    },\n    \"onCellMouseOver\": {\n      \"description\": \"/** Mouse entered cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n    },\n    \"cellMouseOver\": {\n      \"description\": \"/** Mouse entered cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n    },\n    \"onCellMouseOut\": {\n      \"description\": \"/** Mouse left cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n    },\n    \"cellMouseOut\": {\n      \"description\": \"/** Mouse left cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n    },\n    \"onCellMouseDown\": {\n      \"description\": \"/** Mouse down on cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n    },\n    \"cellMouseDown\": {\n      \"description\": \"/** Mouse down on cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n    },\n    \"onRowClicked\": {\n      \"description\": \"/** Row is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n    },\n    \"rowClicked\": {\n      \"description\": \"/** Row is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n    },\n    \"onRowDoubleClicked\": {\n      \"description\": \"/** Row is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n    },\n    \"rowDoubleClicked\": {\n      \"description\": \"/** Row is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n    },\n    \"onRowSelected\": {\n      \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n    },\n    \"rowSelected\": {\n      \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n    },\n    \"onSelectionChanged\": {\n      \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n    },\n    \"selectionChanged\": {\n      \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n    },\n    \"onCellContextMenu\": {\n      \"description\": \"/** Cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n    },\n    \"cellContextMenu\": {\n      \"description\": \"/** Cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n    },\n    \"onRangeSelectionChanged\": {\n      \"description\": \"/** A change to range selection has occurred. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n    },\n    \"rangeSelectionChanged\": {\n      \"description\": \"/** A change to range selection has occurred. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n    },\n    \"onSortChanged\": {\n      \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n    },\n    \"sortChanged\": {\n      \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n    },\n    \"onColumnRowGroupChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n    },\n    \"columnRowGroupChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n    },\n    \"onColumnPivotChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n    },\n    \"columnPivotChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n    },\n    \"onColumnValueChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n    },\n    \"columnValueChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n    },\n    \"onColumnAggFuncChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n    },\n    \"columnAggFuncChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n    },\n    \"api\": {\n      \"description\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"type\": { \"returnType\": \"GridApi<TData> | null\", \"optional\": true }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"type\": { \"returnType\": \"ColumnApi | null\", \"optional\": true }\n    }\n  },\n  \"AgGridReactProps\": {\n    \"disableStaticMarkup\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"legacyComponentRendering\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"gridOptions\": {\n      \"type\": { \"returnType\": \"GridOptions<TData>\", \"optional\": true }\n    },\n    \"modules\": { \"type\": { \"returnType\": \"Module[]\", \"optional\": true } },\n    \"containerStyle\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"className\": { \"type\": { \"returnType\": \"string\", \"optional\": true } },\n    \"setGridApi\": {\n      \"type\": {\n        \"arguments\": { \"gridApi\": \"GridApi<TData>\", \"columnApi\": \"ColumnApi\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"componentWrappingElement\": {\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"maxComponentCreationTimeMs\": {\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowDataChangeDetectionStrategy\": {\n      \"description\": \"/** @deprecated v29 ChangeDetectionStrategyType has been deprecated. IdentityCheck will always be used now for a more consistent approach. */\",\n      \"type\": { \"returnType\": \"ChangeDetectionStrategyType\", \"optional\": true }\n    },\n    \"children\": { \"type\": { \"returnType\": \"any\", \"optional\": true } },\n    \"statusBar\": {\n      \"description\": \"/** Specifies the status bar components to use in the status bar. */\",\n      \"type\": {\n        \"returnType\": \"{ statusPanels: StatusPanelDef[]; }\",\n        \"optional\": true\n      }\n    },\n    \"sideBar\": {\n      \"description\": \"/** Specifies the side bar components. */\",\n      \"type\": {\n        \"returnType\": \"SideBarDef | string | string[] | boolean | null\",\n        \"optional\": true\n      }\n    },\n    \"suppressContextMenu\": {\n      \"description\": \"/** Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"preventDefaultOnContextMenu\": {\n      \"description\": \"/** When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events.\\n     * This flag is useful to prevent the browser from showing its default context menu.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"allowContextMenuWithControlKey\": {\n      \"description\": \"/** Allows context menu to show, even when `Ctrl` key is held down. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMenuHide\": {\n      \"description\": \"/** Set to `true` to always show the column menu button, rather than only showing when the mouse is over the column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableBrowserTooltips\": {\n      \"description\": \"/** Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"tooltipShowDelay\": {\n      \"description\": \"/** The delay in milliseconds that it takes for tooltips to show up once an element is hovered over.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `2000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltipHideDelay\": {\n      \"description\": \"/** The delay in milliseconds that it takes for tooltips to hide once they have been displayed.\\n     * **Note:** This property does not work if `enableBrowserTooltips` is `true`.\\n     * Default: `10000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"tooltipMouseTrack\": {\n      \"description\": \"/** Set to `true` to have tooltips follow the cursor once they are displayed. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"popupParent\": {\n      \"description\": \"/** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\",\n      \"type\": { \"returnType\": \"HTMLElement | null\", \"optional\": true }\n    },\n    \"copyHeadersToClipboard\": {\n      \"description\": \"/** Set to `true` to also include headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"copyGroupHeadersToClipboard\": {\n      \"description\": \"/** Set to `true` to also include group headers when copying to clipboard using `Ctrl + C` clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"clipboardDeliminator\": {\n      \"description\": \"/** @deprecated v27.1 Use `clipboardDelimiter` */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"clipboardDelimiter\": {\n      \"description\": \"/** Specify the delimiter to use when copying to clipboard.\\n     * Default: `\\\\t`\\n    */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"suppressCopyRowsToClipboard\": {\n      \"description\": \"/** Set to `true` to copy the cell range or focused cell to the clipboard and never the selected rows. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCopySingleCellRanges\": {\n      \"description\": \"/** Set to `true` to copy rows instead of ranges when a range with only a single cell is selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressLastEmptyLineOnPaste\": {\n      \"description\": \"/** Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClipboardPaste\": {\n      \"description\": \"/** Set to `true` to turn off paste operations within the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClipboardApi\": {\n      \"description\": \"/** Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCutToClipboard\": {\n      \"description\": \"/** Set to `true` to block **cut** operations within the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnDefs\": {\n      \"description\": \"/** Array of Column / Column Group definitions. */\",\n      \"type\": {\n        \"returnType\": \"(ColDef<TData> | ColGroupDef<TData>)[] | null\",\n        \"optional\": true\n      }\n    },\n    \"defaultColDef\": {\n      \"description\": \"/** A default column definition. Items defined in the actual column definitions get precedence. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": true }\n    },\n    \"defaultColGroupDef\": {\n      \"description\": \"/** A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. */\",\n      \"type\": { \"returnType\": \"Partial<ColGroupDef<TData>>\", \"optional\": true }\n    },\n    \"columnTypes\": {\n      \"description\": \"/** An object map of custom column types which contain groups of properties that column definitions can inherit by referencing in their `type` property. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: ColDef<TData>; }\",\n        \"optional\": true\n      }\n    },\n    \"maintainColumnOrder\": {\n      \"description\": \"/** Keeps the order of Columns maintained after new Column Definitions are updated. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFieldDotNotation\": {\n      \"description\": \"/** If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"headerHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"groupHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"floatingFiltersHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"pivotGroupHeaderHeight\": {\n      \"description\": \"/** The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"allowDragFromColumnsToolPanel\": {\n      \"description\": \"/** Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMovableColumns\": {\n      \"description\": \"/** Set to `true` to suppress column moving, i.e. to make the columns fixed position. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnMoveAnimation\": {\n      \"description\": \"/** If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default themes, this results in no animation when moving columns. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressDragLeaveHidesColumns\": {\n      \"description\": \"/** If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowGroupHidesColumns\": {\n      \"description\": \"/** If `true`, when you drag a column into a row group panel the column is not hidden. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"colResizeDefault\": {\n      \"description\": \"/** Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down `Shift` while resizing). */\",\n      \"type\": { \"returnType\": \"'shift'\", \"optional\": true }\n    },\n    \"suppressAutoSize\": {\n      \"description\": \"/** Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"autoSizePadding\": {\n      \"description\": \"/** Number of pixels to add to a column width after the [auto-sizing](/column-sizing/#auto-size-columns) calculation.\\n     * Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header.\\n     * Default: `20`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"skipHeaderOnAutoSize\": {\n      \"description\": \"/** Set this to `true` to skip the `headerName` when `autoSize` is called by default. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"components\": {\n      \"description\": \"/** A map of component names to components. */\",\n      \"type\": { \"returnType\": \"{ [p: string]: any; }\", \"optional\": true }\n    },\n    \"frameworkComponents\": {\n      \"description\": \"/** @deprecated As of v27, use `components` for framework components too. */\",\n      \"type\": {\n        \"returnType\": \"{ [p: string]: { new(): any; }; } | any\",\n        \"optional\": true\n      }\n    },\n    \"reactUi\": {\n      \"description\": \"/** @deprecated React UI is enabled by default. Use suppressReactUi=true to turn it off. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressReactUi\": {\n      \"description\": \"/** @deprecated Set to true to enable the experimental React UI. Works with React framework only.\\n     * It is planned the next major release of the grid will drop support of the legacy React engine,\\n     * hence this property is deprecated as will be removed in the next major release. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"editType\": {\n      \"description\": \"/** Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. */\",\n      \"type\": { \"returnType\": \"'fullRow'\", \"optional\": true }\n    },\n    \"singleClickEdit\": {\n      \"description\": \"/** Set to `true` to enable Single Click Editing for cells, to start editing with a single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressClickEdit\": {\n      \"description\": \"/** Set to `true` so that neither single nor double click starts editing. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"readOnlyEdit\": {\n      \"description\": \"/** Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. <br />**Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. Default: `false`.     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"stopEditingWhenCellsLoseFocus\": {\n      \"description\": \"/** Set this to `true` to stop cell editing when grid loses focus.\\n     * The default is that the grid stays editing until focus goes onto another cell.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enterMovesDown\": {\n      \"description\": \"/** Set to `true` along with `enterMovesDownAfterEdit` to have Excel-style behaviour for the `Enter` key.\\n     * i.e. pressing the `Enter` key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enterMovesDownAfterEdit\": {\n      \"description\": \"/** Set to `true` along with `enterMovesDown` to have Excel-style behaviour for the 'Enter' key.\\n     * i.e. pressing the Enter key will move down to the cell beneath.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellEditingOnBackspace\": {\n      \"description\": \"/** Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"undoRedoCellEditing\": {\n      \"description\": \"/** Set to `true` to enable Undo / Redo while editing. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"undoRedoCellEditingLimit\": {\n      \"description\": \"/** Set the size of the undo / redo stack. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"defaultCsvExportParams\": {\n      \"description\": \"/** A default configuration object used to export to CSV. */\",\n      \"type\": { \"returnType\": \"CsvExportParams\", \"optional\": true }\n    },\n    \"suppressCsvExport\": {\n      \"description\": \"/** Prevents the user from exporting the grid to CSV. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"defaultExcelExportParams\": {\n      \"description\": \"/** A default configuration object used to export to Excel. */\",\n      \"type\": { \"returnType\": \"ExcelExportParams\", \"optional\": true }\n    },\n    \"suppressExcelExport\": {\n      \"description\": \"/** Prevents the user from exporting the grid to Excel. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excelStyles\": {\n      \"description\": \"/** A list (array) of Excel styles to be used when exporting to Excel with styles. */\",\n      \"type\": { \"returnType\": \"ExcelStyle[]\", \"optional\": true }\n    },\n    \"quickFilterText\": {\n      \"description\": \"/** Rows are filtered using this text as a Quick Filter. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"cacheQuickFilter\": {\n      \"description\": \"/** Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excludeHiddenColumnsFromQuickFilter\": {\n      \"description\": \"/** Set to `true` to exclude hidden columns from being checked by the Quick Filter.\\n     * This can give a significant performance improvement when there are a large number of hidden columns,\\n     * and you are only interested in filtering on what's visible. Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"excludeChildrenWhenTreeDataFiltering\": {\n      \"description\": \"/** Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCharts\": {\n      \"description\": \"/** Set to `true` to Enable Charts. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartThemes\": {\n      \"description\": \"/** The list of chart themes to be used. */\",\n      \"type\": { \"returnType\": \"string[]\", \"optional\": true }\n    },\n    \"customChartThemes\": {\n      \"description\": \"/** A map containing custom chart themes. */\",\n      \"type\": {\n        \"returnType\": \"{ [name: string]: AgChartTheme }\",\n        \"optional\": true\n      }\n    },\n    \"chartThemeOverrides\": {\n      \"description\": \"/** Chart theme overrides applied to all themes. */\",\n      \"type\": { \"returnType\": \"AgChartThemeOverrides\", \"optional\": true }\n    },\n    \"enableChartToolPanelsButton\": {\n      \"description\": \"/** @deprecated As of v29, no longer used. To suppress use `suppressChartToolPanelsButton`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressChartToolPanelsButton\": {\n      \"description\": \"/** Set to `true` to show the 'hamburger' menu option from the Chart Toolbar and display the remaining toolbar buttons. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"chartToolPanelsDef\": {\n      \"description\": \"/** Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the settings panel. */\",\n      \"type\": { \"returnType\": \"ChartToolPanelsDef\", \"optional\": true }\n    },\n    \"loadingCellRenderer\": {\n      \"description\": \"/** Provide your own loading cell renderer to use when data is loading via a DataSource.\\n    * See [Loading Cell Renderer](https://www.ag-grid.com/javascript-data-grid/component-loading-cell-renderer/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `loadingCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererParams\": {\n      \"description\": \"/** Params to be passed to the `loadingCellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingCellRendererSelector\": {\n      \"description\": \"/** Callback to select which loading cell renderer to be used when data is loading via a DataSource. */\",\n      \"type\": {\n        \"returnType\": \"LoadingCellRendererSelectorFunc<TData>\",\n        \"optional\": true\n      }\n    },\n    \"localeText\": {\n      \"description\": \"/** A map of key->value pairs for localising text within the grid. */\",\n      \"type\": { \"returnType\": \"{ [key: string]: string }\", \"optional\": true }\n    },\n    \"masterDetail\": {\n      \"description\": \"/** Set to `true` to enable Master Detail. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepDetailRows\": {\n      \"description\": \"/** Set to `true` to keep detail rows for when they are displayed again. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"keepDetailRowsCount\": {\n      \"description\": \"/** Sets the number of details rows to keep. Default: `10` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"detailCellRenderer\": {\n      \"description\": \"/** Provide a custom `detailCellRenderer` to use when a master row is expanded.\\n    * See [Detail Cell Renderer](https://www.ag-grid.com/javascript-data-grid/master-detail-custom-detail/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `detailCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailCellRendererParams\": {\n      \"description\": \"/** Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable dynamic definitions of the params. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"detailRowHeight\": {\n      \"description\": \"/** Set fixed height in pixels for each detail row. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"detailRowAutoHeight\": {\n      \"description\": \"/** Set to `true` to have the detail grid dynamically change it's height to fit it's rows. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"context\": {\n      \"description\": \"/** Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks by your application. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"alignedGrids\": {\n      \"description\": \"/** A list of grids to treat as Aligned Grids. If grids are aligned then the columns and horizontal scrolling will be kept in sync. */\",\n      \"type\": {\n        \"returnType\": \"{ api?: GridApi | null, columnApi?: ColumnApi | null }[]\",\n        \"optional\": true\n      }\n    },\n    \"tabIndex\": {\n      \"description\": \"/** Change this value to set the tabIndex order of the Grid within your application. Default: `0` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowBuffer\": {\n      \"description\": \"/** The number of rows rendered outside the viewable area the grid renders.\\n     * Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically.\\n     * Default: `10`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"valueCache\": {\n      \"description\": \"/** Set to `true` to turn on the value cache. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"valueCacheNeverExpires\": {\n      \"description\": \"/** Set to `true` to configure the value cache to not expire after data updates. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellExpressions\": {\n      \"description\": \"/** Set to `true` to allow cell expressions. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressParentsInRowNodes\": {\n      \"description\": \"/** If `true`, row nodes do not have their parents set.\\n     * The grid doesn't use the parent reference, but it is included to help the client code navigate the node tree if it wants by providing bi-direction navigation up and down the tree.\\n     * If this is a problem (e.g. if you need to convert the tree to JSON, which does not allow cyclic dependencies) then set this to `true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressTouch\": {\n      \"description\": \"/** Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressFocusAfterRefresh\": {\n      \"description\": \"/** Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAsyncEvents\": {\n      \"description\": \"/** Disables the asynchronous nature of the events introduced in v10, and makes them synchronous. This property only exists for the purpose of supporting legacy code which has a dependency on synchronous events from earlier versions (v9 or earlier) of AG Grid. **It is strongly recommended that you do not change this property unless you have legacy issues.** Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressBrowserResizeObserver\": {\n      \"description\": \"/** The grid will check for `ResizeObserver` and use it if it exists in the browser, otherwise it will use the grid's alternative implementation. Some users reported issues with Chrome's `ResizeObserver`. Use this property to always use the grid's alternative implementation should such problems exist. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPropertyNamesCheck\": {\n      \"description\": \"/** Disables showing a warning message in the console if using a `gridOptions` or `colDef` property that doesn't exist. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressChangeDetection\": {\n      \"description\": \"/** Disables change detection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debug\": {\n      \"description\": \"/** Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"overlayLoadingTemplate\": {\n      \"description\": \"/** Provide a template for 'loading' overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"loadingOverlayComponent\": {\n      \"description\": \"/** Provide a custom loading overlay component.\\n    * See [Loading Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-loading-overlay-component) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingOverlayComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `loadingOverlayComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"loadingOverlayComponentParams\": {\n      \"description\": \"/** Customise the parameters provided to the loading overlay component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressLoadingOverlay\": {\n      \"description\": \"/** Disables the 'loading' overlay. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"overlayNoRowsTemplate\": {\n      \"description\": \"/** Provide a template for 'no rows' overlay. */\",\n      \"type\": { \"returnType\": \"string\", \"optional\": true }\n    },\n    \"noRowsOverlayComponent\": {\n      \"description\": \"/** Provide a custom no rows overlay component.\\n    * See [No Rows Overlay Component](https://www.ag-grid.com/javascript-data-grid/component-overlay/#simple-no-rows-overlay-component) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"noRowsOverlayComponentFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `noRowsOverlayComponent` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"noRowsOverlayComponentParams\": {\n      \"description\": \"/** Customise the parameters provided to the no rows overlay component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressNoRowsOverlay\": {\n      \"description\": \"/** Disables the 'no rows' overlay. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pagination\": {\n      \"description\": \"/** Set whether pagination is enabled. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"paginationPageSize\": {\n      \"description\": \"/** How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. Default: `100` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"paginationAutoPageSize\": {\n      \"description\": \"/** Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"paginateChildRows\": {\n      \"description\": \"/** Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPaginationPanel\": {\n      \"description\": \"/** If `true`, the default grid controls for navigation are hidden.\\n     * This is useful if `pagination=true` and you want to provide your own pagination controls.\\n     * Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotMode\": {\n      \"description\": \"/** Set to `true` to enable pivot mode. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pivotPanelShow\": {\n      \"description\": \"/** When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. Default: `never` */\",\n      \"type\": {\n        \"returnType\": \"'always' | 'onlyWhenPivoting' | 'never'\",\n        \"optional\": true\n      }\n    },\n    \"pivotColumnGroupTotals\": {\n      \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. */\",\n      \"type\": { \"returnType\": \"'before' | 'after'\", \"optional\": true }\n    },\n    \"pivotRowTotals\": {\n      \"description\": \"/** When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. */\",\n      \"type\": { \"returnType\": \"'before' | 'after'\", \"optional\": true }\n    },\n    \"pivotSuppressAutoColumn\": {\n      \"description\": \"/** If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using Server Side Row Model or Viewport Row Model and you want full control of all columns including the group column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressExpandablePivotGroups\": {\n      \"description\": \"/** When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"functionsReadOnly\": {\n      \"description\": \"/** If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggFuncs\": {\n      \"description\": \"/** A map of 'function name' to 'function' for custom aggregation functions. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: IAggFunc<TData>; }\",\n        \"optional\": true\n      }\n    },\n    \"suppressAggFuncInHeader\": {\n      \"description\": \"/** When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAggAtRootLevel\": {\n      \"description\": \"/** When `true`, the aggregations won't be computed for the root node of the grid. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"aggregateOnlyChangedColumns\": {\n      \"description\": \"/** When using change detection, only the updated column will be re-aggregated. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAggFilteredOnly\": {\n      \"description\": \"/** Set to `true` so that aggregations are not impacted by filtering. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"removePivotHeaderRowWhenSingleValueColumn\": {\n      \"description\": \"/** Set to `true` to omit the value Column header when there is only a single value column. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"animateRows\": {\n      \"description\": \"/** Set to `true` to enable Row Animation. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellChangeFlash\": {\n      \"description\": \"/** Set to `true` to have cells flash after data changes. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cellFlashDelay\": {\n      \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long a cell should remain in its \\\"flashed\\\" state.\\n     * Default: `500`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"cellFadeDelay\": {\n      \"description\": \"/** To be used in combination with `enableCellChangeFlash`, this configuration will set the delay in milliseconds of how long the \\\"flashed\\\" state animation takes to fade away after the timer set by `cellFlashDelay` has completed.\\n     * Default: `1000`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"allowShowChangeAfterFilter\": {\n      \"description\": \"/** Set to `true` to have cells flash after data changes even when the change is due to filtering. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"domLayout\": {\n      \"description\": \"/** Switch between layout options: `normal`, `autoHeight`, `print`.\\n     * Default: `normal`\\n     */\",\n      \"type\": { \"returnType\": \"DomLayoutType\", \"optional\": true }\n    },\n    \"ensureDomOrder\": {\n      \"description\": \"/** When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRtl\": {\n      \"description\": \"/** Set to `true` to operate the grid in RTL (Right to Left) mode. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressColumnVirtualisation\": {\n      \"description\": \"/** Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMaxRenderedRowRestriction\": {\n      \"description\": \"/** By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue).\\n     * <br />**This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.**\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowVirtualisation\": {\n      \"description\": \"/** Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragManaged\": {\n      \"description\": \"/** Set to `true` to enable Managed Row Dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowDrag\": {\n      \"description\": \"/** Set to `true` to suppress row dragging. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMoveWhenRowDragging\": {\n      \"description\": \"/** Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragEntireRow\": {\n      \"description\": \"/** Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragMultiRow\": {\n      \"description\": \"/** Set to `true` to enable dragging multiple rows at the same time. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowDragText\": {\n      \"description\": \"/** A callback that should return a string to be displayed by the `rowDragComp` while dragging a row.\\n     * If this callback is not set, the current cell value will be used.\\n     * If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when\\n     * `rowDragEntireRow=true`.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IRowDragItem\", \"dragItemCount\": \"number\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"fullWidthCellRenderer\": {\n      \"description\": \"/** Provide your own cell renderer component to use for full width rows.\\n    * See [Full Width Rows](https://www.ag-grid.com/javascript-data-grid/full-width-rows/) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"fullWidthCellRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `fullWidthCellRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"fullWidthCellRendererParams\": {\n      \"description\": \"/** Customise the parameters provided to the `fullWidthCellRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"embedFullWidthRows\": {\n      \"description\": \"/** Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally . */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupDisplayType\": {\n      \"description\": \"/** Specifies how the results of row grouping should be displayed.\\n     *\\n     *  The options are:\\n     *\\n     * - `'singleColumn'`: single group column automatically added by the grid.\\n     * - `'multipleColumns'`: a group column per row group is added automatically.\\n     * - `'groupRows'`: group rows are automatically added instead of group columns.\\n     * - `'custom'`: informs the grid that group columns will be provided.\\n     */\",\n      \"type\": { \"returnType\": \"RowGroupingDisplayType\", \"optional\": true }\n    },\n    \"groupDefaultExpanded\": {\n      \"description\": \"/** If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. Default: `0` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"autoGroupColumnDef\": {\n      \"description\": \"/** Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. */\",\n      \"type\": { \"returnType\": \"ColDef<TData>\", \"optional\": true }\n    },\n    \"groupMaintainOrder\": {\n      \"description\": \"/** When `true`, preserves the current group order when sorting on non-group columns. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSelectsChildren\": {\n      \"description\": \"/** When `true`, if you select a group, the children of the group will also be selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupAggFiltering\": {\n      \"description\": \"/** Set to determine whether filters should be applied on aggregated group values. Default: `false` */\",\n      \"type\": {\n        \"returnType\": \"boolean | IsRowFilterable<TData>\",\n        \"optional\": true\n      }\n    },\n    \"groupIncludeFooter\": {\n      \"description\": \"/** If grouping, this controls whether to show a group footer when the group is expanded.\\n     * If `true`, then by default, the footer will contain aggregate data (if any) when shown and the header will be blank.\\n     * When closed, the header will contain the aggregate data regardless of this setting (as the footer is hidden anyway).\\n     * This is handy for 'total' rows, that are displayed below the data when the group is open, and alongside the group when it is closed.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupIncludeTotalFooter\": {\n      \"description\": \"/** Set to `true` to show a 'grand total' group footer across all groups. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSuppressBlankHeader\": {\n      \"description\": \"/** If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupSelectsFiltered\": {\n      \"description\": \"/** If using `groupSelectsChildren`, then only the children that pass the current filter will get selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"showOpenedGroup\": {\n      \"description\": \"/** Shows the open group in the group column for non-group rows. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRemoveSingleChildren\": {\n      \"description\": \"/** Set to `true` to collapse groups that only have one child. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRemoveLowestSingleChildren\": {\n      \"description\": \"/** Set to `true` to collapse lowest level groups that only have one child. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupHideOpenParents\": {\n      \"description\": \"/** Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupAllowUnbalanced\": {\n      \"description\": \"/** Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupPanelShow\": {\n      \"description\": \"/** When to show the 'row group panel' (where you drag rows to group) at the top. Default: `never` */\",\n      \"type\": {\n        \"returnType\": \"'always' | 'onlyWhenGrouping' | 'never'\",\n        \"optional\": true\n      }\n    },\n    \"groupRowRenderer\": {\n      \"description\": \"/** Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`.\\n    * See [Group Row Cell Renderer](https://www.ag-grid.com/javascript-data-grid/grouping-group-rows/#providing-cell-renderer) for framework specific implementation details.\\n    */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupRowRendererFramework\": {\n      \"description\": \"/** @deprecated As of v27, use `groupRowRenderer` for framework components too. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"groupRowRendererParams\": {\n      \"description\": \"/** Customise the parameters provided to the `groupRowRenderer` component. */\",\n      \"type\": { \"returnType\": \"any\", \"optional\": true }\n    },\n    \"suppressMakeColumnVisibleAfterUnGroup\": {\n      \"description\": \"/** By default, when a column is un-grouped, i.e. using the Row Group Panel, it is made visible in the grid. This property stops the column becoming visible again when un-grouping. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"treeData\": {\n      \"description\": \"/** Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rowGroupPanelSuppressSort\": {\n      \"description\": \"/** Set to `true` to suppress sort indicators and actions from the row group panel. Default: `false`. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"groupRowsSticky\": {\n      \"description\": \"/** Set to `true` to keep open Group Rows visible at the top of the grid. Default: `false`.*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"rememberGroupStateWhenNewData\": {\n      \"description\": \"/** @deprecated v24 - no longer needed, transaction updates keep group state */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"pinnedTopRowData\": {\n      \"description\": \"/** Data to be displayed as pinned top rows in the grid. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"pinnedBottomRowData\": {\n      \"description\": \"/** Data to be displayed as pinned bottom rows in the grid. */\",\n      \"type\": { \"returnType\": \"any[]\", \"optional\": true }\n    },\n    \"rowModelType\": {\n      \"description\": \"/** Sets the row model type. Default: `clientSide` */\",\n      \"type\": { \"returnType\": \"RowModelType\", \"optional\": true }\n    },\n    \"rowData\": {\n      \"description\": \"/** Set the data to be displayed as rows in the grid. */\",\n      \"type\": { \"returnType\": \"TData[] | null\", \"optional\": true }\n    },\n    \"immutableData\": {\n      \"description\": \"/** @deprecated 27.1 Immutable Data is on by default when grid callback getRowId() is implemented\\n     * Enables Immutable Data mode, for compatibility with immutable stores. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"asyncTransactionWaitMillis\": {\n      \"description\": \"/** How many milliseconds to wait before executing a batch of async transactions. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"suppressModelUpdateAfterUpdateTransaction\": {\n      \"description\": \"/** Prevents Transactions changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"datasource\": {\n      \"description\": \"/** Provide the datasource for infinite scrolling. */\",\n      \"type\": { \"returnType\": \"IDatasource\", \"optional\": true }\n    },\n    \"cacheOverflowSize\": {\n      \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"infiniteInitialRowCount\": {\n      \"description\": \"/** How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"serverSideInitialRowCount\": {\n      \"description\": \"/** Set how many loading rows to display to the user for the root level group.\\n     * Default: `1`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"serverSideStoreType\": {\n      \"description\": \"/** @deprecated v28 Whether to use Full Store or Partial Store for storing rows. Default: `partial`.\\n     * Deprecated in favour of suppressServerSideInfiniteScroll. When false, Partial Store is used. When true,\\n     * Full Store is used.\\n     */\",\n      \"type\": { \"returnType\": \"ServerSideStoreType\", \"optional\": true }\n    },\n    \"suppressServerSideInfiniteScroll\": {\n      \"description\": \"/** When `true`, the Server-side Row Model will suppress Infinite Scrolling and load all the data at the current level.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"cacheBlockSize\": {\n      \"description\": \"/** How many rows for each block in the store, i.e. how many rows returned from the server at a time.\\n     * Default: `100`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxBlocksInCache\": {\n      \"description\": \"/** How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"maxConcurrentDatasourceRequests\": {\n      \"description\": \"/** How many requests to hit the server with concurrently. If the max is reached, requests are queued.\\n     * Set to `-1` for no maximum restriction on requests.\\n     * Default: `2`\\n     */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"blockLoadDebounceMillis\": {\n      \"description\": \"/** How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"purgeClosedRowNodes\": {\n      \"description\": \"/** When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is Row Grouping. Default: `false`  */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideDatasource\": {\n      \"description\": \"/** Provide the `serverSideDatasource` for server side row model. */\",\n      \"type\": { \"returnType\": \"IServerSideDatasource\", \"optional\": true }\n    },\n    \"serverSideSortAllLevels\": {\n      \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilterAllLevels\": {\n      \"description\": \"/** When enabled, always refreshes top level groups regardless of which column was filtered. This property only applies when there is Row Grouping & filtering is handled on the server. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideSortOnServer\": {\n      \"description\": \"/**\\n     * When enabled, Sorting will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilterOnServer\": {\n      \"description\": \"/** When enabled, Filtering will be done on the server. Only applicable when `suppressServerSideInfiniteScroll=true`.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideSortingAlwaysResets\": {\n      \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideSortAllLevels` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"serverSideFilteringAlwaysResets\": {\n      \"description\": \"/** @deprecated v28 This property has been deprecated. Use `serverSideFilterAllLevels` instead. */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"viewportDatasource\": {\n      \"description\": \"/** To use the viewport row model you need to provide the grid with a `viewportDatasource`. */\",\n      \"type\": { \"returnType\": \"IViewportDatasource\", \"optional\": true }\n    },\n    \"viewportRowModelPageSize\": {\n      \"description\": \"/** When using viewport row model, sets the page size for the viewport. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"viewportRowModelBufferSize\": {\n      \"description\": \"/** When using viewport row model, sets the buffer size for the viewport. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"alwaysShowHorizontalScroll\": {\n      \"description\": \"/** Set to `true` to always show the horizontal scrollbar. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysShowVerticalScroll\": {\n      \"description\": \"/** Set to `true` to always show the vertical scrollbar. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"debounceVerticalScrollbar\": {\n      \"description\": \"/** Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressHorizontalScroll\": {\n      \"description\": \"/** Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressScrollOnNewData\": {\n      \"description\": \"/** When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressScrollWhenPopupsAreOpen\": {\n      \"description\": \"/** When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressAnimationFrame\": {\n      \"description\": \"/** When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if the grid is working fast enough that you don't need animation frames and you don't want the grid to flicker. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMiddleClickScrolls\": {\n      \"description\": \"/** If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.<br />**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressPreventDefaultOnMouseWheel\": {\n      \"description\": \"/** If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"scrollbarWidth\": {\n      \"description\": \"/** Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowSelection\": {\n      \"description\": \"/** Type of Row Selection: `single`, `multiple`. */\",\n      \"type\": { \"returnType\": \"'single' | 'multiple'\", \"optional\": true }\n    },\n    \"rowMultiSelectWithClick\": {\n      \"description\": \"/** Set to `true` to allow multiple rows to be selected using single click. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowDeselection\": {\n      \"description\": \"/** If `true`, rows will not be deselected if you hold down `Ctrl` and click the row or press `Space`. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowClickSelection\": {\n      \"description\": \"/** If `true`, row selection won't happen when rows are clicked. Use when you only want checkbox selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellSelection\": {\n      \"description\": \"/** @deprecated v27 This property has been deprecated. Use `suppressCellFocus` instead.\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressCellFocus\": {\n      \"description\": \"/** If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMultiRangeSelection\": {\n      \"description\": \"/** If `true`, only a single range can be selected. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableCellTextSelection\": {\n      \"description\": \"/** Set to `true` to be able to select the text within cells.\\n     *\\n     * **Note:** When this is set to `true`, the clipboard service is disabled.\\n     * Default: `false`\\n     */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRangeSelection\": {\n      \"description\": \"/** Set to `true` to enable Range Selection. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableRangeHandle\": {\n      \"description\": \"/** Set to `true` to enable the Range Handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableFillHandle\": {\n      \"description\": \"/** Set to `true` to enable the Fill Handle. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"fillHandleDirection\": {\n      \"description\": \"/** Set to `'x'` to force the fill handle direction to horizontal, or set to `'y'` to force the fill handle direction to vertical. Default: `xy` */\",\n      \"type\": { \"returnType\": \"'x' | 'y' | 'xy'\", \"optional\": true }\n    },\n    \"suppressClearOnFillReduction\": {\n      \"description\": \"/** Set this to `true` to prevent cell values from being cleared when the Range Selection is reduced by the Fill Handle. Default: `false`*/\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"sortingOrder\": {\n      \"description\": \"/** Array defining the order in which sorting occurs (if sorting is enabled). Values can be `'asc'`, `'desc'` or `null`. For example: `sortingOrder: ['asc', 'desc']`. Default: `[null, 'asc', 'desc']`  */\",\n      \"type\": { \"returnType\": \"(SortDirection)[]\", \"optional\": true }\n    },\n    \"accentedSort\": {\n      \"description\": \"/** Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"unSortIcon\": {\n      \"description\": \"/** Set to `true` to show the 'no sort' icon. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressMultiSort\": {\n      \"description\": \"/** Set to `true` to suppress multi-sort when the user shift-clicks a column header. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"alwaysMultiSort\": {\n      \"description\": \"/** Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"multiSortKey\": {\n      \"description\": \"/** Set to `'ctrl'` to have multi sorting work using the `Ctrl` (or `Command ⌘` for Mac) key. */\",\n      \"type\": { \"returnType\": \"'ctrl'\", \"optional\": true }\n    },\n    \"suppressMaintainUnsortedOrder\": {\n      \"description\": \"/** Set to `true` to suppress sorting of un-sorted data to match original row data. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"icons\": {\n      \"description\": \"/** Icons to use inside the grid instead of the grid's default icons. */\",\n      \"type\": {\n        \"returnType\": \"{ [key: string]: Function | string; }\",\n        \"optional\": true\n      }\n    },\n    \"rowHeight\": {\n      \"description\": \"/** Default row height in pixels. Default: `25` */\",\n      \"type\": { \"returnType\": \"number\", \"optional\": true }\n    },\n    \"rowStyle\": {\n      \"description\": \"/** The style properties to apply to all rows. Set to an object of key (style names) and values (style values) */\",\n      \"type\": { \"returnType\": \"RowStyle\", \"optional\": true }\n    },\n    \"rowClass\": {\n      \"description\": \"/** CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). */\",\n      \"type\": { \"returnType\": \"string | string[]\", \"optional\": true }\n    },\n    \"rowClassRules\": {\n      \"description\": \"/** Rules which can be applied to include certain CSS classes. */\",\n      \"type\": { \"returnType\": \"RowClassRules<TData>\", \"optional\": true }\n    },\n    \"suppressRowHoverHighlight\": {\n      \"description\": \"/** Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"suppressRowTransform\": {\n      \"description\": \"/** Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"columnHoverHighlight\": {\n      \"description\": \"/** Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"deltaSort\": { \"type\": { \"returnType\": \"boolean\", \"optional\": true } },\n    \"treeDataDisplayType\": {\n      \"type\": { \"returnType\": \"TreeDataDisplayType\", \"optional\": true }\n    },\n    \"functionsPassive\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"enableGroupEdit\": {\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getContextMenuItems\": {\n      \"description\": \"/** For customising the context menu. */\",\n      \"type\": { \"returnType\": \"GetContextMenuItems<TData>\", \"optional\": true }\n    },\n    \"getMainMenuItems\": {\n      \"description\": \"/** For customising the main 'column header' menu. */\",\n      \"type\": { \"returnType\": \"GetMainMenuItems\", \"optional\": true }\n    },\n    \"postProcessPopup\": {\n      \"description\": \"/** Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PostProcessPopupParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processCellForClipboard\": {\n      \"description\": \"/** Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processHeaderForClipboard\": {\n      \"description\": \"/** Allows you to process header values for the clipboard.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessHeaderForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processGroupHeaderForClipboard\": {\n      \"description\": \"/** Allows you to process group header values for the clipboard.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessGroupHeaderForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"processCellFromClipboard\": {\n      \"description\": \"/** Allows you to process cells from the clipboard. Handy if for example you have number fields, and want to block non-numbers from getting into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessCellForExportParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"sendToClipboard\": {\n      \"description\": \"/** Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"SendToClipboardParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processDataFromClipboard\": {\n      \"description\": \"/** Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessDataFromClipboardParams<TData>\" },\n        \"returnType\": \"string[][] | null\",\n        \"optional\": true\n      }\n    },\n    \"isExternalFilterPresent\": {\n      \"description\": \"/** Grid calls this method to know if an external filter is present. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsExternalFilterPresentParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"doesExternalFilterPass\": {\n      \"description\": \"/** Should return `true` if external filter passes, otherwise `false`. */\",\n      \"type\": {\n        \"arguments\": { \"node\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"getChartToolbarItems\": {\n      \"description\": \"/** Callback to be used to customise the chart toolbar items. */\",\n      \"type\": { \"returnType\": \"GetChartToolbarItems\", \"optional\": true }\n    },\n    \"createChartContainer\": {\n      \"description\": \"/** Callback to enable displaying the chart in an alternative chart container. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ChartRefParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"navigateToNextHeader\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"NavigateToNextHeaderParams<TData>\" },\n        \"returnType\": \"(HeaderPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"tabToNextHeader\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"TabToNextHeaderParams<TData>\" },\n        \"returnType\": \"(HeaderPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"navigateToNextCell\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"NavigateToNextCellParams<TData>\" },\n        \"returnType\": \"(CellPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"tabToNextCell\": {\n      \"description\": \"/** Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next Cell position to navigate to or null to stay on current cell.  */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"TabToNextCellParams<TData>\" },\n        \"returnType\": \"(CellPosition | null)\",\n        \"optional\": true\n      }\n    },\n    \"localeTextFunc\": {\n      \"description\": \"/** @deprecated v27.2 - Use `getLocaleText` instead. */\",\n      \"type\": {\n        \"arguments\": {\n          \"key\": \"string\",\n          \"defaultValue\": \"string\",\n          \"variableValues?\": \"string[]\"\n        },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getLocaleText\": {\n      \"description\": \"/** A callback for localising text within the grid. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetLocaleTextParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getDocument\": {\n      \"description\": \"/** Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"Document\", \"optional\": true }\n    },\n    \"paginationNumberFormatter\": {\n      \"description\": \"/** Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PaginationNumberFormatterParams<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"groupRowAggNodes\": {\n      \"description\": \"/** @deprecated v27.2 - Use `getGroupRowAgg` instead. */\",\n      \"type\": {\n        \"arguments\": { \"nodes\": \"IRowNode[]\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"getGroupRowAgg\": {\n      \"description\": \"/** Callback to use when you need access to more then the current column for aggregation. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetGroupRowAggParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"isGroupOpenByDefault\": {\n      \"description\": \"/** (Client-side Row Model only) Allows groups to be open by default. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsGroupOpenByDefaultParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"initialGroupOrderComparator\": {\n      \"description\": \"/** Allows default sorting of groups. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"InitialGroupOrderComparatorParams<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"defaultGroupOrderComparator\": {\n      \"description\": \"/** @deprecated v27.2 - Use `initialGroupOrderComparator` instead */\",\n      \"type\": {\n        \"arguments\": { \"nodeA\": \"IRowNode<TData>\", \"nodeB\": \"IRowNode<TData>\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"processSecondaryColDef\": {\n      \"description\": \"/** @deprecated v28 - Use `processPivotResultColDef` instead */\",\n      \"type\": {\n        \"arguments\": { \"colDef\": \"ColDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processSecondaryColGroupDef\": {\n      \"description\": \"/** @deprecated v28 - Use `processPivotResultColGroupDef` instead */\",\n      \"type\": {\n        \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processPivotResultColDef\": {\n      \"description\": \"/** Callback to be used with pivoting, to allow changing the second column definition. */\",\n      \"type\": {\n        \"arguments\": { \"colDef\": \"ColDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"processPivotResultColGroupDef\": {\n      \"description\": \"/** Callback to be used with pivoting, to allow changing the second column group definition. */\",\n      \"type\": {\n        \"arguments\": { \"colGroupDef\": \"ColGroupDef<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getDataPath\": {\n      \"description\": \"/** Callback to be used when working with Tree Data when `treeData = true`. */\",\n      \"type\": { \"returnType\": \"GetDataPath<TData>\", \"optional\": true }\n    },\n    \"getChildCount\": {\n      \"description\": \"/** Allows setting the child count for a group row. */\",\n      \"type\": {\n        \"arguments\": { \"dataItem\": \"any\" },\n        \"returnType\": \"number\",\n        \"optional\": true\n      }\n    },\n    \"getServerSideGroupLevelParams\": {\n      \"description\": \"/** Allows providing different params for different levels of grouping. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n        \"returnType\": \"ServerSideGroupLevelParams\",\n        \"optional\": true\n      }\n    },\n    \"getServerSideStoreParams\": {\n      \"description\": \"/** @deprecated v28 Use `getServerSideGroupLevelParams` instead. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"GetServerSideGroupLevelParamsParams\" },\n        \"returnType\": \"ServerSideGroupLevelParams\",\n        \"optional\": true\n      }\n    },\n    \"isServerSideGroupOpenByDefault\": {\n      \"description\": \"/** Allows groups to be open by default. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsServerSideGroupOpenByDefaultParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"isApplyServerSideTransaction\": {\n      \"description\": \"/** Allows cancelling transactions. */\",\n      \"type\": { \"returnType\": \"IsApplyServerSideTransaction\", \"optional\": true }\n    },\n    \"isServerSideGroup\": {\n      \"description\": \"/** SSRM Tree Data: Allows specifying which rows are expandable. */\",\n      \"type\": { \"returnType\": \"IsServerSideGroup\", \"optional\": true }\n    },\n    \"getServerSideGroupKey\": {\n      \"description\": \"/** SSRM Tree Data: Allows specifying group keys. */\",\n      \"type\": { \"returnType\": \"GetServerSideGroupKey\", \"optional\": true }\n    },\n    \"getBusinessKeyForNode\": {\n      \"description\": \"/** Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-id='abc'` where `abc` is what you return as the business key.\\n     * This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"node\": \"IRowNode<TData>\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"getRowNodeId\": {\n      \"description\": \"/** @deprecated v27.1 Use `getRowId` instead - however be aware, `getRowId()` will also set grid option `immutableData=true`\\n     * Allows you to set the ID for a particular row node based on the data. */\",\n      \"type\": { \"returnType\": \"GetRowNodeIdFunc<TData>\", \"optional\": true }\n    },\n    \"getRowId\": {\n      \"description\": \"/** Allows setting the ID for a particular row node based on the data. */\",\n      \"type\": { \"returnType\": \"GetRowIdFunc<TData>\", \"optional\": true }\n    },\n    \"resetRowDataOnUpdate\": {\n      \"description\": \"/** When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset.  Default: `false` */\",\n      \"type\": { \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"processRowPostCreate\": {\n      \"description\": \"/** Allows you to process rows after they are created, so you can do final adding of custom attributes etc. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ProcessRowParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"isRowSelectable\": {\n      \"description\": \"/** Callback to be used to determine which rows are selectable. By default rows are selectable, so return `false` to make a row un-selectable. */\",\n      \"type\": { \"returnType\": \"IsRowSelectable<TData>\", \"optional\": true }\n    },\n    \"isRowMaster\": {\n      \"description\": \"/** Callback to be used with Master Detail to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. */\",\n      \"type\": { \"returnType\": \"IsRowMaster<TData>\", \"optional\": true }\n    },\n    \"fillOperation\": {\n      \"description\": \"/** Callback to fill values instead of simply copying values or increasing number values using linear progression. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"FillOperationParams<TData>\" },\n        \"returnType\": \"any\",\n        \"optional\": true\n      }\n    },\n    \"postSort\": {\n      \"description\": \"/** @deprecated v27.2 Use `postSortRows` instead */\",\n      \"type\": {\n        \"arguments\": { \"nodes\": \"IRowNode<TData>[]\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"postSortRows\": {\n      \"description\": \"/** Callback to perform additional sorting after the grid has sorted the rows. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"PostSortRowsParams<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getRowStyle\": {\n      \"description\": \"/** Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n        \"returnType\": \"RowStyle | undefined\",\n        \"optional\": true\n      }\n    },\n    \"getRowClass\": {\n      \"description\": \"/** Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowClassParams<TData>\" },\n        \"returnType\": \"string | string[] | undefined\",\n        \"optional\": true\n      }\n    },\n    \"getRowHeight\": {\n      \"description\": \"/** Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"RowHeightParams<TData>\" },\n        \"returnType\": \"number | undefined | null\",\n        \"optional\": true\n      }\n    },\n    \"isFullWidthCell\": {\n      \"description\": \"/** @deprecated v27.2 Use `isFullWidthRow` instead. */\",\n      \"type\": {\n        \"arguments\": { \"rowNode\": \"IRowNode<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"isFullWidthRow\": {\n      \"description\": \"/** Tells the grid if this row should be rendered as full width. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IsFullWidthRowParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": true\n      }\n    },\n    \"onToolPanelVisibleChanged\": {\n      \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n    },\n    \"toolPanelVisibleChanged\": {\n      \"description\": \"/** The tool panel was hidden or shown. Use `api.isToolPanelShowing()` to get status. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelVisibleChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelVisibleChanged\" }\n    },\n    \"onToolPanelSizeChanged\": {\n      \"description\": \"/** The tool panel size has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n    },\n    \"toolPanelSizeChanged\": {\n      \"description\": \"/** The tool panel size has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ToolPanelSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onToolPanelSizeChanged\" }\n    },\n    \"onPasteStart\": {\n      \"description\": \"/** Paste operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n    },\n    \"pasteStart\": {\n      \"description\": \"/** Paste operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteStartEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteStart\" }\n    },\n    \"onPasteEnd\": {\n      \"description\": \"/** Paste operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n    },\n    \"pasteEnd\": {\n      \"description\": \"/** Paste operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PasteEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPasteEnd\" }\n    },\n    \"onColumnVisible\": {\n      \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n    },\n    \"columnVisible\": {\n      \"description\": \"/** A column, or group of columns, was hidden / shown. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnVisibleEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnVisible\" }\n    },\n    \"onColumnPinned\": {\n      \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n    },\n    \"columnPinned\": {\n      \"description\": \"/** A column, or group of columns, was pinned / unpinned. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPinnedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPinned\" }\n    },\n    \"onColumnResized\": {\n      \"description\": \"/** A column was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n    },\n    \"columnResized\": {\n      \"description\": \"/** A column was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnResizedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnResized\" }\n    },\n    \"onColumnMoved\": {\n      \"description\": \"/** A column was moved. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n    },\n    \"columnMoved\": {\n      \"description\": \"/** A column was moved. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnMovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnMoved\" }\n    },\n    \"onColumnValueChanged\": {\n      \"description\": \"/** A value column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n    },\n    \"columnValueChanged\": {\n      \"description\": \"/** A value column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChanged\" }\n    },\n    \"onColumnPivotModeChanged\": {\n      \"description\": \"/** The pivot mode flag was changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n    },\n    \"columnPivotModeChanged\": {\n      \"description\": \"/** The pivot mode flag was changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotModeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotModeChanged\" }\n    },\n    \"onColumnPivotChanged\": {\n      \"description\": \"/** A pivot column was added, removed or order changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n    },\n    \"columnPivotChanged\": {\n      \"description\": \"/** A pivot column was added, removed or order changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChanged\" }\n    },\n    \"onColumnGroupOpened\": {\n      \"description\": \"/** A column group was opened / closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n    },\n    \"columnGroupOpened\": {\n      \"description\": \"/** A column group was opened / closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnGroupOpened\" }\n    },\n    \"onNewColumnsLoaded\": {\n      \"description\": \"/** User set new columns. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n    },\n    \"newColumnsLoaded\": {\n      \"description\": \"/** User set new columns. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"NewColumnsLoadedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onNewColumnsLoaded\" }\n    },\n    \"onGridColumnsChanged\": {\n      \"description\": \"/** The list of grid columns changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n    },\n    \"gridColumnsChanged\": {\n      \"description\": \"/** The list of grid columns changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridColumnsChanged\" }\n    },\n    \"onDisplayedColumnsChanged\": {\n      \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n    },\n    \"displayedColumnsChanged\": {\n      \"description\": \"/** The list of displayed columns changed. This can result from columns open / close, column move, pivot, group, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DisplayedColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDisplayedColumnsChanged\" }\n    },\n    \"onVirtualColumnsChanged\": {\n      \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n    },\n    \"virtualColumnsChanged\": {\n      \"description\": \"/** The list of rendered columns changed (only columns in the visible scrolled viewport are rendered by default). */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualColumnsChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualColumnsChanged\" }\n    },\n    \"onColumnEverythingChanged\": {\n      \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n    },\n    \"columnEverythingChanged\": {\n      \"description\": \"/** Shotgun - gets called when either a) new columns are set or b) `columnApi.applyColumnState()` is used, so everything has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnEverythingChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnEverythingChanged\" }\n    },\n    \"onComponentStateChanged\": {\n      \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n    },\n    \"componentStateChanged\": {\n      \"description\": \"/** Only used by Angular, React and VueJS AG Grid components (not used if doing plain JavaScript).\\n     * If the grid receives changes due to bound properties, this event fires after the grid has finished processing the change.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ComponentStateChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onComponentStateChanged\" }\n    },\n    \"onCellValueChanged\": {\n      \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n    },\n    \"cellValueChanged\": {\n      \"description\": \"/** Value has changed after editing (this event will not fire if editing was cancelled, eg ESC was pressed) or\\n     *  if cell value has changed as a result of cut, paste, cell clear (pressing Delete key),\\n     * fill handle, copy range down, undo and redo.\\n    */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellValueChanged\" }\n    },\n    \"onCellEditRequest\": {\n      \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n    },\n    \"cellEditRequest\": {\n      \"description\": \"/** Value has changed after editing. Only fires when `readOnlyEdit=true`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditRequest\" }\n    },\n    \"onRowValueChanged\": {\n      \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n    },\n    \"rowValueChanged\": {\n      \"description\": \"/** A cell's value within a row has changed. This event corresponds to Full Row Editing only. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowValueChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowValueChanged\" }\n    },\n    \"onCellEditingStarted\": {\n      \"description\": \"/** Editing a cell has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n    },\n    \"cellEditingStarted\": {\n      \"description\": \"/** Editing a cell has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStarted\" }\n    },\n    \"onCellEditingStopped\": {\n      \"description\": \"/** Editing a cell has stopped. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n    },\n    \"cellEditingStopped\": {\n      \"description\": \"/** Editing a cell has stopped. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellEditingStopped\" }\n    },\n    \"onRowEditingStarted\": {\n      \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n    },\n    \"rowEditingStarted\": {\n      \"description\": \"/** Editing a row has started (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStarted` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStarted\" }\n    },\n    \"onRowEditingStopped\": {\n      \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n    },\n    \"rowEditingStopped\": {\n      \"description\": \"/** Editing a row has stopped (when row editing is enabled). When row editing, this event will be fired once and `cellEditingStopped` will be fired for each individual cell. Only fires when doing Full Row Editing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowEditingStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowEditingStopped\" }\n    },\n    \"onUndoStarted\": {\n      \"description\": \"/** Undo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n    },\n    \"undoStarted\": {\n      \"description\": \"/** Undo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoStarted\" }\n    },\n    \"onUndoEnded\": {\n      \"description\": \"/** Undo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n    },\n    \"undoEnded\": {\n      \"description\": \"/** Undo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"UndoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onUndoEnded\" }\n    },\n    \"onRedoStarted\": {\n      \"description\": \"/** Redo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n    },\n    \"redoStarted\": {\n      \"description\": \"/** Redo operation has started. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoStarted\" }\n    },\n    \"onRedoEnded\": {\n      \"description\": \"/** Redo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n    },\n    \"redoEnded\": {\n      \"description\": \"/** Redo operation has ended. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RedoEndedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRedoEnded\" }\n    },\n    \"onFilterOpened\": {\n      \"description\": \"/** Filter has been opened. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n    },\n    \"filterOpened\": {\n      \"description\": \"/** Filter has been opened. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterOpened\" }\n    },\n    \"onFilterChanged\": {\n      \"description\": \"/** Filter has been modified and applied. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n    },\n    \"filterChanged\": {\n      \"description\": \"/** Filter has been modified and applied. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterChanged\" }\n    },\n    \"onFilterModified\": {\n      \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n    },\n    \"filterModified\": {\n      \"description\": \"/** Filter was modified but not applied. Used when filters have 'Apply' buttons. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FilterModifiedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFilterModified\" }\n    },\n    \"onChartCreated\": {\n      \"description\": \"/** A chart has been created. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n    },\n    \"chartCreated\": {\n      \"description\": \"/** A chart has been created. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartCreated<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartCreated\" }\n    },\n    \"onChartRangeSelectionChanged\": {\n      \"description\": \"/** The data range for the chart has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n    },\n    \"chartRangeSelectionChanged\": {\n      \"description\": \"/** The data range for the chart has been changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartRangeSelectionChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartRangeSelectionChanged\" }\n    },\n    \"onChartOptionsChanged\": {\n      \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n    },\n    \"chartOptionsChanged\": {\n      \"description\": \"/** Formatting changes have been made by users through the Format Panel. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartOptionsChanged<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartOptionsChanged\" }\n    },\n    \"onChartDestroyed\": {\n      \"description\": \"/** A chart has been destroyed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n    },\n    \"chartDestroyed\": {\n      \"description\": \"/** A chart has been destroyed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ChartDestroyed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onChartDestroyed\" }\n    },\n    \"onCellKeyDown\": {\n      \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n    },\n    \"cellKeyDown\": {\n      \"description\": \"/** DOM event `keyDown` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyDownEvent<TData> | FullWidthCellKeyDownEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyDown\" }\n    },\n    \"onCellKeyPress\": {\n      \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n    },\n    \"cellKeyPress\": {\n      \"description\": \"/** DOM event `keyPress` happened on a cell. */\",\n      \"type\": {\n        \"arguments\": {\n          \"event\": \"CellKeyPressEvent<TData> | FullWidthCellKeyPressEvent<TData>\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellKeyPress\" }\n    },\n    \"onGridReady\": {\n      \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n    },\n    \"gridReady\": {\n      \"description\": \"/** The grid has initialised and is ready for most api calls, but may not be fully rendered yet  */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridReadyEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridReady\" }\n    },\n    \"onFirstDataRendered\": {\n      \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n    },\n    \"firstDataRendered\": {\n      \"description\": \"/** Fired the first time data is rendered into the grid. Use this event if you want to auto resize columns based on their contents */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"FirstDataRenderedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onFirstDataRendered\" }\n    },\n    \"onGridSizeChanged\": {\n      \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n    },\n    \"gridSizeChanged\": {\n      \"description\": \"/** The size of the grid `div` has changed. In other words, the grid was resized. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"GridSizeChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onGridSizeChanged\" }\n    },\n    \"onModelUpdated\": {\n      \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n    },\n    \"modelUpdated\": {\n      \"description\": \"/** Displayed rows have changed. Triggered after sort, filter or tree expand / collapse events. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ModelUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onModelUpdated\" }\n    },\n    \"onVirtualRowRemoved\": {\n      \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n    },\n    \"virtualRowRemoved\": {\n      \"description\": \"/** A row was removed from the DOM, for any reason. Use to clean up resources (if any) used by the row. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"VirtualRowRemovedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onVirtualRowRemoved\" }\n    },\n    \"onViewportChanged\": {\n      \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n    },\n    \"viewportChanged\": {\n      \"description\": \"/** Which rows are rendered in the DOM has changed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ViewportChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onViewportChanged\" }\n    },\n    \"onBodyScroll\": {\n      \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n    },\n    \"bodyScroll\": {\n      \"description\": \"/** The body was scrolled horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScroll\" }\n    },\n    \"onBodyScrollEnd\": {\n      \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n    },\n    \"bodyScrollEnd\": {\n      \"description\": \"/** Main body of the grid has stopped scrolling, either horizontally or vertically. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"BodyScrollEndEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onBodyScrollEnd\" }\n    },\n    \"onDragStarted\": {\n      \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n    },\n    \"dragStarted\": {\n      \"description\": \"/** When dragging starts. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStartedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStarted\" }\n    },\n    \"onDragStopped\": {\n      \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n    },\n    \"dragStopped\": {\n      \"description\": \"/** When dragging stops. This could be any action that uses the grid's Drag and Drop service, e.g. Column Moving, Column Resizing, Range Selection, Fill Handle, etc. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"DragStoppedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onDragStopped\" }\n    },\n    \"onPaginationChanged\": {\n      \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n    },\n    \"paginationChanged\": {\n      \"description\": \"/** Triggered every time the paging state changes. Some of the most common scenarios for this event to be triggered are:\\n     *\\n     *  - The page size changes.\\n     *  - The current shown page is changed.\\n     *  - New data is loaded onto the grid.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PaginationChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPaginationChanged\" }\n    },\n    \"onRowDragEnter\": {\n      \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n    },\n    \"rowDragEnter\": {\n      \"description\": \"/** A drag has started, or dragging was already started and the mouse has re-entered the grid having previously left the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnter\" }\n    },\n    \"onRowDragMove\": {\n      \"description\": \"/** The mouse has moved while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n    },\n    \"rowDragMove\": {\n      \"description\": \"/** The mouse has moved while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragMove\" }\n    },\n    \"onRowDragLeave\": {\n      \"description\": \"/** The mouse has left the grid while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n    },\n    \"rowDragLeave\": {\n      \"description\": \"/** The mouse has left the grid while dragging. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragLeave\" }\n    },\n    \"onRowDragEnd\": {\n      \"description\": \"/** The drag has finished over the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n    },\n    \"rowDragEnd\": {\n      \"description\": \"/** The drag has finished over the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDragEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDragEnd\" }\n    },\n    \"onColumnRowGroupChanged\": {\n      \"description\": \"/** A row group column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n    },\n    \"columnRowGroupChanged\": {\n      \"description\": \"/** A row group column was added or removed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChanged\" }\n    },\n    \"onRowGroupOpened\": {\n      \"description\": \"/** A row group was opened or closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"rowGroupOpened\": {\n      \"description\": \"/** A row group was opened or closed. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowGroupOpenedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowGroupOpened\" }\n    },\n    \"onExpandOrCollapseAll\": {\n      \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n    },\n    \"expandOrCollapseAll\": {\n      \"description\": \"/** Fired when calling either of the API methods `expandAll()` or `collapseAll()`. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ExpandCollapseAllEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onExpandOrCollapseAll\" }\n    },\n    \"onPinnedRowDataChanged\": {\n      \"description\": \"/** The client has set new pinned row data into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n    },\n    \"pinnedRowDataChanged\": {\n      \"description\": \"/** The client has set new pinned row data into the grid. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"PinnedRowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onPinnedRowDataChanged\" }\n    },\n    \"onRowDataChanged\": {\n      \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n    },\n    \"rowDataChanged\": {\n      \"description\": \"/** @deprecated v28 No longer fired, use onRowDataUpdated instead */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataChanged\" }\n    },\n    \"onRowDataUpdated\": {\n      \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n    },\n    \"rowDataUpdated\": {\n      \"description\": \"/** The client has updated data for the grid by either a) setting new Row Data or b) Applying a Row Transaction. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDataUpdatedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDataUpdated\" }\n    },\n    \"onAsyncTransactionsFlushed\": {\n      \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n    },\n    \"asyncTransactionsFlushed\": {\n      \"description\": \"/** Async transactions have been applied. Contains a list of all transaction results. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"AsyncTransactionsFlushed<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onAsyncTransactionsFlushed\" }\n    },\n    \"onStoreRefreshed\": {\n      \"description\": \"/** A server side store has finished refreshing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n    },\n    \"storeRefreshed\": {\n      \"description\": \"/** A server side store has finished refreshing. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"StoreRefreshedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onStoreRefreshed\" }\n    },\n    \"onCellClicked\": {\n      \"description\": \"/** Cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n    },\n    \"cellClicked\": {\n      \"description\": \"/** Cell is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellClicked\" }\n    },\n    \"onCellDoubleClicked\": {\n      \"description\": \"/** Cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n    },\n    \"cellDoubleClicked\": {\n      \"description\": \"/** Cell is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellDoubleClicked\" }\n    },\n    \"onCellFocused\": {\n      \"description\": \"/** Cell is focused. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n    },\n    \"cellFocused\": {\n      \"description\": \"/** Cell is focused. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellFocusedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellFocused\" }\n    },\n    \"onCellMouseOver\": {\n      \"description\": \"/** Mouse entered cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n    },\n    \"cellMouseOver\": {\n      \"description\": \"/** Mouse entered cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOverEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOver\" }\n    },\n    \"onCellMouseOut\": {\n      \"description\": \"/** Mouse left cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n    },\n    \"cellMouseOut\": {\n      \"description\": \"/** Mouse left cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseOutEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseOut\" }\n    },\n    \"onCellMouseDown\": {\n      \"description\": \"/** Mouse down on cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n    },\n    \"cellMouseDown\": {\n      \"description\": \"/** Mouse down on cell. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellMouseDownEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellMouseDown\" }\n    },\n    \"onRowClicked\": {\n      \"description\": \"/** Row is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n    },\n    \"rowClicked\": {\n      \"description\": \"/** Row is clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowClicked\" }\n    },\n    \"onRowDoubleClicked\": {\n      \"description\": \"/** Row is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n    },\n    \"rowDoubleClicked\": {\n      \"description\": \"/** Row is double clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowDoubleClickedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowDoubleClicked\" }\n    },\n    \"onRowSelected\": {\n      \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n    },\n    \"rowSelected\": {\n      \"description\": \"/** Row is selected or deselected. The event contains the node in question, so call the node's `isSelected()` method to see if it was just selected or deselected. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RowSelectedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRowSelected\" }\n    },\n    \"onSelectionChanged\": {\n      \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n    },\n    \"selectionChanged\": {\n      \"description\": \"/** Row selection is changed. Use the grid API `getSelectedNodes()` or `getSelectedRows()` to get the new list of selected nodes / row data. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSelectionChanged\" }\n    },\n    \"onCellContextMenu\": {\n      \"description\": \"/** Cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n    },\n    \"cellContextMenu\": {\n      \"description\": \"/** Cell is right clicked. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"CellContextMenuEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onCellContextMenu\" }\n    },\n    \"onRangeSelectionChanged\": {\n      \"description\": \"/** A change to range selection has occurred. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n    },\n    \"rangeSelectionChanged\": {\n      \"description\": \"/** A change to range selection has occurred. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"RangeSelectionChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onRangeSelectionChanged\" }\n    },\n    \"onSortChanged\": {\n      \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n    },\n    \"sortChanged\": {\n      \"description\": \"/** Sort has changed. The grid also listens for this and updates the model. */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"SortChangedEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onSortChanged\" }\n    },\n    \"onColumnRowGroupChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n    },\n    \"columnRowGroupChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnRowGroupChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnRowGroupChangeRequest\" }\n    },\n    \"onColumnPivotChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n    },\n    \"columnPivotChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnPivotChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnPivotChangeRequest\" }\n    },\n    \"onColumnValueChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n    },\n    \"columnValueChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnValueChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnValueChangeRequest\" }\n    },\n    \"onColumnAggFuncChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n    },\n    \"columnAggFuncChangeRequest\": {\n      \"description\": \"/** @deprecated v29.2 */\",\n      \"type\": {\n        \"arguments\": { \"event\": \"ColumnAggFuncChangeRequestEvent<TData>\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      },\n      \"meta\": { \"isEvent\": true, \"name\": \"onColumnAggFuncChangeRequest\" }\n    },\n    \"api\": {\n      \"description\": \"/** The Grid Api for interacting with the grid.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"type\": { \"returnType\": \"GridApi<TData> | null\", \"optional\": true }\n    },\n    \"columnApi\": {\n      \"description\": \"/** The Column Api for interacting with the grid columns.\\n     * Set by the grid on init, set to null on destroy.\\n     */\",\n      \"type\": { \"returnType\": \"ColumnApi | null\", \"optional\": true }\n    }\n  },\n  \"AgReactComponent\": {\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"IHeaderGroupReactComp\": {\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"IHeaderReactComp\": {\n    \"refresh\": {\n      \"description\": \"/** Get the header to refresh. Gets called whenever Column Defs are updated. */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IHeaderParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"IDateReactComp\": {\n    \"getDate\": {\n      \"description\": \"/** Returns the current date represented by this component */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"Date | null\",\n        \"optional\": false\n      }\n    },\n    \"setDate\": {\n      \"description\": \"/** Sets the date represented by this component */\",\n      \"type\": {\n        \"arguments\": { \"date\": \"Date | null\" },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"setDisabled\": {\n      \"description\": \"/** Optional: Sets the disabled state of this component */\",\n      \"type\": {\n        \"arguments\": { \"disabled\": \"boolean\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"setInputPlaceholder\": {\n      \"description\": \"/** Optional: Sets the current input placeholder */\",\n      \"type\": {\n        \"arguments\": { \"placeholder\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"setInputAriaLabel\": {\n      \"description\": \"/** Optional: Sets the current input aria label */\",\n      \"type\": {\n        \"arguments\": { \"placeholder\": \"string\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** Optional: A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"IFilterReactComp\": {\n    \"isFilterActive\": {\n      \"description\": \"/** Returns `true` if the filter is currently active, otherwise `false`. \\n     * If active then 1) the grid will show the filter icon in the column header \\n     * and 2) the filter will be included in the filtering of the data.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": false }\n    },\n    \"doesFilterPass\": {\n      \"description\": \"/** The grid will ask each active filter, in turn, whether each row in the grid passes. If any\\n     * filter fails, then the row will be excluded from the final set. The method is provided a\\n     * params object with attributes node (the rodNode the grid creates that wraps the data) and data\\n     * (the data object that you provided to the grid for that row).\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"IDoesFilterPassParams\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"getModel\": {\n      \"description\": \"/** Returns a model representing the current state of the filter, or `null` if the filter is\\n     * not active. The grid calls `getModel()` on all active filters when `gridApi.getFilterModel()` is called.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"setModel\": {\n      \"description\": \"/** Sets the state of the filter using the supplied model. Providing `null` as the model will\\n     * de-activate the filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"void | AgPromise<void>\",\n        \"optional\": false\n      }\n    },\n    \"onNewRowsLoaded\": {\n      \"description\": \"/** Gets called when new rows are inserted into the grid. If the filter needs to change its\\n     state after rows are loaded, it can do it here. For example the set filters uses this\\n     to update the list of available values to select from (e.g. 'Ireland', 'UK' etc for\\n     Country filter). To get the list of available values from within this method from the\\n    Client Side Row Model, use `gridApi.forEachLeafNode(callback)`.\\n    */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"onAnyFilterChanged\": {\n      \"description\": \"/** Called whenever any filter is changed. */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getModelAsString\": {\n      \"description\": \"/** Optional method used by AG Grid when rendering floating filters and there isn't a floating filter\\n     * associated for this filter, this will happen if you create a custom filter and NOT a custom floating\\n     * filter.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"model\": \"any\" },\n        \"returnType\": \"string\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params?\": \"IAfterGuiAttachedParams\" },\n        \"returnType\": \"void\",\n        \"optional\": true\n      }\n    },\n    \"afterGuiDetached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been removed from the screen.\\n     * If a parent popup is opened and closed (e.g. for filters), this method is called each time the component is hidden.\\n     * This is useful for any logic to reset the UI state back to the model before the component is reopened.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"IFloatingFilterReactComp\": {\n    \"onParentModelChanged\": {\n      \"description\": \"/** Gets called every time the parent filter changes.\\n     * Your floating filter would typically refresh its UI to reflect the new filter state.\\n     * The provided parentModel is what the parent filter returns from its getModel() method.\\n     * The event is the FilterChangedEvent that the grid fires.\\n     */\",\n      \"type\": {\n        \"arguments\": {\n          \"parentModel\": \"any\",\n          \"filterChangedEvent?\": \"FilterChangedEvent | null\"\n        },\n        \"returnType\": \"void\",\n        \"optional\": false\n      }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * If a parent popup is closed and reopened (e.g. for filters), this method is called each time the component is shown.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"ICellRendererReactComp\": {\n    \"refresh\": {\n      \"description\": \"/** Get the cell to refresh. Return true if successful. Return false if not (or you don't have refresh logic),\\n     * then the grid will refresh the cell for you.\\n     */\",\n      \"type\": {\n        \"arguments\": { \"params\": \"ICellRendererParams<TData>\" },\n        \"returnType\": \"boolean\",\n        \"optional\": false\n      }\n    },\n    \"meta\": { \"typeParams\": [\"TData = any\"] },\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"ICellEditorReactComp\": {\n    \"getValue\": {\n      \"description\": \"/** Return the final value - called by the grid once after editing is complete\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"any\", \"optional\": false }\n    },\n    \"isPopup\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will\\n     * appear in a popup, so is not constrained to the boundaries of the cell.\\n     * This is great if you want to, for example, provide you own custom dropdown list\\n     * for selection. Default is false (ie if you don't provide the method).\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"getPopupPosition\": {\n      \"description\": \"/** Gets called once, only if isPopup() returns true. Return \\\"over\\\" if the popup\\n     * should cover the cell, or \\\"under\\\" if it should be positioned below leaving the\\n     * cell value visible. If this method is not present, the default is \\\"over\\\".\\n     */\",\n      \"type\": {\n        \"arguments\": {},\n        \"returnType\": \"'over' | 'under' | undefined\",\n        \"optional\": true\n      }\n    },\n    \"isCancelBeforeStart\": {\n      \"description\": \"/** Gets called once after initialised. If you return true, the editor will not be\\n     * used and the grid will continue editing. Use this to make a decision on editing\\n     * inside the init() function, eg maybe you want to only start editing if the user\\n     * hits a numeric key, but not a letter, if the editor is for numbers.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"isCancelAfterEnd\": {\n      \"description\": \"/** Gets called once after editing is complete. If your return true, then the new\\n     * value will not be used. The editing will have no impact on the record. Use this\\n     * if you do not want a new value from your gui, i.e. you want to cancel the editing.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"boolean\", \"optional\": true }\n    },\n    \"focusIn\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus should be put into the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"focusOut\": {\n      \"description\": \"/** If doing full line edit, then gets called when focus is leaving the editor\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"afterGuiAttached\": {\n      \"description\": \"/** A hook to perform any necessary operation just after the GUI for this component has been rendered on the screen.\\n     * This method is called each time the edit component is activated.\\n     * This is useful for any logic that requires attachment before executing, such as putting focus on a particular DOM element.\\n     */\",\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": true }\n    },\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"ILoadingCellRendererReactComp\": {\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"ILoadingOverlayReactComp\": {\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"INoRowsOverlayReactComp\": {\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"IStatusPanelReactComp\": {\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"IToolPanelReactComp\": {\n    \"refresh\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"void\", \"optional\": false }\n    },\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  },\n  \"ITooltipReactComp\": {\n    \"getReactContainerStyle\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"{}\", \"optional\": true }\n    },\n    \"getReactContainerClasses\": {\n      \"type\": { \"arguments\": {}, \"returnType\": \"string[]\", \"optional\": true }\n    }\n  }\n}\n"}}]}}}